參考連結
解決Could not find a package configuration file provided by 「manipulation_msgs「
moveIt之Unable to identify any set of controllers that can actuate the specified joints問題解決
Unable to identify any set of controllers that can actuate the specified joints: joint1 joint2 ...出錯
環境設定
Ubuntu 18.04 melodic
下載地址
mkdir -p 6R_mechanical_arm/src
cd 6R_mechanical_arm
catkin_make
將之前下載的機械臂模型中 description、gazebo、planning資料夾複製到 src資料夾下
在終端中執行 roscore
在工作空間 6R_mechanical_arm 中開啟終端
roslaunch marm_description view_arm.launch
在終端執行以下命令
sudo apt-get install ros-melodic-moveit
在終端執行以下命令
rosrun moveit_setup_assistant moveit_setup_assistant
檢查是否與下圖一致
直接滑鼠拖動機械臂末端執行器
點選 plan ,進行路徑規劃
點選 excute ,機械臂運動
可通過拖動箭頭變換位置
以下程式碼執行都是在 rviz 開啟的前提下執行
在工作空間中開啟終端
source ./devel/setup.bash
rosrun marm_planning moveit_fk_demo.py
在工作空間中開啟終端
source ./devel/setup.bash
rosrun marm_planning moveit_ik_demo.py
在工作空間中開啟終端
source ./devel/setup.bash
rosrun marm_planning moveit_cartesian_demo.py _cartesian:=True (走直線)
在工作空間中開啟終端
source ./devel/setup.bash
rosrun marm_planning moveit_cartesian_demo.py _cartesian:=False (走曲線)
*
在工作空間中開啟終端
source ./devel/setup.bash
rosrun marm_planning moveit_obstacles_demo.py
在 6R_mechanical_arm/src/marm_moveit_config/config 路徑下新建 controllers.yaml 檔案
controller_manager_ns: controller_manager
controller_list:
- name: arm/arm_joint_controller
action_ns: follow_joint_trajectory
type: FollowJointTrajectory
default: true
joints:
- joint1
- joint2
- joint3
- joint4
- joint5
- joint6
- name: arm/gripper_controller
action_ns: follow_joint_trajectory
type: FollowJointTrajectory
default: true
joints:
- finger_joint1
- finger_joint2
<launch>
<!-- Set the param that trajectory_execution_manager needs to find the controller plugin -->
<arg name="moveit_controller_manager" default="moveit_simple_controller_manager/MoveItSimpleControllerManager" />
<param name="moveit_controller_manager" value="$(arg moveit_controller_manager)"/>
<!-- load controller_list -->
<!-- Gazebo -->
<rosparam file="$(find marm_moveit_config)/config/controllers.yaml"/>
</launch>
<launch>
# The planning and execution components of MoveIt! configured to
# publish the current configuration of the robot (simulated or real)
# and the current state of the world as seen by the planner
<include file="$(find marm_moveit_config)/launch/move_group.launch">
<arg name="publish_monitored_planning_scene" value="true" />
</include>
# The visualization component of MoveIt!
<include file="$(find marm_moveit_config)/launch/moveit_rviz.launch"/>
<!-- We do not have a robot connected, so publish fake joint states -->
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
<param name="/use_gui" value="false"/>
<rosparam param="/source_list">[/arm/joint_states]</rosparam>
</node>
</launch>
在工作空間路徑下開啟終端,輸入以下命令
source ./devel/setup.bash
roslaunch marm_gazebo arm_bringup_moveit.launch
存在模型抖動現象,暫時不調整
調整機器人目標位置
點選 Plan & Execute
解決方法
參考地址:解決Could not find a package configuration file provided by 「manipulation_msgs「
下載地址:
解決方案一:
在終端執行以下程式碼
sudo apt install ros-melodic-ros-controllers
解決方案二:
修改檔案:
工作空間/src/marm_moveit_config/launch/trajectory_execution.launch.xml
將引數 pass_all_args="true" 刪掉即可