ROS2 URDF 常用语法精讲(只讲工程高频用法,附带示例)
URDF 本质是XML文件用来描述机器人刚体连杆link 关节joint。两大核心标签link刚体、joint两个连杆之间的连接关系注意纯URDF缺点不能复用代码实际项目一般搭配XACRO简化URDF支持变量、宏后面顺带讲基础xacro语法。一、整体文件骨架?xml version1.0? robot namemy_robot !-- 所有link、joint写在这里 -- /robotrobot name根标签一个机器人模型全部包裹在内。1. 连杆机器人的一段刚体底盘、轮子、机械臂节完整常用模板link namebase_link !-- 视觉模型rviz里看到的外形 -- visual !-- 原点相对link自身坐标系偏移 -- origin xyz0 0 0 rpy0 0 0/ !-- 几何体box长方体 / cylinder圆柱 / sphere球 / mesh外部模型(stl/dae) -- geometry box size0.6 0.4 0.2/ /geometry !-- 颜色 -- material nameblue color rgba0 0 1 0.8/ /material /visual !-- 碰撞模型物理仿真(Gazebo)碰撞检测一般简化形状不用精细模型 -- collision origin xyz0 0 0 rpy0 0 0/ geometry box size0.6 0.4 0.2/ /geometry /collision !-- 惯性参数仿真必须静态展示rviz可以省略 -- inertial origin xyz0 0 0 rpy0 0 0/ mass value5.0/ inertia ixx0.1 iyy0.1 izz0.1 ixy0 ixz0 iyz0/ /inertial /link重点标签说明origin xyzx y z rpyroll pitch yawxyz平移(m)rpy旋转弧度不是角度geometry 四类常用box size长 宽 高/ cylinder radius0.1 length0.5/ sphere radius0.1/ mesh filenamepackage://robot_description/meshes/wheel.stl/material 颜色 rgba红、绿、蓝、透明度0完全透明1不透明区分visual 可视化看的模型collision 物理碰撞使用模型inertial 质量惯性仿真Gazebo/Isaac必备2. 关节连接两个link重中之重通用模板joint namebase_to_wheel typerevolute !-- 父连杆、子连杆 -- parent linkbase_link/ child linkwheel_link/ !-- 关节原点子link坐标系相对于父link的位置姿态 -- origin xyz0.3 0.2 0 rpy1.5708 0 0/ !-- 旋转/移动轴关节运动沿着哪个轴 -- axis xyz1 0 0/ !-- 限位旋转/平移关节有效范围 -- limit lower-1.57 upper1.57 effort10.0 velocity1.0/ /jointjoint type 5种最常用类型类型含义使用场景fixed固定关节不能动雷达、相机固定安装在底盘最常用revolute旋转关节有角度限位机械臂舵机、转向轮continuous连续旋转无角度限制驱动轮小车轮子无限旋转prismatic平移关节直线滑动升降机构、伸缩推杆floating6自由度自由运动极少用空中悬浮物体关键标签解释parent父连杆child子连杆✅ 规则整个urdf必须构成树形结构不能出现环axis xyz1 0 0运动轴线x1沿X轴0 1 0沿Y轴0 0 1沿Z轴fixed固定关节可以省略axislimitlower upper最小/最大角度(rad)或位移(m)effort最大力矩/推力velocity最大速度fixed关节不需要limit标签高频例子相机固定在底盘上joint namebase_camera_joint typefixed parent linkbase_link/ child linkcamera_link/ origin xyz0.2 0 0.15 rpy0 0 0/ /joint3. 机器人坐标系约定行业通用规范写urdf必遵守base_link机器人底盘根连杆整棵树的根没有父关节camera_link相机坐标系laser_link激光雷达坐标系TF2坐标树就是urdf自动解析生成的rviz中RobotModel包会解析urdf自动发布所有TF变换4. URDF 在ROS2如何使用一般放到包内urdf/xxx.urdf通过robot_state_publisher节点加载urdf自动发布TFlaunch核心代码示意robot_desc CommandParameter( robot_description, valuePathJoinSubstitution([ FindPackageShare(robot_description), urdf, car.urdf ]) ) robot_state_publisher_node Node( packagerobot_state_publisher, executablerobot_state_publisher, parameters[robot_desc] )5. XACRO 简单语法工程基本都会用解决URDF重复代码后缀.xacro最终运行时自动展开为urdf定义变量xacro:property namewheel_radius value0.1/使用${wheel_radius}cylinder radius${wheel_radius} length0.08/宏重复结构封装比如左右车轮xacro:macro namewheel paramsprefix x_pos y_pos link name${prefix}_wheel_link ... /link joint name${prefix}_joint typecontinuous parent linkbase_link/ child link${prefix}_wheel_link/ origin xyz${x_pos} ${y_pos} 0/ axis xyz0 1 0/ /joint /xacro:macro !-- 调用宏一次性生成左轮、右轮 -- xacro:wheel prefixleft x_pos0.2 y_pos0.15/ xacro:wheel prefixright x_pos0.2 y_pos-0.15/6. 常用调试命令ROS2# 检查urdf语法错误非常重要 urdf_check car.urdf # xacro转urdf查看展开结果 xacro car.xacro out.urdf7. 新手最容易踩坑重点总结rpy 单位弧度不是角度90° 1.5708 radlink名称不能重复joint名称不能重复模型必须是树形结构禁止闭环fixed关节用来安装传感器相机、雷达90%传感器关节都是fixed小车驱动轮子用continuous不要用revolute只有仿真需要写inertial单纯rviz可视化可以删掉节省代码

相关新闻

微信小游戏性能优化实战:WASM与Unity调优

微信小游戏性能优化实战:WASM与Unity调优

1. 微信小游戏性能优化概述微信小游戏作为轻量级游戏平台,其性能表现直接影响用户体验和留存率。不同于原生手游,小游戏运行在微信环境中,受到平台限制和WebGL渲染管线的双重约束。我在多个千万级DAU小游戏项目中积累的实战经验表明&#xff…

2026/8/4 15:45:58 阅读更多 →
探秘武夷山国家公园,寻安静无异味的舒适酒店

探秘武夷山国家公园,寻安静无异味的舒适酒店

引言武夷山国家公园以其壮丽的自然风光和丰富的文化底蕴吸引着众多游客。而在旅行中,一个安静、无异味且舒适的酒店对于游客来说至关重要。锦江都城酒店(武夷山三姑度假区店)便是这样一个理想的选择。一、酒店位置与周边环境锦江都城酒店&…

2026/8/4 15:45:58 阅读更多 →
ABPP探针合成与活性验证:从结构设计到质控全攻略(二)

ABPP探针合成与活性验证:从结构设计到质控全攻略(二)

引言 上篇我们把光亲和ABPP探针的三段式结构掰开揉碎聊了一遍 —— 弹头选哪个、Linker多长合适、报告标签走哪条路线,这些设计层面的门道,只要耐心琢磨,总能找到最优解。但说实话,设计再完美的探针,只要没经过系统验…

2026/8/4 15:45:58 阅读更多 →

最新新闻

UE5启动卡75%?JetBrains Rider插件冲突诊断与彻底解决

UE5启动卡75%?JetBrains Rider插件冲突诊断与彻底解决

1. 项目概述:当UE5启动在75%时“卡死”,一个被忽视的插件冲突如果你正在用Unreal Engine 5进行开发,尤其是结合了JetBrains Rider这款强大的C/蓝图IDE,那么你很可能遇到过这个让人血压飙升的场景:满怀期待地双击UE5编辑…

2026/8/4 17:21:50 阅读更多 →
现代人情感困境:坚强面具下的心理与生理影响

现代人情感困境:坚强面具下的心理与生理影响

1. 当坚强褪去:现代人的情感困境解析我们生活在一个崇尚"强者文化"的时代。社交媒体上充斥着健身打卡、职场晋升和完美生活的展示,仿佛脆弱和疲惫是不被允许的存在。但每个深夜独自刷手机的时刻,每次强撑微笑后的空虚感&#xff0c…

2026/8/4 17:21:50 阅读更多 →
PoE级联摄像机到底是什么,看完终于弄明白了

PoE级联摄像机到底是什么,看完终于弄明白了

在网络视频监控项目中,施工人员最头疼的问题之一就是布线距离。当摄像机安装位置距离机房较远时,一根普通网线最多只能传输100米,这意味着需要增加交换机、重新铺设光纤,或者寻找新的供电方式,不仅增加施工成本,也提高了后期维护难度。 为了应对这类场景,近年来越来越多…

2026/8/4 17:20:50 阅读更多 →
Windows也能拥有Linux般的命令行效率

Windows也能拥有Linux般的命令行效率

在科技圈,Linux系统一直以强大的命令行界面著称,许多开发者和技术爱好者都习惯在终端中高效完成各种任务。相比之下,Windows系统虽然在图形界面上体验出色,但原生的命令行工具在搜索速度、文件浏览和目录跳转等方面常常显得不够灵活。不过,好消息是,如今有大量优秀的跨平…

2026/8/4 17:20:50 阅读更多 →
南大通用GBase 8a数据库脱敏功能解析(下篇)

南大通用GBase 8a数据库脱敏功能解析(下篇)

南大通用GBase8a数据库(gbase database)的数据脱敏功能是一个高效、灵活且安全的数据保护工具,能够帮助企业在保障数据安全的同时,最大限度地发挥数据价值。GBase 8a的数据脱敏功能具备开发简单的特性:纯SQL语句形式&a…

2026/8/4 17:20:50 阅读更多 →
2026年贵阳装修公司推荐:价格合理口碑好,这样选不踩坑

2026年贵阳装修公司推荐:价格合理口碑好,这样选不踩坑

2026年在贵阳选装修公司,说难不难,说简单也不简单。我身边有朋友装修前做了三个月功课,最后依然在“价格”和“质量”之间反复拉扯。结合近两年贵阳市场的真实变化,想把一份相对客观的参考思路整理出来,给正在做准备工…

2026/8/4 17:20:50 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →