当前位置: 首页 > article >正文

ros项目dual_arm_pick-place(urdf文件可视化查看)

前言

一直想写一些项目的讲解,今天(2024.12.05)可以说正式开始了。

dual_arm_pick-place项目,是关于两个机械臂协同传递物品。

正文

这次的话,给大家讲一下里面的urdf文件。

在这里插入图片描述
这篇文章主要来看一下项目中的urdf文件,项目里面其实写了很多xacro文件,但是很多都是有问题的。

在这里插入图片描述
可视化的话,大家修改具体的xacro路径。

然后运行下面命令就可以看到了。

roslaunch marm_description view_arm.launch

arm.xacro

在这里插入图片描述
我通过代码比较,发现arma.xacroarmb.xacro,就只是那些link名称进行了改变。

在这里插入图片描述
你去可视化arma.xacroarmb.xacro都没问题。


当你可视化arms1.xarco时候,报错了

在这里插入图片描述

src/dual_arm_pick_place/marm_description/urdf/arms1.xacro文件内容很简单。

<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="arms">
    <xacro:include filename="arma.xacro"/>
    <xacro:include filename="armb.xacro"/>
</robot>

就是将两个文件导入过来,然后就提示Black不是unique,因为两个文件都定义了。

如果你要修改的话,需要将一个文件中的相关颜色都删除。

这里我不做任何修改,继续往下看,你就会得出一个结论。


你进行arms2.xarco可视化。

发现还是会报错。

在这里插入图片描述
你查看arms1.xacroarms2.xacro,可以发现差别挺大,但是,看了代码和之前的错误后,我猜测作者因为颜色的多次定义,将两个文件写在了一起,这时候就不会出现颜色的多次定义了。

在这里插入图片描述
但是,还是会有一个核心错误

Failed to find root link: Two root links found: [base_linka] and [base_linkb]

这个错误就是不止一个根link

照理来说,一个项目,应该只有一个根link。


然后我发现,arms2.xacroarms2a.xacro的内容是一样的。所以这个文件,就不去看了。


arms2b.xacro

针对前面的不止一个根link,作者在这个文件中进行了解决。

在这里插入图片描述
可以看到,将之前的根link,也就是base_linkabase_linkb绑定在root_link上,这就解决了。

在这里插入图片描述

运行可视化,也没啥问题了。

总结

按照顺序可视化后,你是不是对其中的文件有了很大的了解。

文件是否有用
arm.xacro有用
arma.xacro有用
armb.xacro有用
arms1.xacro没用
arms2.xacro没用
arms1a.xacro没用
arms1b.xacro有用

其中没用的文件,也不能说没用,我们从中也可以看出作者的思考过程,最后得出一个正确的文件。

如果你以后也要搞多臂的项目,就可以借鉴这个项目的思路,搭建robot模型。


http://www.kler.cn/a/429243.html

相关文章:

  • 从 SQL 语句到数据库操作
  • MySQL SQL优化技巧与原理
  • 数据库(MySQL)练习
  • TensorFlow深度学习实战(5)——神经网络性能优化技术详解
  • 解决 Mac 系统上的 node-sass 问题
  • ubuntu支持中文的字体
  • 设计模式----链式设计
  • 如何在 JavaScript 中设置定时器?
  • 2024-09 GESP C++ 一级试题及答案解析
  • 使用Jackson库的ObjectMapper类将Java对象转换为JSON格式
  • 数据结构之五:排序
  • ubuntu18.04升级到20.04
  • Web后端开发技术:RESTful 架构详解
  • 聚观早报 | 华为Mate 70开售;小米15 Ultra影像大升级
  • HDFS的架构优势与基本操作
  • vivado中,generate output product 和Create HDL wrapper的作用
  • 数据分析power bi负值条形图
  • 大模型Qwen面试内容整理-模型部署与优化
  • 代码随想录第40天
  • [MySQL基础](三)SQL--图形化界面+DML
  • 使用 Temporal 管理和调度 Couchbase SQL 脚本的实际例子
  • React第十四节useState使用详解差异
  • MongoDB 建模调优change stream实战
  • 【html网页页面010】html+css制作茶品牌文创网页制作含视频元素(7页面附效果及源码)
  • 华为TaurusDB与GaussDB:信创改造的“降本提效”之路
  • npm、yarn、pnpm 设置最新国内镜像源(附官方镜像源和最新阿里源),以及 nrm 的使用教程