admin管理员组文章数量:1130349
解决办法:
- 修改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能够正确地发送运动命令
解决办法:
- 修改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能够正确地发送运动命令
本文标签: setIdentifyunablejointsactuate
版权声明:本文标题:Unable to identify any set of controllers that can actuate the specified joints…… 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1763735568a2958854.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论