Unable to identify any set of controllers that can actuate the specified joints……
之后catkin_make并继续roslaunch即可……
·
解决办法:
- 修改xx_moveit_config/launch/move_group.launch中的,如下图所示之处——将其改为定义的机器人的xacro文件的名称。
我修改之后,如下所示:
原因:MoveIt在启动时会寻找名为【{moveit_controller_manager}_moveit_controller_manager.launch.xml】的文件。当设置value="my_ur3"后,MoveIt会查找【my_ur3_moveit_controller_manager.launch.xml】。若不设置,则查找默认的【simple_moveit_controller_manager.launch.xml】,此处可见:
- 之后建立该文件【my_ur3_moveit_controller_manager.launch.xml】并定义好内容即可
<launch> <!-- 设置控制器管理器 --> <param name="moveit_controller_manager" value="moveit_simple_controller_manager/MoveItSimpleControllerManager" /> <!-- 加载控制器参数 --> <rosparam file="$(find my_ur3_moveit_config)/config/controllers_gazebo.yaml"/> </launch>
之后catkin_make并继续roslaunch即可……
总结:
- 默认的"simple"控制器管理器主要用于仿真,通过指定自定义的控制器管理器配置,MoveIt可以正确找到并使用实际机器人的控制器。然后新的配置文件提供了实际控制器的详细信息,使MoveIt能够正确地发送运动命令
更多推荐




所有评论(0)