说明:UR3+大寰AFG-95机械爪。配置moveit_setup_assistant ,通过moveit控制机器人系统运动(笔记)。
一.moveit_setup_assistant 配置
1. xarco文件位置:ur_platform_description/urdf/ur_platform.urdf.xarco
2.运行moveit_setup_assistant
roscore
新开一个终端运行:
source ./devel/setup.bash
rosrun moveit_setup_assistant moveit_setup_assistant
3.选择xacro文件
4.点击Load Files
5.点击Generate Collision Matrix
6.Define Virtual Joints
7.添加Define Planning Groups
注意:gripper规划组不用设置“Kinamatic Solver”和"Group Defalut Planner"
解释下:arm对应机械臂6个轴;Chain这个部分我是做TCP坐标偏移,看的别人的博客。gripper是爪子的结构组。
8.Define Robot Poses
9.设置Define End Effectors
10.设置Define Passive Joint
11.设置ROS Controller
注意:此处我没办法设置成重名,但是我看到有的设置的名字一样。
12.设置“Simulate With Gazebo”
13.设置“3D Perception Sensors”
14.其他设置
导出:注意路径选择
我的路径:
二.出现的问题
catkin_make #出现编译错误
错误1
描述:
RLException: unused args [execution_type] for include of [/home/xdy/ur3_ag95_ws/src/ur_platform/ur_platform_moveit_config/launch/ur_platform_moveit_controller_manager.launch.xml]
解决措施:前后对比图
位置:ur_platform_moveit_config/launch/ur_platform_moveit_controller_manager.launch。
措施: 添加代码。
注意:ur_platform_moveit_config为moveit_setup_assistant 生成的配置文件夹。
<arg name="execution_type" default="" />
错误2:
描述:
RLException: unused args [config] for include of [/home/xdy/ur3_ag95_ws/src/ur_platform/ur_platform_moveit_config/launch/moveit_rviz.launch]
解决措施:前后对比图
位置:ur_platform_moveit_config/launch/moveit_rviz.launch]
措施: 修改代码。
注意:ur_platform_moveit_config为moveit_setup_assistant 生成的配置文件夹。
<arg name="config" default="false" />
<arg unless="$(eval config)" name="command_args" default="" />
<arg if="$(eval config)" name="command_args" default="-d $(find ur_platform_moveit_config)/launch/moveit.rviz" />
错误3
描述:
[ERROR] [1629082101.944524832, 900.617000000]: Unable to identify any set of controllers that can actuate the specified joints: [ gripper_finger1_joint ]
[ERROR] [1629082101.944541048, 900.617000000]: Known controllers and their joints:
controller 'arm_controller' controls joints:
elbow_joint
shoulder_lift_joint
shoulder_pan_joint
wrist_1_joint
wrist_2_joint
wrist_3_joint
解决措施:
位置:图片上有
措施: 修改代码。
注意:找到joint:gripper_finger1_jonit,更改如下图,共两处修改
- name: gripper_controller
action_ns: follow_joint_trajectory
default: True
type: FollowJointTrajectory
joints:
gripper_finger1_join
修改后:
- name: gripper_controller
action_ns: follow_joint_trajectory
default: True
type: FollowJointTrajectory
joints:
- gripper_finger1_joint