在真实机械臂平台应用moveit2是的整合问题
-
标题:在真实机械臂平台应用moveit2是的整合问题
背景(可选):
目前我在进行一个机械臂控制的项目,我通过ros2_control给机械臂写了硬件组件,控制器方面使用了JTC,已经可以正常通过话题来控制机械臂舵机角度了。接着我开始尝试在真机中使用moveit2。
问题描述:
但是我在同时运行moveit2生成的功能包中的demo.launch.py和我用ros2_control控制的机械臂的相关节点后,机械臂和rviz2中显示的机械臂开始抽搐。通过搜索发现是因为demo.launch.py中也会运行controller_mananger节点,这就跟我用ros2_control控制机械臂中的controller_manager冲突了,我想知道如何可以整合这两个,或者在哪里可以找到相关资料
具体细节和上下文:
以下是我moveit2生成的功能包和ros2_control控制的功能包


尝试过的解决方法:
我尝试过单独运行move_group.launch.py、moveit_rviz.launch.py以及控制相关节点,会出现以下问题。


-
您好,我也正在学习用moveit2控制机械臂。您的问题可能可以通过只启动一次controller_manager解决,自动生成的demo.launch.py并不直观,可以自己重新写一遍,在
https://www.bilibili.com/video/BV1mfhJzYEHn?spm_id_from=333.788.videopod.sections&vd_source=bffdb80b975508dc5f2dd69ec6999b3b
这个视频提到过重写的demo.launch.py,可以直观的看到启动了哪些节点。另外如果在urdf文件里使用这种写法:<gazebo> <plugin name="gazebo_ros2_control" filename="libgazebo_ros2_control.so"> <parameters>$(find arm_moveit_config)/config/ros2_controllers.yaml</parameters> <use_sim_time>true</use_sim_time> </plugin> </gazebo>那么controller_mananger节点应该是在运行这一部分的时候启动的,也就是说在launch里加载机器人模型的时候就会自动启动,不必再重新启动一遍。
https://github.com/TTreeNew/robot2_arm_grasp/blob/master/src/arm_description/launch/sim_with_moveit.launch.py这里是我参照上面提到的视频自己写的launch文件