Action client not connected & Unable to identify any set of controllers...解决方案

我在跟着如下教程:

使用ros-master控制kinova jaco2机械臂_kinova jaco2 xbox控制-优快云博客

配置kinova mico2 机器人时,执行命令:

roslaunch m1n6s300_moveit_config m1n6s300_demo.launch

执行以后,虽然Rviz界面成功启动,但是报错:

[ERROR] [..]: Action client not connected: m1n6s300/follow_joint_trajectory
[ERROR] [..]: Action client not connected: m1n6s300_gripper/gripper_command

同时,如果试图在Rviz界面中进行路径规划,还会报一个错误:

[ERROR] [..]: Unable to identify any set of controllers that can actuate the specified joints: [ m1n6s300_joint_1 m1n6s300_joint_2 m1n6s300_joint_3 m1n6s300_joint_4 m1n6s300_joint_5 m1n6s300_joint_6 ]

检查了一下,发现这三个报错其实原因是一致的,那就是m1n6s300_moveit_config/config文件夹下controllers.yaml, controllers_ros_contrl.yaml 这两个文件中planning group的名称不一致。

首先,我们需要知道xx_moveit_config文件夹其实是由moveit_setup_assistant自动生成的(具体可以去看一看古月居的教程),其中,在config文件下的srdf文件中,可以看到通过moveit_setup_assistant设置的规划组的组名:

(在moveit_setup_assistant中设置规划组。黑色加粗为组名)

(srdf文件中规划组的信息)

解决方法:在config文件夹中,先打开srdf文件,查看两个组名(分别对应机械臂与机械爪),之后打开同一文件夹下的controllers.yaml文件,查看yaml文件中的组名是否与srdf中的一致。如果不一致,就改成srdf的组名,如下图:

(同时注意,两个组的type也是不一样的)

之后,将controllers.yaml中的内容原封不动地复制到ros_control.yaml文件中:

即可解决。如果使用moveit_setup_assistant修改了组名,那就需要导出新的.srdf文件以及kinematics.yaml文件(注意更换新路径,因为导出的是包),然后进行上述操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值