跳转至

电机基础

说明:

  • 在使用前必须先启动所有 CAN 接口
  • 依赖库 openarmx_arm_driver
  • 每个电机之间有 10ms 延时,避免总线拥塞
  • 脚本位置 /home/openarmx/openarmx_ws/src/openarmx_motor_manager/scripts

使能所有电机

脚本名: en_all_motors.py

功能: 自动搜索可用 can 通道,并向 ID 为(1-8)的电机发送使能指令,该功能无论 can 通道上有无电机都会发送使能命令,所以在没有电机连接时也会依然发送,可在使能目标电机后按 CTRL + C 退出脚本。

使用方法:

python3 ./en_all_motors.py

说明:

  • 发送使能指令 (0x0300) 到所有电机

失能所有电机

脚本名: dis_all_motors.py

功能: 自动搜索可用 can 通道,并向 ID 为(1-8)的电机发送失能指令,该功能无论 can 通道上有无电机都会发送失能命令,所以在没有电机连接时也会依然发送,可在使能目标电机后按 CTRL + C 退出脚本。

使用方法:

python3 ./dis_all_motors.py

说明:

  • 发送失能指令 (0x0400) 到所有电机

查看电机状态

脚本名: check_motor_status.py

功能: 自动搜索可用 can 通道,扫描并显示 can 通道上 ID 为(1-8)的电机的状态信息,该功能无论 can 通道上有无电机都会发送读取电机状态的命令,所以在没有电机连接时也会依然发送,可在使能目标电机后按 CTRL + C 退出脚本。

使用方法:

python3 ./check_motor_status.py

显示信息:

  • CAN ID
  • 当前角度(弧度)
  • 当前速度(弧度/秒)
  • 当前力矩(Nm)
  • 电机温度(°C)
  • 控制模式(Reset/Cali/Motor)
  • 故障状态(正常/各类故障)

注意事项:

  • 不要在 MoveIt 运行时执行,可能导致电机失能,坠落

设置电机零位

脚本名: set_motor_zero.py

功能: 自动搜索可用 can 通道,并向 ID 为(1-8)的电机发送设置零位指令,设置当前位置为零位,该功能无论 can 通道上有无电机都会发送设置零位命令,所以在没有电机连接时也会依然发送,可在使能目标电机后按 CTRL + C 退出脚本。

使用方法:

./set_motor_zero.py

注意事项:

  • 在设置零位前,确保机械臂处于期望的零位姿态
  • 此操作会覆盖电机的原零位信息