2. ur3+robotiq ft sensor+robotiq 2f 140配置gazebo仿真环境
原文地址: ur3+robotiq ft sensor+robotiq 2f 140配置gazebo仿真环境
ur3+robotiq ft sensor+robotiq 2f 140配置gazebo仿真环境
搭建环境:
ubuntu: 20.04
ros: Nonetic
sensor: robotiq_ft300
gripper: robotiq_2f_140_gripper
UR: UR3
通过上一篇博客配置好ur3、力传感器和robotiq夹爪的rviz仿真环境后,现在来配置一下对应的gazebo的仿真环境
当我们启用机械臂的gazebo仿真环境时,我们使用的是下面的命令
# 启动gazebo仿真环境
roslaunch ur_gazebo ur3_bringup.launch
# 如果gazebo报错,可能是之前的没有完全关闭,需要执行killall gzserver
那么我们就从ur_gazebo中的ur3_bringup.launch文件入手,查找在哪放力传感器和夹爪的urdf配置文件
首先,从universal_robot/ur_gazebo/launch/ur3_bringup.launch中调用ur3的描述文件(urdf)是从下图中红框中调用,所以继续进入该文件查看

同理,load_ur3.launch.xml文件指向下面红框的文件,继续趴

同理,load_ur.launch.xml文件指向下面红框的文件,继续趴

同理,ur.xacro文件指向下面第一个红框的文件,并在第二个红框中调用的它的宏函数,继续往ur_macro.xacro文件找

可以看到universal_robot/ur_gazebo/urdf/ur_macro.xacro文件调用了universal_robot/ur_description/urdf/inc/ur_macro.xacro中的宏函数来包含ur3的描述文件(urdf),ur_gazebo/urdf/ur_macro.xacro里面加上了gazebo的一些配置,我们就在加载完ur3描述文件后面加上我们的力传感器和夹爪描述文件就可以了
加入的代码和上一篇博客加入的代码一样,如下图所示

该文件完整代码如下:
<?xml version="1.0"?>
<robot xmlns:xacro="http://wiki.ros.org/xacro">
<!-- Definition of the main macro -->
<xacro:macro name="ur_robot_gazebo" params="
prefix
joint_limits_parameters_file
kinematics_parameters_file
physical_parameters_file
visual_parameters_file
transmission_hw_interface:=hardware_interface/EffortJointInterface
safety_limits:=false safety_pos_margin:=0.15 safety_k_position:=20"
>
<xacro:include filename="$(find ur_description)/urdf/inc/ur_macro.xacro"/>
<!-- Instantiate model for the REAL robot. -->
<xacro:ur_robot
prefix="${prefix}"
joint_limits_parameters_file="${joint_limits_parameters_file}"
kinematics_parameters_file="${kinematics_parameters_file}"
physical_parameters_file="${physical_parameters_file}"
visual_parameters_file="${visual_parameters_file}"
transmission_hw_interface="${transmission_hw_interface}"
safety_limits="${safety_limits}"
safety_pos_margin="${safety_pos_margin}"
safety_k_position="${safety_k_position}"
/>
<!-- Configure self collision properties per link -->
<gazebo reference="${prefix}shoulder_link">
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="${prefix}upper_arm_link">
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="${prefix}forearm_link">
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="${prefix}wrist_1_link">
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="${prefix}wrist_3_link">
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="${prefix}wrist_2_link">
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="${prefix}ee_link">
<selfCollide>true</selfCollide>
</gazebo>
<!--
Inject Gazebo ROS Control plugin, which allows us to use ros_control
controllers to control the virtual robot hw.
-->
<gazebo>
<plugin name="ros_control" filename="libgazebo_ros_control.so">
<!--robotNamespace>/</robotNamespace-->
<!--robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType-->
</plugin>
</gazebo>
</xacro:macro>
<xacro:include filename="$(find robotiq_ft_sensor)/urdf/robotiq_ft300.urdf.xacro"/>
<xacro:include filename="$(find robotiq_2f_140_gripper_visualization)/urdf/robotiq_arg2f_140.xacro" />
<!--robotiq_ft_sensor-->
<xacro:robotiq_ft300 prefix="" parent="tool0">
<origin xyz="0 0 0" rpy="0 0 0"/>
</xacro:robotiq_ft300>
<!--robotiq_arg2f_140.xacro已经调用了robotiq_arg2f_140宏定义,这里只需要把gripper和sensor用joint连接起来即可-->
<joint name="ft_gripper_joint" type="fixed">
<parent link="robotiq_ft_frame_id"/>
<child link="robotiq_arg2f_base_link"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
</joint>
</robot>
查看效果:
运行代码,打开gazebo仿真
cd ~/catkin_ws
source devel/setup.bash
roslaunch ur_gazebo ur3_bringup.launch

注意:可以看到夹爪和力传感器是安装上去了,但是夹爪看起来要散架了,还会一直抖动,解决办法看我这篇博客
2. ur3+robotiq ft sensor+robotiq 2f 140配置gazebo仿真环境的更多相关文章
- MySQL数据库的安装与密码配置
MySQL是由MySQL AB公司开发,后由Oracle公司收购 MySQL是一个关系型数据库管理系统 分为社区版和企业版 ...
- windows配置xhprof,PHP性能分析工具
本来以为配置这么一个工具不会费很大的力气,后面发现完全不是. 一.小插曲 早上显示电脑不能显示虚拟目录下的所有域名,但是能打开localhost,数据库连接也不行了.这个问题纠缠了我一个上午.对了还有 ...
- openldap+phpadmin的搭建安装
1.概念介绍 LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了并且可以根据 ...
- Maven(一)简介和基本安装使用
简介 如今用于项目管理和自动化构建的东东用的比较多的,比如: eclipse中用到的ant 现今流行的android studio中用到的gradle 这里将介绍另一种工具——maven (也可以用来 ...
- Hadoop实战课程
Hadoop生态系统配置Hadoop运行环境Hadoop系统架构HDFS分布式文件系统MapReduce分布式计算(MapReduce项目实战)使用脚本语言Pig(Pig项目实战)数据仓库工具Hive ...
- appium_python_android测试环境搭建
第一步 安装appium •Appium是由.NET 开发的,所以,它会依赖 .NET framework相关组件,所以先安装.net framework 4.5,备注: Appium最低支持.ne ...
- Maven学习入门——2016-2-17
一.Maven的基本概念 1.1Mawen是干啥的??? 我们第一次接触Maven一般就是用Maven为我们的项目加入jar包,非常的方便. maven到底是干什么的??说白了,maven就是用来管理 ...
- YOLO-V3实战(darknet)
一. 准备工作 1)实验环境: darknet 是由 C 和 CUDA 开发的,不需要配置其他深度学习的框架(如,tensorflow.caffe 等),支持 CPU 和 GPU 运算,而且安装过程非 ...
- 深入linux kernel内核配置选项
============================================================================== 深入linux kernel内核配置选项 ...
- OpenVINO计算机视觉模型加速
OpenVINO计算机视觉模型加速 OpenVINO介绍 计算机视觉部署框架,支持多种边缘硬件平台 Intel开发并开源使用的计算机视觉库 支持多个场景视觉任务场景的快速演示 四个主要模块: 1.开发 ...
随机推荐
- 开源项目丨ChengYing 1.1版本重磅发布:新增超多功能,全新优化体验!
ChengYing是一站式全自动化全生命周期大数据平台运维管家,提供大数据产品的一站式部署.运维.监控服务,其可实现产品部署.产品升级.版本回滚.扩缩节点.日志诊断.集群监控.实时告警等功能,致力于最 ...
- 我的第一个 WinUI 3 程序,遇到了 5 次碰壁
为什么要学习 WinUI 3呢? Winform 程序,简单.直接.快速: Wpf 程序,丰富.多样.好看: WinUI3 呢?据说它是前两者的升级版,比它们更酷炫,性能更好,而且跨平台,是技术的前沿 ...
- SS 集训做题
9.11 主题:分块 9. 主题:计数 Problem A 矩乘板子 Problem B 观察到 N 很小.记 \(f_{i, S}\) 为第 \(i\) 列状态为 \(S\) 的方案数,\((2^8 ...
- java类型转换的例子
Java中数据类型自动转换优先级 犹由于java是强类型语言,所以进行一些运算的时候,必须进行类型转换运行中不同类型数据先转为同一类型再进行运算 /*注意点:1.不能对布尔值进行转换2.不能把对象类型 ...
- secp256k1算法详解三(点操作关键理论及源码分析)
1 基础概念 1.1 Short Weierstrass Curve 椭圆曲线(Elliptic Curve,EC)是密码学中非常重要的代数结构,在几何上,椭圆曲线是由三次方程描述的一些曲线.不同的公 ...
- node: /lib64/libm.so.6: version `GLIBC_2.27' not found
场景 cent os7服务器使用nvm安装的node之后,只要使用npm或者node,均会出现以下问题 [root@172 ~]# npm -v node: /lib64/libm.so.6: ver ...
- 前端开发系列132-进阶篇之脚手架Yue-cli的实现01-commander模块
这是系列文章`前端脚手架实现`的第一篇,主要讲解脚手架工具中的核心模块命令行参数解析功能的实现,重点讲解 Node 模块 [commander]()的使用. 在前端开发中我们已经接触过各种各样的脚手架 ...
- 中大ACM个人赛 ABC题题解
摸完签到题就跑了 A - Maximum Subrectangle 题意:有个C矩阵,C[i][j] = a[i]b[j], 问你在\(\displaystyle\sum_{i=x1}^{x2}\) ...
- SciTech-EECS-Signal-OpAmp(Operational Amplifier,运算放大器): Gain放大倍数计算公式及其电路中电容的作用 + MCU或OpAmp用 三极管适配 以驱动 高Vgs电压的MOS管 + 分流器采样百安级大电流的微电压信号 + 微电压信号放大
SciTech-EECS-Signal-OpAmp(Operational Amplifier,运算放大器): Gain增益放大倍数计算公式 ## 分流器采样百安级大电流的微电压信号 OpAmp(运算 ...
- POLIR-Society-Organization-Communication: 交流: 组织/社会化的沟通: 首先确定对方姓名+Role/身份+判断其目的、立场和认知
要用适合沟通对方的Role/身份,容易理解和舒服的方式,达成我们的目标 POLIR-Society-Organization-Communication: 交流: 组织/社会化的沟通: 首先确定对方 ...