计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
navigation-environment【效率与协作】Operate and validate the GazeboEnv observation, action, reset, timing, and reward contract for the ROS/Gazebo Velodyne navigation environment without requiring a live simulator.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
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.