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/

舵机设置-1.png

这将显示每个已连接的 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

舵机设置-2.png

这将返回类似这样的结果:

/dev/ttyUSB0

检查当前延迟计时器值:

cat /sys/bus/usb-serial/devices/<ttyUSBx>/latency_timer

例如:

cat /sys/bus/usb-serial/devices/ttyUSB0/latency_timer

舵机设置-3.png

替换<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

舵机设置-4.png

注意:此命令需要sudo权限。

注意:每次将 U2D2 控制器 USB 重新插入计算机时,都需要再次运行此命令,以确保延迟计时器为 1

自动延迟检查

请注意,提供的领导者臂节点在初始化FACTRTeleopFranka类时会自动检查延迟计时器。它会从 YAML 配置文件中读取dynamixel_port延迟计时器,并验证其是否已设置为1

如果延迟设置不正确,脚本将:

ü引发异常

üecho输出修复所需的准确命令

由于更改延迟计时器需要sudo权限,因此您必须在出现提示时手动运行命令。