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.rhkb.cn/news/486884.html

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

相关文章

springSecurity权限控制

权限控制&#xff1a;不同的用户可以使用不同的功能。 我们不能在前端判断用户权限来控制显示哪些按钮&#xff0c;因为这样&#xff0c;有人会获取该功能对应的接口&#xff0c;就不需要通过前端&#xff0c;直接发送请求实现功能了。所以需要在后端进行权限判断。&#xff0…

【C++笔记】map和set的使用

前言 各位读者朋友们大家好&#xff01;上期我们讲完了二叉搜索树这一数据结构&#xff0c;这一期我们来讲STL中的map和set这两大容器。这两个容器的底层是红黑树&#xff0c;红黑树的底层是平衡二叉搜索树。 目录 前言一. 序列式容器和关联式容器二. set系列的使用2.1 set类…

IO进程学习笔记

man手册 普通命令。系统调用的函数。库函数。特殊文件。文件格式。游戏。附加的一些变量 IO介绍 I&#xff1a;input 输入 O&#xff1a;output 输出 对文件的输入和输出 输入-》写文件&#xff0c;将文件中的内容写到内存中去 输出-》读文件&#xff0c;将内存中的内容读取到文…

基于STM32的手势电视机遥控器设计

目录 引言系统设计 硬件设计软件设计系统功能模块 手势识别模块遥控信号发送模块控制接口模块控制算法 手势识别算法遥控信号映射算法代码实现 手势识别与处理遥控信号发送系统调试与优化结论与展望 1. 引言 随着智能家居和物联网技术的发展&#xff0c;传统的电视遥控器逐渐…

哈希表实现

哈希概念 哈希&#xff08;hash&#xff09;又称散列&#xff0c;是一种组织数据的方式。从译名来看&#xff0c;有散乱排列的意思。本质就是通过哈希函数把关键字 Key 跟存储位置建立一个映射关系&#xff0c;查找时通过这个哈希函数计算出 Key 存储的位置&#xff0c;进行快…

CSS学习记录08

CSS文本颜色 文本颜色 color属性用于设置文本的颜色&#xff0c;颜色由以下值指定&#xff1a; 颜色名-比如“red"十六进制值-比如”#ff0000"RGB值-比如&#xff1a;“rgb&#xff08;255,0,0)”等。 页面的默认文本颜色在body选择器中定义的。 body {color: bl…

电子商务人工智能指南 6/6 - 人工智能生成的产品图像

介绍 81% 的零售业高管表示&#xff0c; AI 至少在其组织中发挥了中等至完全的作用。然而&#xff0c;78% 的受访零售业高管表示&#xff0c;很难跟上不断发展的 AI 格局。 近年来&#xff0c;电子商务团队加快了适应新客户偏好和创造卓越数字购物体验的需求。采用 AI 不再是一…

R155 VTA 认证对汽车入侵检测系统(IDS)合规要求

续接上集“浅谈汽车网络安全车辆型式认证&#xff08;VTA&#xff09;的现状和未来发展”&#xff0c;有许多读者小伙伴有联系笔者来确认相关的R155 VTA网络安全审核要求&#xff0c;基于此&#xff0c;笔者将针对 R155 VTA 每一条网络安全审核细则来具体展开。 今天就先从汽车…

利用Java爬虫按关键字搜索淘宝商品

在当今数字化时代&#xff0c;获取和分析电子商务平台上的商品数据对于市场研究者、数据分析师或个人买家而言是一项非常有用的能力。本文将详细介绍如何利用Java爬虫技术按关键字搜索淘宝商品&#xff0c;并提供相应的代码示例。 1. 爬虫技术简介 爬虫&#xff08;Web Crawle…

数据结构——B-树

目录 一.常见的搜索结构 二.B-树概念 三.B-树的插入分析及实现 1.插入分析 2.插入实现 1. B-树的节点设计 2.插入key的过程 3.B-树的插入实现 4.B-树的验证 5.B-树的性能分析 四.B树和B*树 1.B树 2.B*树 3.总结 五.B-树的应用 1.索引 2.MySQL索引简介 1.MyIS…

【vue2】封装自定义的日历组件(二)之基础添加返回到今天的功能

在上次封装的日历组件的基础上&#xff0c;我们完善下&#xff0c;在月份变化后&#xff0c;返回到当前月份的的当天日期的显示。 效果展示 代码逻辑 高亮的UI样式美化 .calendar-day {color: #d7d7d7;width: 100px;line-height: 80px;text-align: center;box-sizing: borde…

连续大涨,汉王科技跑步进入AI应用舒适区

OpenAI正在进行的“12天12场直播”让行业再次沸腾&#xff0c;二级市场也在寻找AI应用的机会。这刺激了12月首周同花顺sora概念涨超11&#xff05;&#xff0c;远超同期大盘指数涨幅。 截至目前&#xff0c;“满血版”推理模型o1和月收费高达200美元的ChatGPT Pro订阅服务&…

沃丰科技智能客服在跨境电商独立站中的核心角色

随着全球化进程的加速和互联网技术的不断发展&#xff0c;跨境电商行业蓬勃兴起&#xff0c;为消费者提供了更广阔、更便捷的购物选择。在这样一个竞争激烈的市场环境中&#xff0c;优质的客户服务成为了企业脱颖而出的关键。沃丰科技智能客服凭借其先进的技术和人性化的设计理…

智创 AI 新视界 -- AIGC 重塑广告行业的创新力量(16 - 7)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

入门级捡垃圾工作站记录

入门级捡垃圾工作站记录 想法 一直想着拥有有一台自己的多功能机子&#xff0c;一个笔记本很难事事包办&#xff0c;本来打算配一个台式机&#xff0c;后来研究了一下&#xff0c;索性捡垃圾拼装的工作站&#xff0c;性价比更高&#xff0c;稳定性也更强&#xff0c;而且还可…

SpringBoot【三】多环境切换,实例演示

一、前言 实际的项目开发中&#xff0c;一个项目通常会存在多个环境&#xff0c;例如&#xff0c;开发环境、测试环境和生产环境等。不同环境的配置也不尽相同&#xff0c;例如开发环境使用的是开发数据库&#xff0c;测试环境使用的是测试数据库&#xff0c;而生产环境使用的是…

Node.js创建Express项目安装express-generator报错

一、在我进行Node.js项目开发时&#xff0c;使用Express框架构建一个Express项目&#xff0c;时报错&#xff1a; npm warn deprecated mkdirp0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has change…

在 .NET 9 中让您的 OpenAPI(Swagger)文档 UI 变得出色

从 .NET 9 开始&#xff0c;默认模板中不再包含 Swagger UI webapi。虽然文档仍然包含在内&#xff0c;但现在通过调用MapOpenApi&#xff0c;UI 不再存在。很高兴&#xff0c;重新获得文档 UI 相对容易。但 UI 本来就很无聊&#xff0c;所以让我们来点更花哨的东西吧&#xff…

使用Kimi开发自己的问答应用

概述 Kimi是大家常用的一个人工智能助手&#xff0c;本文使用Kimi开发文档&#xff0c;以node作为后端&#xff0c;开发与一个问答系统 实现效果 Kimi简介 Kimi是由Moonshot AI开发的人工智能助手&#xff0c;擅长中文和英文对话。目标是帮助用户解决问题、提供信息和执行任…

2024.12.09标准IO(作业)

1、使用这fscanf和fprintf两个函数实现文件的拷贝。 #include <myhead.h>int main(int argc, const char *argv[]) {//使用这fscanf和fprintf两个函数实现文件的拷贝FILE *fp1 fopen("./1.txt","r"); //打开被拷贝的文件1.txtif(NULL fp1){perror…