机器人xacro文件转换成urdf文件方法,并在rviz可视化

一、进入工作空间,source一下

cd cat_ws
source devel/setup.bash

二、进入xacro所在的文件夹,完成xacro文件到urdf文件的转换

cd src/kinova-ros/kinova_description/urdf/

然后执行下面命令

rosrun xacro xacro.py two_arm_robot_example_standalone.xacro > two_arm_robot_example_standalone.urdf

随后就生成了相应的urdf文件。

三、为了检验生成urdf模型的准确性,我们进行简单的检查,在同一个目录下输入:

check_urdf two_arm_robot_example_standalone.urdf

下面步骤可省略:
为了更直观的观看关节链接情况,我们在同一个目录下输入下面这行命令,就会得到 j2s6a300.gv 和 j2s6a300.pdf 两个文件,打开pdf如下图所示。

urdf_to_graphiz two_arm_robot_example_standalone.urdf

在这里插入图片描述
四、在rivz可视化urdf模型
1.进入机器人模型描述文件的launch文件夹

cd cat_ws/src/kinova-ros/kinova_description/launch

编写 launch 文件,取名: display_two_arm_robot.launch ,内容如下:

<launch><arg name="gui" default="True" /><arg name="kinova_robotType" default="two_arm_robot_example" /><param name="robot_description" command="$(find xacro)/xacro.py '$(find kinova_description)/urdf/$(arg kinova_robotType)_standalone.xacro'" /><param name="use_gui" value="$(arg gui)"/><node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher"><param name="zeros/$(arg kinova_robotType)_joint_2" value="3.1415"/><param name="zeros/$(arg kinova_robotType)_joint_3" value="3.1415"/><param name="zeros/$(arg kinova_robotType)_joint_4" value="3.1415"/> </node><node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" /><node name="rviz" pkg="rviz" type="rviz" args="-d $(find kinova_description)/urdf/urdf.rviz" required="true" />
</launch>

注意:这里模仿着同目录下的文件写就可以,很简单,就是写几个节点

进入工作空间,source一下,输入以下指令:

roslaunch kinova_description display_two_arm_robot.launch

添加机器人模型RobotModel,Fixed Frame根据自己的机器人模型选择,我这里是root
转动每个关节,检查无误后,模型建立完成。

在这里插入图片描述

完结,撒花~~

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

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

相关文章

华为路由器如何通过Console口进行基本配置

华为HCIA试听课程&#xff1a;不会传输层协议&#xff0c;HCIA都考不过https://mp.weixin.qq.com/s/oKAL8GvdrcHEb5O_8bEZZQ 思科CCNA试听课程&#xff1a;适合初学者&#xff1a;VLAN原理与配置https://mp.weixin.qq.com/s/toIJg1EVFImalrwzbTONTQ 组网图形 组网需求 通过Cons…

设计模式之责任链模式

文章目录 1、基本介绍2、包含角色3、场景推导4、责任链模式的优缺点5、使用场景 1、基本介绍 王二狗本来是干Android开发的&#xff0c;最近公司想让他把IOS的活也干了&#xff0c;但是Windows笔记本不能开发IOS&#xff0c;所以二狗提出买一台Mac笔记本电脑。这花钱的事需要领…

css animation 鼠标移入暂停会抖动

如图 实现一个赞助商横向滚动列表墙&#xff0c; 上下两排向右滚动&#xff0c;中间向左滚动&#xff0c;鼠标移入暂停当前行。 实现&#xff1a; // 使用animation.moving {animation: move 20s linear infinite; }keyframes move {0% {}100% {transform: translateX(-50%);…

node版本控制工具nvm使用笔记

由于不同的项目所需要的node环境不同&#xff0c;所以在运行支持node 12或者node 16版本的项目时卸载安装不同版本的node非常麻烦&#xff0c;恰巧公司有一个热心的同事告诉我可以使用nvm来进行版本控制&#xff0c;我使用了之后发现确实好用&#xff0c;写一篇笔记记录一下。 …

C#内存不够解决方法

今天在使用C#程序的时候&#xff0c;出现了下图的问题&#xff1a; 注意下图中我用红框标出的位置&#xff0c;实际是一个三维数组。 但是出现这个问题和三维数组没有关系。 他是提示内存不足。 百度了一下&#xff0c;C#在生成的过程中如果是生成对应的32位系统&#xff0c…

【优选算法】—— 滑动窗口类问题

本期&#xff0c;我给大家带来的是关于滑动窗口类算法的介绍&#xff0c;并通过具体的题目帮助大家思考理解。 目录 &#xff08;一&#xff09;基本概念 &#xff08;二&#xff09;题目讲解 1、难度&#xff1a;medium 1️⃣长度最小的子数组 2️⃣找到字符串中所有字⺟…

“坏邻居”导致的kafka生产者TPS下降原因排查

背景&#xff1a; 今天测试了两种不同的场景下kafka producer的tps性能数据&#xff0c;两种场景下都是使用3个线程&#xff0c;每个线程都是对应一个kafka producer&#xff0c;测试发送到kafka集群的消息的量&#xff0c;两个场景的区别是场景A只发送kafka消息&#xff0c;场…

开源代码分享(6)—考虑实时市场联动的电力零售商鲁棒定价策略(附matlab代码)

摘要&#xff1a;电力零售商作为连接电力批发市场与零售市场的桥梁&#xff0c;是电力市场化改革中的重要主体&#xff0c;其经营效率直接决定了市场化改革的成败。然而电力零售商在运营过程中面临着用电量需求和价格双重不确定性的市场风险&#xff0c;亟需通过优化市场行为以…

HCIP第七天

题目 拓扑图 1.所有路由器各自创建一个环回接口&#xff0c;合理规划IP地址 测试 2. R1-R2-R3-R4-R6之间使用OSPF协议&#xff0c;R4-R5-R6之间使用RIP协议 3. R1环回重发布方式引入OSPF网络 4. R4/R6上进行双点双向重发布 将OSPF中的环回接口改成broadcast 因为华为默认环回接…

ue4 MRQ渲染器时,媒体纹理播放速度会被加快

问题描述&#xff1a;当MRQ渲染器开启抗锯齿时&#xff0c;媒体纹理的播放速度会被加快 解决办法&#xff1a;通过执行抗锯齿控制台命令来解决

【基于矢量射线的衍射积分 (VRBDI)】基于矢量射线的衍射积分 (VRBDI) 和仿真工具(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Windows系统下的mysql版本升级

Windows系统下的mysql版本升级 1、下载Mysql https://dev.mysql.com/downloads/mysql/ 2、停止mysql 3、解压到对应路径 mysql-8.0.33-winx64 4、备份旧数据库 5、将8.0.32 下的data文件和my.ini文件copy至8.0.33路径下 6、进入到mysql文件夹bin目录下面执行 mysqld --…