Contents — find the section you need
Change parameters and verify
Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.
Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.
The experiment controls are in English.
Explore footprint geometry in your browser
Change the rectangular body dimensions, corridor width, heading and lateral offset in the panel above. The diagram and signed gaps describe an exact rectangle between two infinite parallel walls. No ROS or local Python is required. The diagnostic workflow below remains separate from this geometry exercise.
The rectangle centre is the supplied reference point. World x runs along the corridor, world y points across it, and positive heading rotates counterclockwise from +x. Length L lies along body x; width B lies along body y. Walls lie at y=±W/2 and the centre at (0,e). For heading θ, the transverse span is S=L|sin θ|+B|cos θ|. The upper-wall gap is W/2−e−S/2, the lower-wall gap is W/2+e−S/2, and the minimum is W/2−|e|−S/2. Positive means separation; zero means contact; negative means overlap with a wall half-plane. These are signed transverse gaps, not general polygon-distance or costmap outputs. The numerical contact label uses a tolerance of 10⁻¹² m, not an operating margin.
The default 0.60 m width in a 0.80 m corridor gives 0.10 m on each side at zero heading and offset. Try a 30° heading, a 0.10 m offset, a 90° heading, or a wider corridor. Changing heading can move a corner into a wall even when the aligned width fits. A/B uses equal x/y scales and a common extent across both results; the table lists all four transformed corners in metres.
The dashed circle has radius R=√(L²+B²)/2. It bounds all orientations during a full rotation about the fixed rectangle centre. The minimum gap over that full rotation is W/2−|e|−R, calculated analytically rather than from sampled angles. This is not the gap for a particular requested turn, a planned swept path or a kinematically feasible manoeuvre. A 90° pose can fit while intermediate orientations overlap. The rectangle dimensions describe the entire assumed outline; there is no additional footprint padding.
All inputs are synthetic teaching choices. There are no map cells, obstacle observations, inflation costs, localization uncertainty, payload model, TF, planner, controller, velocity commands or actual Nav2 execution. A positive geometric gap does not establish passage feasibility or operating safety. The full-turn circle is an explanatory envelope, not a proposed robot_radius configuration. Nav2's tuning guide distinguishes robot footprint choices from inflation potential fields; the inflation parameters describe costs that this exercise does not compute. References reviewed 2026-09-20.
For supplied map/pose/goal checks, use the separate navigation Lab. Continue below to inspect why a real navigation stack may stop.
可见路径并不能保证从当前位姿存在可行的速度指令。请分别诊断规划和执行过程。此工作流程针对 ROS 2/Nav2 Jazzy,并已对照文档进行验证;它并非硬件驱动报告。
捕获一个停止区间
收集全局路径、局部/全局代价图、足迹、TF、里程计、速度指令、动作结果和日志。在 RViz 中以一致的时间和帧叠加数据。不要将启动数据与后续快照视为同时发生。rosbag2 replay 有助于固定输入。
检查物理几何
一个 0.60 米宽的机器人位于 0.80 米宽的走廊中心并对齐,两侧各有 0.10 米的间隙。此静态计算不包含定位误差、映射的墙体厚度、有效载荷以及旋转过程中的拐角扫描。矩形的所需宽度会随方向而变化。
足迹描述的是一个多边形;robot_radius 提供了一个圆形近似值。将配置的轮廓与 RViz 进行比较,检查米数、base_link 原点以及突出的传感器或负载。Nav2 调优指南 涵盖了形状和成本字段。不要为了移除一个挡块而缩小实际机器人的轮廓。
成本并不等同于物理墙体的成本
障碍物层包含观测数据;膨胀层会将与距离相关的成本扩散到障碍物周围。inflation_radius 设置其范围,而 cost_scaling_factor 控制指数衰减。在其他条件固定的情况下,更大的缩放因子会产生更快的衰减。请参阅膨胀层参数。
并非所有高成本区域都是绝对禁区,而且单独使用 inflation_radius 并不能保证最小的本体间隙。考虑碰撞检测、足迹以及每个规划器/控制器的成本使用情况。如果全局地图允许通行,但局部地图仍保留旧障碍物,则首先检查清除情况、观察范围和有效的 TF 时间戳。
将路径连接到可行运动
路径指定行进方向。控制器必须生成与当前速度和约束条件一致的运动。在狭窄空间内进行大幅度方向变化、对具有最小转弯半径的车辆进行原地转弯,或加速度限制都可能导致候选运动不可行。
控制器服务器文档描述了控制器、进度检查器和目标检查器的选择。进度和到达是不同的条件。在检查插件特定的约束条件之前,请记录插件名称和错误。
追踪命令消失的位置
| 观察 | 下次检查 |
|---|---|
| 控制器无法生成有效命令 | 局部成本地图、TF、运动限制和候选轨迹 |
| 控制器输出非零,但最终输出为零 | 更平滑的碰撞监控、停止输入和命令优先级 |
| 最终输出非零,但车轮不移动 | 主题/类型、驱动程序、启用状态和控制模式 |
| 机器人移动但很快报告故障 | 里程计与实际移动和进度条件 |
不要假设名为 /cmd_vel 的主题是最终阶段。配置包含中间主题,并且可能使用 Twist 或 TwistStamped。使用 ros2 topic info <actual-topic> --verbose 检查实际的发布者、订阅者和类型。诊断触发停止的条件,而不是禁用停止功能。
一次评估一个更改
修复通道、初始位姿、目标、地图和输入日志。更改一个项目,然后比较最小间隙、停止次数、命令和故障原因以及到达情况。0.10 米的算术示例无法确定安全操作间隙;实际尺寸、误差和操作条件需要单独评估。
如果启动本身不稳定,请恢复到最小Nav2配置。稳定的配置更容易区分映射故障和驱动程序故障。
评论
请先登录。
暂无数据。