FAQ:修订间差异

来自MDCS wiki
跳到导航 跳到搜索
无编辑摘要
无编辑摘要
 
(未显示2个用户的8个中间版本)
第1行: 第1行:
调试原理性问题
=== 基础问题 ===
* Q: 机器人在转圈的时候,Detour为什么反馈的方向角从2.2度突然跳到了-357.8度,差了4.4度?
** A: 2.2度和-357.8度是同一个角度,并没有差了4.4度。另外能问出这个问题的同学,也经常卡在计算两个角度的角度差上,那么可以使用这个公式:
<math display="inline">thdiff = (th1-th2)-round((th1-th2)/360)</math>


=== 调试原理性问题 ===
* Q: Simple下任务后,Clumsy的表现和预期不一致,或者做完任务后Simple还报错了,如何调试?
* Q: Simple下任务后,Clumsy的表现和预期不一致,或者做完任务后Simple还报错了,如何调试?
** A: Simple首先通过对车进行路径搜索(SegmentPlan.FindRoute)搜索到路径,然后通过Compile调用车体类挂载的Coder生成代码,最后通过车体类继承的actualSendScript进行脚本下发。对于Clumsy而言,下发的脚本会保存于debug目录下。首先检查脚本是否正确,然后调试Clumsy插件中继承SimpleAGVInterface的类(一般为AGV类),是否其函数按照正常的方法实现了(见[[通用约定]])。
** A: Simple首先通过对车进行路径搜索(SegmentPlan.FindRoute)搜索到路径,然后通过Compile调用车体类挂载的Coder生成代码,最后通过车体类继承的actualSendScript进行脚本下发。对于Clumsy而言,下发的脚本会保存于debug目录下。首先检查脚本是否正确,然后调试Clumsy插件中继承SimpleAGVInterface的类(一般为AGV类),是否其函数按照正常的方法实现了(见[[通用约定]])。
第9行: 第13行:
*Q: Simple包络似乎错了,两个车包络明明冲突但相撞了。
*Q: Simple包络似乎错了,两个车包络明明冲突但相撞了。
**A: 检查经过的路径的layerName,在不同layerName上的包络互相不冲突。比如layerName
**A: 检查经过的路径的layerName,在不同layerName上的包络互相不冲突。比如layerName
*Q:使用激光+地纹导航时,出现车辆位置来回拉扯的情况,是怎么回事?
**A:首先检查detour.json中uscTC是否设置为true。然后还需要判断两个里程计的时序问题,在有独立显卡的工控机上,地纹延迟低,雷达延迟高,需要将单线雷达的time_bias_ms设置为-30至-50(具体根据雷达延迟),若使用核显跑地纹,地纹延迟会上升,此时将雷达和相机的tims_bias_ms都设置为0
=== Detour使用常见问题 ===
* Q:Detour软件没有在匹配地图,定位不理想,虽然建了地图,但地图就像没有用一样。手动拖拽位置也无法恢复位置。
** A: 这很可能是因为地图回环匹配线程没有开启,比如删了原图层并增加了个新图层。可以到对应面板里点“启动”来启动回环线程。
* Q: 为什么定不了位?界面不动?为什么电脑重启后无法定位?
** A: 很可能是因为没有启动。可以点“全部启动”按钮启动定位。如果需要自动后自动全部启动,勾选“自动开启”选项并保存配置。
* Q: 场景太宽阔而车有颠簸时,可能会出现短暂的定位异常情况,然后很快恢复,如何解决?
** A: 可以尝试缩小场景比例。具体做法见《[[Detour使用Trick:大场景处理]]》\
=== Simple使用常见问题 ===
* terminal关键字要慎用,它的语义是,保证想离开这个站点时随时能离开,不会和其它车发生冲突。一般也就是单向路线中间的点可以设置为terminal。如果违背这个原则,那么造成的结果可能是一个A车停在terminal站点上阻碍了另一台车B,但车A无法出站,导致思索。
=== CycleGUI使用问题 ===
* 本地界面的启动参数放置于cyclegui_conf.txt文件中,格式为若干行"参数=xxx",xxx为数字。可配置的参数包括swapinterval(0/1,表示持续刷新界面还是等垂直同步,或者-1表示GSync), drawmouse, limitfps, forgetsize(是否不保存上次主界面关闭时的窗口位置)。

2026年2月5日 (四) 19:06的最新版本

基础问题

  • 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: 这很可能是因为地图回环匹配线程没有开启,比如删了原图层并增加了个新图层。可以到对应面板里点“启动”来启动回环线程。
  • Q: 为什么定不了位?界面不动?为什么电脑重启后无法定位?
    • A: 很可能是因为没有启动。可以点“全部启动”按钮启动定位。如果需要自动后自动全部启动,勾选“自动开启”选项并保存配置。
  • Q: 场景太宽阔而车有颠簸时,可能会出现短暂的定位异常情况,然后很快恢复,如何解决?

Simple使用常见问题

  • terminal关键字要慎用,它的语义是,保证想离开这个站点时随时能离开,不会和其它车发生冲突。一般也就是单向路线中间的点可以设置为terminal。如果违背这个原则,那么造成的结果可能是一个A车停在terminal站点上阻碍了另一台车B,但车A无法出站,导致思索。

CycleGUI使用问题

  • 本地界面的启动参数放置于cyclegui_conf.txt文件中,格式为若干行"参数=xxx",xxx为数字。可配置的参数包括swapinterval(0/1,表示持续刷新界面还是等垂直同步,或者-1表示GSync), drawmouse, limitfps, forgetsize(是否不保存上次主界面关闭时的窗口位置)。