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

前言

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

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

正文

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

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

可视化的话,大家修改具体的xacro路径。

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

bash 复制代码
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文件内容很简单。

xml 复制代码
<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模型。

相关推荐
TANGLONG2221 分钟前
【初阶数据结构与算法】八大排序算法之选择排序(直接选择排序、堆排)
c语言·数据结构·c++·考研·算法·面试·排序算法
Mr.Winter`1 小时前
障碍感知 | 基于2D激光点云的行人检测器DROW算法详解(附Python实现与ROS仿真)
神经网络·算法·目标检测·计算机视觉·机器人·自动驾驶·ros
Dream it possible!2 小时前
LeetCode 热题 100_删除链表的倒数第 N 个结点(29_19_中等_C++)(单链表;双指针)(new_delete)
c++·leetcode·链表
杭州_燕十三7 小时前
milkv-duo256m ubuntu 系统构建与运行
linux·ubuntu·sg2002
滴水之功7 小时前
VMware ubuntu12.04怎么设置静态IP联网
linux·ubuntu
轩情吖8 小时前
C++STL之list(用法超详解)
开发语言·数据结构·c++·链表·迭代器·list·带头双向循环链表
夕泠爱吃糖9 小时前
C++中如何实现接口继承与实现继承,以及它们的区别?
开发语言·c++
-Harvey9 小时前
ubuntu20.04+ROS Noetic 安装PX4+Mavros
ros·px4·mavros·四旋翼无人机
暴怒香菜统治世界9 小时前
C++ 入门基础
c语言·开发语言·c++
明月醉窗台10 小时前
C++ SQLite轻量化数据库使用总结
数据库·c++·sqlite