底盘

底盘连接不上

1. 检查急停

  1. 松开所有 急停按钮

  2. 松开按钮后,需要使用HMI平板的 一键重连。查看 max 的连接提示,根据连接提示操作。

  3. 检查电机驱动器是否上电。

    ../../../_images/motor_driver_light.png

    如果电机驱动器都是有电的,灯有亮,但是看不到底盘的8个驱动器则是创博控制器的ethercat 网线插错了。 检查底盘电机数目

    如果电机驱动器都没亮灯,则下一步检查所有急停信号。

  4. 手动检查 PLC(192.168.4.105) 所有急停信号是否有误。例如,PLC 158 状态应该是1表示没急停,如果松开急停状态仍未0,联系电气同事。

2. 检查是否与底盘通信是否正常

# 目前底盘 ip 为 192.168.4.10, 或 6.10
ping 192.168.4.10
ping 192.168.6.10

如果 ping 不通

  1. 检查底盘是否正常开机

  2. 检查上位机 ip 是否设置正确, 应为 192.168.4.50 或 192.168.6.50

  3. 检查底盘网线是否插好

3. 检查底盘上位机驱动是否正常。

打开 MAX 工具 -> 进程管理,查看日志信息。 或者去 ~/xyz_log/xyz_mobile_robot_driver_node 查看完整日志。

特别注意: not enabled 意思是电机没有上电。

../../../_images/chassis_process_in_max.png

4. 检查创博控制器是否能连接电机驱动器

# 查看底盘驱动是否正常
cd max/share/xyz_mobile_robot_control/pyRocky
python ethercat_slaves.py
../../../_images/chassis_ethercat_slaves.png

正常情况下,全是OP状态。如果找不到或者多个驱动器不是OP状态,表示底盘驱动异常。

理论上底盘电机应该识别到8个以上的驱动器,如果没有识别到,则直接拔控制器上的 ethercat 网线到某个电机驱动器上,排查是控制器问题、驱动器问题、线路问题。

如果能定位到哪一个电机,请联系电气同事,安排拆开车身外壳,找到对应的驱动器。

5. 检查电机错误码

  1. 在上位机驱动、下位机驱动日志里找到 error_code。

    • 上位机驱动日志路径: ~/xyz_log/xyz_mobile_robot_driver_node

    • 下位机驱动日志路径: ~/xyz_log/xyz_chassis/

      快速拷贝日志到工控机, 进入到 share/xyz_mobile_robot_control/pyRocky/,

      bash cp_chassis_log.bash

    • 系统日志,控制器下位机 /var/log 里有 kern.log,kern.log.* 。如果 ethercat 设备突然下线,系统日志会有一些信息。

  2. 通过HMI一键重连进行重启尝试清错。

  3. 如果不可清错,请联系底盘控制同事。

  4. 另外,请确认上下位机版本一致,刷MAX对应的底盘版本。如果底盘重启了,也需要在进程管理手动重启底盘主控驱动。

特别:
  • 常见电机错误码解决方法

    针对xyz常见问题,提供解决方法。

  • 电机驱动器手册

    1. rocky evt 底盘电机:步科电机

    2. rocky one 底盘电机:清能电机

    3. rocky light 底盘电机:鸣志电机

    如有出入,请联系底盘控制同事补充修改。

6. 因底盘 yaml 文件缺失导致底盘无法连接

多见于新车或更换硬件,原因是旧版本底盘固件没有对应的yaml。 如何确认:

# 查看底盘驱动是否正常
ssh user@192.168.4.10
ssh user@192.168.6.10
sudo systemctl status DRNile.service
如果像下面的图片,则是因为yaml文件缺失
../../../_images/chassis_yaml_missing.png

如何修改底盘配置::

sudo systemctl show-environment
查看 base_type=* 配置的车型,
然后进到 /usr/share/controller/config/,
sudo vim ~/xyz_log/xyz_chassis/controller_node.INFO
修改对应的yaml
sudo vim config/suction_smc_d01.yaml
sudo systemctl restart DRNile.service
比如 suction_tool_type 改为 xyz,  xyz-analog
../../../_images/show-environment.png

底盘无法移动

1. 先检查是否可以连接上底盘,如果连接不上,请查看 底盘连接不上

2. 是不是由于碰撞检测不能动?导航移动是有考虑碰撞检测。

  • 如果 底盘上位机驱动收到指令,但是指令的速度非常小,小于 0.001m/s,可能是碰撞检测导致的。

  • 如果底盘上位机驱动没有收到指令,可能是导航系统没有发出指令,请联系导航同事。

  • 可以用 HMI 移动看是否可以移动?目前 HMI 没有考虑碰撞检测。

3. 看看底盘是否有错误码,如果有错误码,请查看 检查电机错误码

4. 架起车身,仔细观察电机的旋转方向是否一致?

如果不一致,可能是没有读到电机参数,请联系研发。

解决方法:联系生产同事、重新烧入电机参数。