三车画圆
三台车在同一个圆上分别取起点,初始相隔120°,先到起点并对齐切线,再同时沿圆运动。每台车都有自己的路径跟踪器。
圆放在哪里
默认直径2m,逆时针,一圈。01在定位有效时的位置作为第一起点,车头方向作为初始切线;圆心在车头左侧1m。clockwise:=true时圆在右侧。
例如01在world(0,0),朝向+X,默认圆心为(0,1)。02、03的初始目标在另外两个等分位置,并朝各自切线方向。示意图展示的是这种情况,实际位置随01启动位姿确定。
origin在圆形实验里表示第一起点位姿,不是圆心。图形冻结后,不会随01移动而重新生成。
启动
先完成公共后台与定位检查,退出同组车辆的旧实验,确认整个圆和入位路线有足够空间。
roslaunch abc_swarm demo_mocap_three_mini_circle_tracking.launch start_driver:=false start_vrpn:=false默认先用普通点镇定到三个起点,不包含ORCA。全部位置、朝向和实测停车稳定后进入tracking_circle;一圈结束后修正最终位姿,完成后持续停车。
RViz默认显示三条计划路径、当前目标和动捕TF。同圆路径会重合;三个起点可通过目标箭头和车名识别。
调整尺寸与方向
直径改为1.5m:
roslaunch abc_swarm demo_mocap_three_mini_circle_tracking.launch start_driver:=false start_vrpn:=false diameter:=1.5需要起点互避时,启动命令加avoidance:=orca;它只作用于起点入位,路径跟踪段没有ORCA避障。speed为路径速度,默认0.15m/s;clockwise选择方向,laps选择圈数,0表示持续运行并由操作者停止。
三台运行中不按最慢车进度缩放速度,因此初始120°不意味着运行过程中自动锁定相位。实际偏差和车体扫过范围要在现场观察。
状态与停止
rostopic echo /abc_swarm_demo/statusstage依次可见assembling、tracking_circle、finishing、completed。completed后不会自动再跑一圈;下一轮重启实验。
中途停止使用launch终端Ctrl+C,确认实际停车。公共后台可以保留,用于下一个实验。
