UR5机械臂仿真实例(三)3 末端添加robotiq夹爪 [ubuntu20.04+ROSnoetic+gazebo11]

【ur5机械臂末端添加robotiq 2f 85夹爪】

分别给出以下场景的实现过程:

一、实现rviz中ur5与robotiq85的连接和控制

二、实现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中机械臂的运动控制。

### ROS机械抓取仿真的基本流程 在ROS环境中进行机械抓取仿真通常涉及多个步骤,包括环境搭建、模型准备以及传感器集成等内容。以下是详细的说明: #### 1. 环境搭建 为了实现机械抓取仿真,首先需要构建合适的开发环境。这一步骤主要包括安装必要的软件包并设置工作空间。 - 安装ROS及其相关工具链。对于Ubuntu 20.04,推荐使用`ros-noetic`版本[^1]。 - 创建一个新的catkin工作区,并克隆所需的依赖库到该目录下。例如,如果目标是为UR系列机械添加功能,则可以执行如下命令: ```bash cd ~/catkin_ws/src git clone https://github.com/DH-Robotics/dh_gripper_ros.git dh_gripper_ros ``` #### 2. 添加机械末端执行器(End-Effector) 许多官方发布的机器人模型可能不包含实际应用中的末端执行机构(如),因此需手动扩展其功能。 - 使用Git仓库获取支持特定品牌或型号驱动的支持包。通过上述方式引入第方提供的gripper插件能够简化这一过程。 #### 3. 配置深度相机模拟数据源 由于大多数自动化抓握操作依赖于计算机视觉技术提供物体位置信息,在虚拟场景里同样要加入相应的感知设备表示形式。 - 修改现有的URDF/XACRO描述文件以嵌入代表RGB-D类型的摄像装置节点[^2]。具体做法是在原有结构基础上附加额外的link与joint定义部分用于呈现物理特性和连接关系;同时指定对应的sensor plugin加载项以便生成逼真效果的画面反馈信号供后续算法处理分析之用。 #### 示例代码片段展示如何向Xacro文件增加Realsense D435i 设备实例化声明: ```xml <!-- Add a RealSense D435i camera --> <robot name="my_robot_with_camera"> <!-- Include the base robot model --> <xacro:include filename="$(find my_robot_description)/urdf/my_robot.urdf.xacro"/> <!-- Define new links and joints for mounting the camera --> <link name="camera_mount"/> <joint name="camera_to_base" type="fixed"> <parent link="${base_link}"/> <child link="camera_mount"/> <origin xyz="0 0 0.1" rpy="0 0 0"/> </joint> <!-- Insert sensor plugins configuration here --> </robot> ``` #### 4. 启动Gazebo仿真平台运行测试案例验证成果 最后一步就是整合以上各组件并通过launch脚本一键启动整个系统来进行最终的效果评估检验环节了! ---
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值