executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
navigation-environmentOperate and validate the GazeboEnv observation, action, reset, timing, and reward contract for the ROS/Gazebo Velodyne navigation environment without requiring a live simulator.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this skill when a downstream agent needs to reason about the mobile-robot
GazeboEnv interface, prepare a compatible observation/action, diagnose a
sensor or ROS integration failure, or check a synthetic transition. This skill
is a distilled contract, not a simulator launcher and not a TD3 training guide.
environment_dim=20 and four
robot features, so every observation is a flat numeric vector of length 24.reset returns the two action slots as 0; step places the action used for
that transition in them. There is no separate previous-action history in
the implementation, so do not invent one.[linear_x, angular_z]: linear is in
[0, 1], angular is in [-1, 1]. step publishes these values directly;
it does not rescale them. A TD3 actor output in [-1, 1] therefore needs its
first component mapped with (a_linear + 1) / 2 before calling step.done becomes true on a laser collision or a goal hit. A goal hit is
reported separately as target=True; collision and target reward priority
is target first, then collision.scripts/validate_navigation_contract.py for offline numeric checks.
It imports no ROS package, starts no process, and is the preferred check for
state length, action range, point-bin fixtures, and threshold behavior.numpy and squaternion). A live run additionally needs roscore,
roslaunch, Gazebo, and a built catkin workspace with the scenario and
Velodyne plugin packages. This host-independent skill does not install or
launch any of them.assets directory, not the caller's current directory. The repository's
multi_robot_scenario.launch includes the empty TD3 world and spawns model
r1.[-1, 1] for both
dimensions, transform only the linear component before using this
environment contract.reset and step as ROS-dependent calls. A valid offline vector
does not prove that odometry, PointCloud2, publishers, or physics services
are connected.This skill covers constructor prerequisites and launch resolution, point-cloud reduction, state/action/reward semantics, reset randomization, ROS interfaces, and predictable numeric/integration failures. Do not use it to explain TD3 network architecture, replay-buffer behavior, optimizer settings, training loops, model checkpoints, or installation procedures beyond naming prerequisites. See the bundled references for the detailed contract and troubleshooting.
The source callback has no explicit finite-value or zero-horizontal-range
guard. Use the validator's stricter finite-input policy for synthetic data;
never turn NaN or an acos domain error into a claimed sensor reading.
The contract was distilled from the pinned repository's environment module,
launch file, scenario xacro/URDF, Velodyne description and Gazebo plugin, and
training caller. The offline validator is checked with its help/parser path,
self-test, a valid 24-value fixture, invalid 23/25-value fixtures, action-range
mismatches, a synthetic point cloud, and strict threshold cases. No ROS,
Gazebo, roscore, roslaunch, or catkin runtime is claimed or required here.