4. gazebo仿真环境中添加robotiq 2f 140的gripper_controller控制器

news/2025/1/10 22:43:55/文章来源:https://www.cnblogs.com/freedom-w/p/18664830

原文地址: gazebo仿真环境中添加robotiq 2f 140的gripper_controller控制器

gazebo仿真环境中添加robotiq 2f 140的gripper_controller控制器
搭建环境:

ubuntu: 20.04
ros: Nonetic
sensor: robotiq_ft300
gripper: robotiq_2f_140_gripper
UR: UR3
reasense: D435i

通过下面几篇博客配置好了ur3、力传感器、robotiq夹爪、realsense的rviz和gazebo仿真环境

ubuntu20.04配置UR机械臂的仿真环境

ur3+robotiq ft sensor+robotiq 2f 140配置rviz仿真环境

ur3+robotiq ft sensor+robotiq 2f 140配置gazebo仿真环境

ur3+robotiq ft sensor+robotiq 2f 140+realsense d435i配置rviz,gazebo仿真环境

通过上一篇博客在仿真环境配置好realsense后,打开发布的话题发现并没有夹爪的话题

经过robotiq/robotiq_2f_140_gripper_gazebo/launch/robotiq_2f_140_bringup.launchuniversal_robot/ur_gazebo/launch/ur3_bringup.launch文件比对,发现ur3_bringup.launch只有机

械臂的控制器(如下图),没有加上夹爪的控制器

找到robotiq_2f_140_bringup.launch中夹爪控制器(如下图)

然后将其加入到ur3_bringup.launch文件中(注意仿照这两个文件控制器的加载方式来加入,而不是单纯复制框中的代码)

我在ur3_bringup.launch加入的代码如下

<!-- Load Gripper controller settings -->
<rosparam file="$(find robotiq_2f_140_gripper_gazebo)/config/robotiq_2f_140_gripper_controllers.yaml" command="load"/>
<!-- Load and start the gripper controllers listed in the 'controllers' arg. -->
<node name="gripper_controller_spawner" pkg="controller_manager" type="spawner"
args="gripper_controller" output="screen" respawn="false" />

ur3_bringup.launch完整代码如下

<?xml version="1.0"?>
<launch><!--Robot description and related parameter files --><arg name="robot_description_file" default="$(dirname)/inc/load_ur3.launch.xml" doc="Launch file which populates the 'robot_description' parameter."/><arg name="joint_limit_params" default="$(find ur_description)/config/ur3/joint_limits.yaml"/><arg name="kinematics_params" default="$(find ur_description)/config/ur3/default_kinematics.yaml"/><arg name="physical_params" default="$(find ur_description)/config/ur3/physical_parameters.yaml"/><arg name="visual_params" default="$(find ur_description)/config/ur3/visual_parameters.yaml"/><!-- Controller configuration --><arg name="controller_config_file" default="$(find ur_gazebo)/config/ur3_controllers.yaml" doc="Config file used for defining the ROS-Control controllers."/><arg name="controllers" default="joint_state_controller eff_joint_traj_controller" doc="Controllers that are activated by default."/><arg name="stopped_controllers" default="joint_group_eff_controller" doc="Controllers that are initally loaded, but not started."/><!-- robot_state_publisher configuration --><arg name="tf_prefix" default="" doc="tf_prefix used for the robot."/><arg name="tf_pub_rate" default="125" doc="Rate at which robot_state_publisher should publish transforms."/><!-- Gazebo parameters --><arg name="paused" default="false" doc="Starts Gazebo in paused mode" /><arg name="gui" default="true" doc="Starts Gazebo gui" /><!-- Load urdf on the parameter server --><include file="$(arg robot_description_file)"><arg name="joint_limit_params" value="$(arg joint_limit_params)"/><arg name="kinematics_params" value="$(arg kinematics_params)"/><arg name="physical_params" value="$(arg physical_params)"/><arg name="visual_params" value="$(arg visual_params)"/></include><!-- Robot state publisher --><node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher"><param name="publish_frequency" type="double" value="$(arg tf_pub_rate)" /><param name="tf_prefix" value="$(arg tf_prefix)" /></node><!-- Start the 'driver' (ie: Gazebo in this case) --><include file="$(dirname)/inc/ur_control.launch.xml"><arg name="controller_config_file" value="$(arg controller_config_file)"/><arg name="controllers" value="$(arg controllers)"/><arg name="gui" value="$(arg gui)"/><arg name="paused" value="$(arg paused)"/><arg name="stopped_controllers" value="$(arg stopped_controllers)"/></include><!-- Load Gripper controller settings --><rosparam file="$(find robotiq_2f_140_gripper_gazebo)/config/robotiq_2f_140_gripper_controllers.yaml" command="load"/><!-- Load and start the gripper controllers listed in the 'controllers' arg. --><node name="gripper_controller_spawner" pkg="controller_manager" type="spawner"args="gripper_controller" output="screen" respawn="false" />
</launch>

查看效果

运行命令

cd ~/catkin_ws
source devel/setup.bash
roslaunch ur_gazebo ur3_bringup.launch

 

现在多出来gripper夹爪控制器的话题

遇到的bug

在弄完上面的直接运行会发现命令行中有一个报错

主要原因是universal_robot/ur_gazebo/urdf/ur_macro.xacro文件和

robotiq/robotiq_2f_140_gripper_gazebo/urdf/robotiq_arg2f_140_macro.xacro都有声明

ros_control如下图

只要注释掉其中一个ros_control就可以了,这里我注释了robotiq_arg2f_140_macro.xacro中的,问题解决,没有再报错

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/867379.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tomcat9.0下载安装及配置图文教程

下载 官网:http://tomcat.apache.org/ 选择下载64-Bit Windows zip(Win64)2.解压到任意一个盘,如,D:\apache-tomcat-9.0.98 3.设置环境变量 CATALINA_HOME:D:\apache-tomcat-9.0.98 找到系统变量Path,添加:%CATALINA_HOME%\bin验证是否配置成功 进入Windows命令行窗口,…

3. ur3+robotiq ft sensor+robotiq 2f 140+realsense d435i配置rviz,gazebo仿真环境

原文地址: ur3+robotiq ft sensor+robotiq 2f 140+realsense d435i配置rviz,gazebo仿真环境 ur3+robotiq ft sensor+robotiq 2f 140+realsense d435i配置rviz,gazebo仿真环境搭建环境: ubuntu: 20.04ros: Noneticsensor: robotiq_ft300gripper: robotiq_2f_140_gripperUR: U…

01 Java入门

1972年C诞生贴近硬件、运行极快、效率较高 操作系统、编译器、数据库、网络系统等 指针和内存管理1982年C++诞生面向对象 兼容C 图形领域、游戏等1995年Java诞生简单性 面向对象 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性Java三大版本JavaSE:标准版(桌面程序、控制…

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.04ros: Noneticsensor: robotiq_ft300gripper: robotiq_2f_140_gripperUR: UR3 通过上一篇博客配置好ur3、力传感器和roboti…

Git学习遇到的抽风问题记录

学习git commit和git add的区别的时候,一不小心git commit 没有加“-m”,进入了一个vim配置页面:搞了半天死活出不来,而且担心修改了不该动的东西 解决办法:输入“:”然后输入qa!//放弃任何更改并退出 解决!

咸鱼学习第一天

markdown以及编辑器obsidian的学习 1 创建新笔记Ctrl+n Ctrl+o (可以快速打开需要的笔记;可以加文档名+笔记标题)2 文档属性设置 三个“---”可以添加日期、别名、标签 3 最常用语言一个’-‘加一个空格是一个小圆点 几个“#”+一空格就是几级标题 链接设置①:如我要在…

BurpSuite实操之重发器功能使用

手动操作来触发单独的HTTP请求,并进行应用程序响应的工具,此功能用于根据不同的情况修改和发送相后的请求并分析,通过调整Request的参数,不断尝试,通过Response查看状态,从而节省在浏览器中操作的时间。 在渗透测试过程中,我们经常使用Repeater进行请求与响应的消息验证…

G1原理—3.G1是如何提升垃圾回收效率

大纲 1.G1为了提升GC的效率设计了哪些核心机制 2.G1中的记忆集是什么 3.G1中的位图和卡表 4.记忆集和卡表有什么关系 5.RSet记忆集是怎么更新的 6.DCQ机制的底层原理是怎样的 7.DCQS机制及GC线程对DCQ的处理提升G1垃圾回收器GC效率的黑科技 G1设计了一套TLAB机制 + 快速分配机制…

1.10日学习笔记之C++的类

类其实就是一种数据类型,和结构相似。类的成员包括两类,属性(成员变量)和行为(成员函数)。 成员函数定义的两种方法(可能有多种,觉得这两种比较常用) 1、将类的成员函数定义在类体内,如 class CPerson {public: short age;short getage(){return age;}};2、将类的成…

着火智能监测识别摄像机

着火智能监测识别摄像机利用了先进的图像处理技术和人工智能算法,能够快速、准确地检测环境中的着火点,从而及时采取必要的安全措施。其工作原理如下:首先,摄像机配备高清摄像头,能够实时捕捉并传输环境图像。这些图像通过内置的处理单元,进行高效处理和分析。其次,利用…

BurpSuite实操之测试器功能

对web应用程序进行自动化攻击。此功能有多种用途,如漏洞利用、模糊测试、进行暴力pojie等1、目标设置代理发送过来请求的目标主机及端口信息。 输入要攻击的目标及端口2、位置设置在这个模块可以设置攻击的参数,及攻击使用的类型(1)Sniper-狙击手(2)Battering ram-破城锤…

采沙船智能监测识别摄像机

采沙船智能监测识别摄像机还支持数据记录和分析功能,可以生成详尽的非法采沙统计报告和趋势分析,为河流管理决策提供科学依据。管理部门可以通过监控系统的数据分析,制定精准的禁采政策和优化河流资源管理,有效保护水域生态环境,防止非法采砂对生态系统的破坏。在实际应用…