首先说明一下,这里我们的摄像头和tag只是利用了他们的相对位姿,并没有按照实际模型那样布置摄像头和tag,但这并不影响我们观察整个系统的运行效果,布置如下:
由于之前myrobot已经是一个很完整的包,本身有gazebo模型,所以我们运行以下指令
roslaunch apriltags2_ros continuous_detection.launch
roslaunch myrobot2_gazebo myrobot2.launch
roslaunch apriltags2_launch setup.launch
说一下setup.launch如下,一个是启动moveit的launch,还有一个启动了位姿订阅节点,在后续中加入了Descartes Path Planning,所以在github文件稍有不同。这一块主要参考网址:https://industrial-training-master.readthedocs.io/en/kinetic/_source/session4/Descartes-Path-Planning.html
<?xml version="1.0" ?>
<launch>
<include file="$(find myrobot2_moveit_config)/launch/myrobot2_moveit_planning_execution.launch"/>
<node name="atnode_vision" pkg="apriltags2_node" type="atnode_vision" output="screen" />
</launch>
最后启动服务器客户端,包含moveit运动规划
rosrun apriltags2_node apriltags2_client
演示视频: 链接:https://github.com/harrycomeon/apriltags2_ros-and-ur5/blob/master/附录5附图.gif ×××××××××××××××××××××××××××××××××× 8.15号更新: 修正了之前的模拟方案,首先进行了手眼标定,从而确定相机相对于机械手基坐标的位姿,具体方案,参考链接:https://blog.csdn.net/harrycomeon/article/details/94838983 完成手眼标定后,便可以在gazebo上进行模拟,选择了universal_robot下的ur_gazebo下的launch下的ur5.launch进行模拟,由于之前我们已经在ur_description下进行了urdf文件的修改,这里我们并不需要进行修改,因为内部是直接调用的urdf文件。
roslaunch ur_gazebo ur5.launch
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true
roslaunch ur5_moveit_config moveit_rviz.launch config:=true (用来观察)
roslaunch apriltags2_ros continuous_detection.launch
roslaunch apriltags2_launch setup.launch
具体效果如下,这里并未录制gazebo下的模拟,只是演示了在rviz下的效果,是可以同步实现在rviz上的移动效果,以后有机会会补上: