遥操示例
遥操基本分两类, 同构的关节控制, 与异构的末端控制, 本项目提供了通用示例进行展示, 通过自定义的设备来实现高效遥操.
建议直接使用example/teleop/master_slave_arm_teleop_fs.py, 该脚本提供了多进程的机械臂控制与数据采集, 需要注意的是该方法不支持使用ROS, 因为ROS的线程不安全, 导致没法直接传递机器人类给进程, 如果需要使用ROS, 需要单独对每个传感器在进程中分别订阅, 较为繁琐, 如果需要ROS, 可以使用example/teleop/master_slave_arm_teleop.py, 此脚本为单线程, 控制采集同频率, 因此控制频率较低.
提供的脚本是通过关节映射控制, 如果需要基于末端映射控制, 只需要将joint替换为qpos即可, 在本项目中qpos为EEF信息. 由于大部分末端映射控制的数据并非来自机器人, 而是来自例如Tracker/Quest之类的遥操设备, 因此可以看到我们的MasterWorker是直接注册了对应控制器/传感器, 而非绑定机器人, 在src/sensor/中我们也提供了Tracker/Quest设备遥操信息的封装, 你可以根据实际需求使用.