基础问题
- Q: 机器人在转圈的时候,Detour为什么反馈的方向角从2.2度突然跳到了-357.8度,差了4.4度?
- A: 2.2度和-357.8度是同一个角度,并没有差了4.4度。另外能问出这个问题的同学,也经常卡在计算两个角度的角度差上,那么可以使用这个公式:
调试原理性问题
- Q: Simple下任务后,Clumsy的表现和预期不一致,或者做完任务后Simple还报错了,如何调试?
- A: Simple首先通过对车进行路径搜索(SegmentPlan.FindRoute)搜索到路径,然后通过Compile调用车体类挂载的Coder生成代码,最后通过车体类继承的actualSendScript进行脚本下发。对于Clumsy而言,下发的脚本会保存于debug目录下。首先检查脚本是否正确,然后调试Clumsy插件中继承SimpleAGVInterface的类(一般为AGV类),是否其函数按照正常的方法实现了(见通用约定)。
- Q: Simple不给锁,怎么看原因?
- A: 点开小车的状态面板,看TcStat交管信息。这个字段里显示了为什么不下发锁的原因。
- Q: Simple似乎死锁了?
- A: Simple非常非常难遇到真的死锁。可以看BlockedBy字段来判断到底是真的死锁了,还是因为路线图设计问题导致的关键等待。可能所有的车都在等一个关键车下发路线。
- Q: Simple包络似乎错了,两个车包络明明冲突但相撞了。
- A: 检查经过的路径的layerName,在不同layerName上的包络互相不冲突。比如layerName
- Q:使用激光+地纹导航时,出现车辆位置来回拉扯的情况,是怎么回事?
- A:首先检查detour.json中uscTC是否设置为true。然后还需要判断两个里程计的时序问题,在有独立显卡的工控机上,地纹延迟低,雷达延迟高,需要将单线雷达的time_bias_ms设置为-30至-50(具体根据雷达延迟),若使用核显跑地纹,地纹延迟会上升,此时将雷达和相机的tims_bias_ms都设置为0
Detour使用常见问题
- Q:Detour软件没有在匹配地图,定位不理想,虽然建了地图,但地图就像没有用一样。手动拖拽位置也无法恢复位置。
- A: 这很可能是因为地图回环匹配线程没有开启,比如删了原图层并增加了个新图层。可以到对应面板里点“启动”来启动回环线程。