FACTR 重力补偿与实时反馈遥操-1.设置 Dynamixel 伺服电机
在启动 FACTR 遥控主臂之前,需要正确配置主臂的 Dynamixel 伺服电机。请安装Dynamixel Wizard 软件。(注意:如果您采购的是整机,该步骤已经操作完毕,直接进入检查和设置USB端口延迟即可)
更新伺服器 ID
默认情况下,所有 Dynamixel 伺服电机的 ID 都设置为 1。要使用单个 U2D2 控制器控制多个伺服电机,必须为每个伺服电机分配一个唯一的 ID。此分配应逐个伺服电机进行,从最靠近机器人底座的伺服电机开始,并沿着运动链向上依次分配。按顺序分配 ID,从 1 到 8,夹爪触发伺服电机保持 ID 8。
更改伺服电机ID的步骤:
1.将单个伺服电机连接到 U2D2 控制器。
2.启动 Dynamixel Wizard 软件。
3.配置扫描设置:
在顶部菜单栏中,转到“工具”→“选项”。
在“选择要扫描的端口”下,确保所有端口都已选中。
在“选择扫描波特率”下,选择正确的波特率。默认值为57600 bps。如果不确定,请选择所有可用选项。
在“设置要扫描的 ID 范围”下,您可以将范围限制在0-15以加快扫描速度,除非伺服电机可能已经具有此范围之外的 ID。
4.点击左上角的 扫描图标(带齿轮的放大镜)。
如果找到伺服电机,它将出现在窗口的左侧面板中。
5.从面板中选择检测到的伺服电机,然后单击窗口中间面板中找到的 ID 。
在窗口右侧面板中选择新 ID,然后单击“保存”。
6.对每个伺服电机重复上述步骤。
提高伺服控制频率
要使控制回路以高达 500Hz 的频率运行,还需要更改 Dynamixel 伺服电机的其他设置。每个伺服电机的更改步骤如下:
提高伺服控制频率的步骤:
1.启动 Dynamixel Wizard 软件并扫描伺服电机。
2.从左侧面板中选择每个检测到的伺服电机。
3.在中间面板中,单击“波特率(总线)Baud Rate (Bus)”:
在右侧面板中,将值设置为 4 Mbps,然后单击“保存”。
4.在中间面板中,单击“返回延迟时间Return Delay Time”:
在右侧面板中,将值设置为 0,然后单击“保存”。
除了 Dynamixel 伺服设置外,为了实现高频控制,还必须尽可能降低连接到 U2D2 控制器的 USB 端口的延迟。延迟定时器应设置为1最佳值以获得最佳性能。
检查和设置USB端口延迟的步骤:
列出已连接的 U2D2 设备:
ls /dev/serial/by-id/

这将显示每个已连接的 U2D2 控制器的设备名称。例如:
usb-FTDI_USB__-__Serial_Converter_FT7WBF8S-if00-port0
usb-FTDI_USB__-__Serial_Converter_FT951EJA-if00-port0
找出与你的主导臂对应的那个。<device-name>在后续步骤中替换为正确的名称。
解析USB设备的完整路径:
readlink -f /dev/serial/by-id/<device-name>
例如:
readlink -f /dev/serial/by-id/usb-FTDI_USB__-__Serial_Converter_FTA6S090-if00-port0

这将返回类似这样的结果:
/dev/ttyUSB0
检查当前延迟计时器值:
cat /sys/bus/usb-serial/devices/<ttyUSBx>/latency_timer
例如:
cat /sys/bus/usb-serial/devices/ttyUSB0/latency_timer

替换<ttyUSBx>为上一步中的 ttyUSB 设备名称(例如,ttyUSB0)。
如果该值不是默认值1,请手动设置:
echo 1 | sudo tee /sys/bus/usb-serial/devices/<ttyUSBx>/latency_timer
例如:
echo 1 | sudo tee /sys/bus/usb-serial/devices/ttyUSB0/latency_timer

注意:此命令需要sudo权限。
注意:每次将 U2D2 控制器 USB 重新插入计算机时,都需要再次运行此命令,以确保延迟计时器为 1。
自动延迟检查
请注意,提供的领导者臂节点在初始化FACTRTeleopFranka类时会自动检查延迟计时器。它会从 YAML 配置文件中读取dynamixel_port延迟计时器,并验证其是否已设置为1。
如果延迟设置不正确,脚本将:
ü引发异常
üecho输出修复所需的准确命令
由于更改延迟计时器需要sudo权限,因此您必须在出现提示时手动运行命令。
<< 上一篇
下一篇 >>