- aubo 提供 urdf (不发送)
- aubo_description 提供 kde(aubo 官方指定)
- aubo_dual3 提供 moveit2 配置
- bringup 提供 launch 文件
- vr_cali 标定动作. in: tf(ref, tracker_random) out: tf(custom, tracker_upright)
- vr_track_tcp 接收 windows 发来的 tracker 坐标. in: tcp(localhost: 3001) out: tf(ref, tracker_random)
- ik_kdl in: load urdf, tf(tracker_upright, custom) | out(tcp: 192.168.38.128:8899 (to vm))
- windows 的 openvr_tcp: in: vr sdk | out: tcp(wsl:3001)
注意:所有 ubuntu 终端运行下述命令前执行 cd ros_ws && source install/setup.bash
ros2 launch bringup cali.py
./install/bin/opencv-tcp.exe
ros2 launch aubo_dual3 demo.launch.py
标定实现方式: src/fast_control/scripts/j.bash
中的函数发布 ros2 topic 与 vr_cali 节点进行通信。
j.p0 0 # 将 0 号 vr tracker 的当前 position 作为自定义坐标系 (custom) 的原点
j.px 0 # 设置 x 轴
j.py 0 # 设置 y 轴
j.cali # 计算自定义坐标系并发布
j.up 0 # 标定 0 号 vr tracker 的 orientation
j.s 1 # 将当前 1 个 tracker 的标定写入 ~/.teleop/cali1.yaml 文件(适用于仅使用一个 tracker 的情况)
# 如要标定两个 tracker 则需
j.up 1 # 标定 1 号 vr tracker 的 orientation
j.s 2 # 将当前 2 个 tracker 的标定写入 ~/.teleop/cali2.yaml 文件
# 上一次标定好的所有数据可通过 j.l 加载
j.l 1 # 加载 cali1.yaml。如有两个 tracker 则 `j.l 2`
colcon build --packages-select ik bringup && ros2 launch bringup moveit.py
开启此 node 要求 aubo 驱动更新,下载此链接或联系遨博开发人员。 https://pan.quark.cn/s/ea15e9651133
即使不启动本节点,ik node 也会自行估计相关信息。
colcon build --packages-select ik && ros2 run ik ik_joint_broadcaster_exe
要求 ref 系下 tracker_random 原点的位置?
获取 tracker_random 表示转 ref 表示的 R, T: (x_ref = R * (x_trakcer_random) + T)。那么 T 也是要求的原点位置
ref is parent & target; tracker_random is child & source
- 标定时,手向前伸为 x 轴,向左为 y 轴
- ik 函数(以及 urdf model)中,x 轴为桌面左(桌前定义为朝向 uji 其他机械臂工作区),y 轴为桌面后
在 src/fast_control/bringup/launch/moveit.py 中,将下方 node 注释掉就可开关手臂。注意检查 src/fast_control/ik/config/ik_moveit_left.yaml
参数表中通信 ip。
return LaunchDescription([
ik_moveit_left_node,
ik_moveit_right_node
])
获取机械臂的 urdf 并使用 moveit2 setup assistant 生成完整 moveit2 包。配置方式见: https://blog.csdn.net/qq_27865227/article/details/126860096
- angle interpolation seems wrong.
- 电机发的是两圈的,注意内部处理。
- 机械臂开机怎么开,更新机械臂驱动,加速 macsize 获取
- 仿真模式和真机模式都有很大延迟,奇怪的是,即使仿真时控制 mac 调小,延迟依然小不下来,不及以前。- 速度 / 加速度插值有问题(线性插值加速度导致加速度太小了,估计哪里写挂了)。优化了插值方法以后变好了。
- 透传函数时不时阻塞一两百毫秒,检查出来透传到实机不管动不动都有 0.2% 几率阻塞 100~200ms,虚拟机没有此问题,换网线没用。 - 通过遨博的新驱动解决了此问题
- 插值过程可能碰撞
- joint_states 同步到 moveit 场景中,增加一个机械臂,进行碰撞预测。
无
- 电脑主机 1 台 13th Gen Intel(R) Core(TM) i7-13790F / RTX 2060 SUPER
- 显示器 1 台
- 键盘 1 个
- 鼠标 1 个
- 遨博机械臂 i5 - 2 台
- HTC VIVE 定位器 2 台
- HTC VIVE 跟踪器及接收器 2 个