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

ROS2[Humble] -- URDF Tutorial- 02-multipleshapes

概述

该URDF(Unified Robot Description Format)文件定义了一个名为multipleshapes的简单机器人模型,包含两个连杆(base_link和right_leg)和一个固定关节(base_to_right_leg)。

<?xml version="1.0"?>
<robot name="multipleshapes"><link name="base_link"><visual><geometry><cylinder length="0.6" radius="0.2"/></geometry></visual></link><link name="right_leg"><visual><geometry><box size="0.6 0.1 0.2"/></geometry></visual></link><joint name="base_to_right_leg" type="fixed"><parent link="base_link"/><child link="right_leg"/></joint></robot>

在这里插入图片描述

joint

是 URDF(Unified Robot Description Format) 里最核心的元素之一之一,它描述了两个链接(link)之间的空间关系和连接方式(相对位置 + 可动关系)。

<joint name="base_to_right_leg" type="fixed"><parent link="base_link"/><child link="right_leg"/>
</joint>

意思是:

  • 这个关节名叫 base_to_right_leg

  • 它的类型是 fixed(固定连接)

  • 它把 base_link(父)和 right_leg(子)连接在一起

  • 它定义了 “右腿” 相对于 “底座” 的位置和运动约束

type类型说明

类型意义是否可动示例用途
fixed固定连接❌ 不可动零件焊死在一起
revolute转动关节(有限角度)✅ 可动电机转轴、机械臂关节
continuous连续旋转(无限角度)✅ 可动车轮、雷达旋转头
prismatic直线滑动✅ 可动伸缩臂、滑轨
planar平面内移动✅ 可动2D 滑台
floating六自由度(平移+旋转)✅ 可动特殊场景,如虚拟物体

直观理解

可以把它想成「骨骼连接」:

  • link 是骨头

  • joint 是关节
    一个机械臂或机器人模型其实就是:

link1 --joint1--> link2 --joint2--> link3 ...

可旋转

<robot name="multipleshapes"><!-- 基座 --><link name="base_link"><visual><geometry><cylinder length="0.6" radius="0.2"/></geometry><origin xyz="0 0 0" rpy="0 0 0"/></visual></link><!-- 右腿 --><link name="right_leg"><visual><geometry><box size="0.6 0.1 0.2"/></geometry><origin xyz="0 0 0" rpy="0 0 0"/></visual></link><!-- 旋转关节 --><joint name="base_to_right_leg" type="revolute"><parent link="base_link"/><child link="right_leg"/><!-- 指定连接点相对位置(相对 base_link) --><origin xyz="0 0.3 -0.2" rpy="0 0 0"/><!-- 指定旋转轴方向,这里绕 Z 轴旋转 --><axis xyz="0 0 1"/><!-- 限制旋转角度 --><limit lower="-1.57" upper="1.57" effort="1" velocity="1"/></joint></robot>

拖动base_to_right_leg的滑块,可以看到旋转运动

在这里插入图片描述

http://www.dtcms.com/a/511428.html

相关文章:

  • C#实现二维码和条形码生成与打印
  • C#WPF如何跳转页面
  • 【高并发服务器】八、Poller描述符监控类实现
  • 用vs2013网站开发四川最好的网络优化公司
  • 如何开发一个 IDEA 插件通过 Ollama 调用大模型为方法生成仙侠风格的注释
  • 【论文精读】Latent-Shift:基于时间偏移模块的高效文本生成视频技术
  • unity基础学习笔记<上>
  • C# WPF Dragablz使用记录 TabControl选项卡可拖拽为单独界面或停靠
  • 机器人场景落地步入技术验证阶段,微美全息加快创新势能探索AI多元路径变革
  • YOLOv4 核心内容笔记
  • 网站开发工程师待遇家庭网站建设
  • 医疗门户网站模板wordpress3.8
  • iOS的多线程下数据安全和内存泄漏以及工具使用监测内存泄漏
  • 『CMake』关于使用CMake构建项目时的现代/传统指令
  • 请被人做网站怎么做倒计时网站
  • App开发框架调研对比
  • Ubuntu下载以及安装详解以及应用安装
  • 亚马逊云代理:AWS的EC2, S3, RDS,Lambda具体简介
  • 2640. QYQ在艾泽拉斯
  • 基于 React + TypeScript + Fabric.js 构建一个封面生成器网站
  • 营销型电子商务网站品牌建设与推广思路
  • 更新网站 seo公司的管理方式与管理方法
  • BZV49-C22,115稳压二极管 NXP安世半导体 工业电源芯片 芯片解析
  • 职场发展—如何避雷垃圾公司
  • 【Linux篇】软链接vs硬链接:Linux文件系统中的两种引用机制
  • C++ list核心接口与实战技巧
  • 微服务框架
  • 网站模块结构图wordpress调用栏目名称
  • 算法学习记录03——二叉树学习笔记:从两道题看透后序位置的关键作用​
  • Rust高性能分布式任务调度系统开发实践:从设计到性能优化