【ur5机械臂末端添加robotiq 2f 85夹爪】
分别给出以下场景的实现过程:
二、实现gazebo中ur5与robotiq85的连接和控制
三、Moveit配置实现rivz与gazebo的联合控制【本文】
三、Moveit配置实现rivz与gazebo的联合控制
(一)修改ur.xacro
在使用moveit时需要导入机械臂模型,我们使用的是fmauch_universal_robot/ur_gazebo/urdf/ur.xacro。
在一和二修改完成的基础上,将fmauch_universal_robot/ur_gazebo/urdf/ur.xacro中的
<xacro:arg name="joint_limit_params" default=""/>
<xacro:arg name="physical_params" default=""/>
<xacro:arg name="kinematics_params" default=""/>
<xacro:arg name="visual_params" default=""/>
改为
<xacro:arg name="joint_limit_params" default="$(find ur_description)/config/ur5/joint_limits.yaml"/>
<xacro:arg name="physical_params" default="$(find ur_description)/config/ur5/physical_parameters.yaml"/>
<xacro:arg name="kinematics_params" default="$(find ur_description)/config/ur5/default_kinematics.yaml"/>
<xacro:arg name="visual_params" default="$(find ur_description)/config/ur5/visual_parameters.yaml"/>
为参数设置默认值,以直接调用。
(二)安装和启动moveit
sudo安装对应版本的moveit,我的ROS版本是noetic
sudo apt-get install ros-noetic-moveit
启动roscore
roscore
打开新终端,启动moveit配置助手
cd ~/catkin_ws
catkin_make
source devel/setup.bash
rosrun moveit_setup_assistant moveit_setup_assistant
(三)配置moveit
1. Start加载模型
点击Create New Moveit Configuration Package,点击Browse,选择catkin_ws/src/fmauch_universal_robot/ur_gazebo/urdf/ur.xacro,打开。
点击Load Files,窗口右侧出现机械臂和夹爪模型。
2. Self-Collisions碰撞检测矩阵
点击Generate Collision Matrix,生成碰撞检测矩阵。
3. Virtual Joints虚拟关节
Add Virtual Joint,设置虚拟关节将机械臂base_link连接到world。
4. Planning Groups设置规划组
Add Group,分别添加两个group:
manipulator(机械臂):Kinematic Solver(动力学求解器)使用moveit自带的KDLKinematicsPlugin,其他使用默认配置;Add Kin. Chain,添加连杆chain;Add Joints,添加关节。
gripper(夹爪):使用默认配置;Add Joints,添加关节。
5. Robot Poses定义姿势
可以定义一些姿势。
6. End Effectors末端执行器
将gripper设置为末端执行器。(当只有机械臂时,tool0为末端执行器。)
7. Passive Joints被动关节
8. Controllers控制器
首先,点击Auto Add FollowJointsTrajectoryControllers For Each Planning Group自动生成controllers。
为了实现moveit对gazebo中机械臂的控制,我们需要确保命名空间一致,即控制器名称要统一。参考fmauch_universal_robot/ur_gazebo/config/ur5_controllers.yaml,设置两个controllers的Name和Type。
9. Simulation
跳过。
10. 3D Perception
跳过。
11. 作者信息Author Information
填写作者姓名和邮箱。
12. Configuration Files生成配置文件
选择路径,生成ur5_gripper_moveit_config包。
(四)启动launch
首先,打开fmauch_universal_robot/ur_gazebo/launch/ur5_bringup.launch,将gui_controller注释掉。
<!-- <node name="gui_controller" pkg="rqt_joint_trajectory_controller" type="rqt_joint_trajectory_controller" /> -->
然后,启动gazebo仿真、启动moveit运动规划、启动rviz。
cd ~/catkin_ws
catkin_make
source devel/setup.bash
roslaunch ur_gazebo ur5_bringup.launch
roslaunch ur5_gripper_moveit_config move_group.launch
roslaunch ur5_gripper_moveit_config moveit_rviz.launch config:=true
(五)运行结果
MotionPlanning选择PlanningGroup为gripper,在Joints中调整关节角度至目标位置,点击Plan&Execute,完成运动规划及gazebo中夹爪的运动控制。
MotionPlanning选择PlanningGroup为manipulator,拖动末端规划球或在Joints中调整关节角度至目标位置,点击Plan&Execute,完成运动规划及gazebo中机械臂的运动控制。