ROS学习笔记(十):机器人建模

news2024/11/26 18:21:17

ROS学习笔记(十):机器人建模

  • 统一机器人描述格式(URDF)
    • link标签
    • joint标签
    • robot标签
    • gazebo标签
  • URDF检查
  • URDF可视化

统一机器人描述格式(URDF)

URDF(Unified Robot Description Format,统一机器人描述格式)是ROS中一个非常重要的机器人模型描述格式,ROS同时也提供了URDF文件的C++解析器,可以解析URDF文件中使用XML格式描述的机器人模型。URDF模型可以通过文本编辑器创建,若有CAD模型,也可以将CAD模型转化为URDF模型。

link标签

<link>标签用于描述机器人某个刚体部分的外观和物理属性,包括尺寸(size)、颜色(color)、形状(shape)、惯性矩阵(inertial matrix)、碰撞参数(collision propertes)等。

机器人的link结构基本的URDF描述语法如下:

<link name="<link name>">
<inertial>......</inertial>
	<visual>......</visual>
	<collision>......</collision>
</link>
  • <visual>标签用于描述机器人link部分的外观参数;
  • <inertial>标签用于描述link的惯性参数;
  • 而<collision>标签用于描述link的碰撞属性。

从下图中可以看出,检测碰撞的link区域大于外观可视的区域,这就意味着只要有其他物体与collision区域相交,就认为link发生碰撞。
在这里插入图片描述

joint标签

<joint>标签用于描述机器人关节的运动学和动力学属性,包括关节运动的位置和速度限制。根据机器人的关节运动形式,可以将其分为以下六种类型:

关节类型描述
continuous旋转关节,可以围绕单轴无限旋转
revolute旋转关节,类似于continuous,但是有旋转的角度极限
prismatic滑动关节,沿某一轴线移动的关节,带有位置极限
planar平面关节,允许在平面正交方向上移动或者旋转
floating浮动关节,允许进行平移、旋转运动
fixed固定关节,不允许运动的特殊关节

机器人关节的主要作用是连接两个刚体link,这两个link分别称为parent link和child link,如下图所示。
在这里插入图片描述

<joint name="<name of the joint>">
	<parent link="parent_link">
	<child link="child_link">
	<calibration ... />
	<dynamics damping ... />
	<limit effort ... />
</joint>

其中,必须指定joint的parent link和child link,还可以设置关节的其他属性:

  • <calibration>:关节的参考位置,用来校准关节的绝对位置;
  • <dynamics>:用于描述关节的物理属性,例如阻尼值、物理静摩擦力等,经常在动力学仿真中用到。
  • <limit>:用于描述运动的一些极限值,包括关节运动的上下限位置、速度限制、力矩限制等。
  • <mimic>:用于描述该关节与已有关节的关系。
  • <safety_controller>:用于描述安全控制器参数。

robot标签

<robot>是完整机器人模型的最顶层标签,<link>和<joint>标签都必须包含在<robot>标签内。<robot>标签内可以设置机器人的名称,其基本语法如下:

<robot name="<name of the robot>">
	<link> ...... </link>
	<link> ...... </link>
	<joint> ...... </joint>
	<joint> ...... </joint>
</robot>

在这里插入图片描述

gazebo标签

<gazebo>标签用于描述机器人模型在Gazebo中仿真所需要的参数,包括机器人材料的属性、Gazebo插件等。该标签不是机器人模型必需的部分,只有在Gazebo仿真时才需加入。该标签的基本语法如下:

<gazebo reference="link_1">
	<material>Gazebo/Black</material>
</gazebo>

URDF检查

安装相关依赖包sudo apt-get install liburdfdom-tools,输入以下指令即可检查pr2.urdf文件

check_urdf pr2.urdf

URDF可视化

安装相关依赖包sudo apt-get install liburdfdom-tools,输入以下指令即可查看pr2.urdf的结构。

urdf_to_graphiz pr2.urdf

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/615953.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot项目 + rancher管理 实现用户无感知部署

springboot项目 rancher管理 实现用户无感知部署 rancher/yaml设置 在rancher找到对应服务的config&#xff0c;将Minimum Ready设置为合适的时间&#xff08;单位为秒&#xff09; 或者以yaml文件修改配置&#xff0c;但是在yaml配置中是叫minReadySeconds spec: # 定义de…

95后自述,00后都这么卷了吗?

在程序员职场上&#xff0c;什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事&#xff0c;我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事&#xff0c;可遇不可求&#xff0c;向他学习还来不及呢。 真正让人反感的&#xff0c;是技术平平&#x…

【云原生 · Docker】轻松学会dockerfile构建镜像

目录 &#x1f349;dockerfile是什么 &#x1f349;镜像的缓存特性 &#x1f349;dockerfile命令 &#x1f352;FROM &#x1f352;RUN &#x1f352;CMD &#x1f352;LABEL &#x1f352;EXPOSE &#x1f352;ENV &#x1f352;ADD &#x1f352;COPY &#x1f352;ENTRYPOIN…

浅析国有企业信息化建设的难点及解决对策

01 国有企业信息化部门主要做什么&#xff1f; 国有企业信息化部门负责在企业范围内推进信息化工作。他们的职责包括但不限于&#xff1a;制定信息化战略和规划、实施信息化项目、管理信息系统和网络、维护和升级软硬件、开发新的数字化产品和服务、提高信息安全和数据隐私等。…

【正点原子STM32连载】 第二十七章 RTC实时时钟实验摘自【正点原子】STM32F103 战舰开发指南V1.2

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第二十…

spring 注解 @RequestPart @RequestParam 获取文件流 MultipartFile ,读取Excel等文件

RequestPart RequestPart这个注解用在 multipart/form-data 表单提交请求的方法上。 RequestParam 也可以携带文件 RequestParam也同样支持 multipart/form-data 请求。 RequestParam和RequestPart的区别 RequestParam 适用于 name-valueString 类型的请求域&#xff0c;R…

毕业五六年,明明技术越来越好,而我混的却越来越惨了...

别人都是越来越好&#xff0c;而我是越来越差&#xff01; 至于为什么会这样&#xff0c;可能是因为自己年轻气盛&#xff1b;也可能学历不高&#xff0c;仅仅是个本科&#xff1b;也可能是因为整体环境不好&#xff1b;也可能是能力不足&#xff1b;也可能是运气不好......也可…

python-常用的内置函数

文章目录 一、函数的引入二、变量的作用域三、参数传递四、常见的4类形参1. 必选参数:必须要传递的参数2. 默认参数:可传可不传的参数3. 可变参数: 参数的个数会变化&#xff0c;可以传0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;......n4. 关键字参数:可以传递key和…

前端web入门-CSS-day05

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 选择器 结构伪类选择器 :nth-child(公式) 伪元素选择器 盒子模型 组成 边框线 内边距 内边距 – …

2023护网面试题200道(附答案)

最近日入1000的护网行动已经开始摇人了&#xff0c; 不少大学生在后台私信我如何参加护网、面试问些什么、有没有护网内推 作为一个负责任的博主&#xff0c;收到大家反馈的我&#xff0c;连夜发动钞能力&#xff0c;收集整理了一套护网蓝初面试文档 1. 什么是DDoS攻击&#x…

linux重装yum

1.先确定linux版本 cat /etc/redhat-release &#xff1b; 查看已安装的yum rpm -qa|grep yum 1 删除已有的yum rpm -aq|grep yum|xargs rpm -e --nodeps 1 下载以下安装包 http://mirrors.163.com/centos/7/os/x86_64/Packages/ 下载最新版本 安装 用FIleZillia 上传的服务…

chatgpt赋能python:Python数据分析

Python数据分析 什么是Python数据分析 Python是一种简单易学、功能强大的编程语言&#xff0c;它是数据科学中最常用的开发语言之一。数据分析是Python的主要用途之一。Python的开源性、易于使用和拥有强大的数据科学库使它成为学术和商业环境下最受欢迎的数据分析工具之一。…

chatgpt赋能python:Python如何取一个数的每位数

Python如何取一个数的每位数 Python是一门功能强大的编程语言&#xff0c;它支持许多数字处理函数&#xff0c;其中一个非常常用的功能是取一个数的每位数。在本文中&#xff0c;我们将介绍如何使用Python取一个数的每位数&#xff0c;以及一些实际应用场景。 取整除 - //操作…

IP-GUARD没有域用户是否可以使用文档云备份功能?

没有域用户是否可以使用文档云备份功能? 可以。 1.没有域控,无法关联域用户的计算机,需添加定制配置 控制台-策略-定制配置-自定义 关键字:enable_relt_common_user 内容:1 备注:允许关联本地用户进行文档云备份。 2.添加配置后,还需要手动关联用户。 设置关联后才会进…

Android Jetpack组件之Navigation

无论您如何构建应用界面&#xff08;使用 Fragment、Activity 还是其他组件&#xff09;&#xff0c;都要为应用设计屏幕间导航的功能。那么可以试试Naviagtion。 文章目录 基本使用创建项目观察使用代码底部导航控件fragment代码底部navigationView与顶部fragment的联动 Navi…

python基础知识(八):字典

目录 1. 字典及其创建2. 字典元素的获取3. 字典元素的删除与清空4. 字典元素的增加5. 字典元素的修改6. 字典的键、值和键值对的获取7. 字典元素的遍历8. 字典的特点9. 字典生成式 1. 字典及其创建 在Python中&#xff0c;字典是一系列键—值对。每个键都与一个值相关联&#…

【深度学习】跌倒识别(带数据集和源码)从0到1

文章目录 前言1. 数据集1.1 数据初探1.2 数据处理1.2 训练前验证图片1.4 翻车教训和进阶知识 2. 训练3.效果展示 前言 又要到做跌倒识别了。 主流方案有两种&#xff1a; 1.基于关键点的识别&#xff0c;然后做业务判断&#xff0c;判断跌倒&#xff0c;用openpose可以做到。…

node,yarn ,cnpm安装

1.解决npm warn config global --global, --local are deprecated. use --locationglobal instead 在安装配置node时&#xff0c;cmd检查node没问题 但是检查npm就出现**npm warn config global –global, –local are deprecated. use –locationglobal instead.**的报警 问…

ClickHouse 使用介绍

1 CK 介绍 1.1 clickhouse简介 ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的用于在线分析处理查询&#xff08;OLAP :Online Analytical Processing&#xff09;MPP架构的列式存储数据库&#xff08;DBMS&#xff1a;Database Management System&#xff09;&#xff0c;能够…

SpringBoot整合第三方技术 -- SpringBoot快速入门保姆级教程(三)

文章目录 前言三、SpringBoot整合第三方技术1.SpringBoot整合junit2.Spring整合junit入门案例3.SpringBoot整合Mybatis4.SpringBoot整合Mybatis入门案例5.SpringBoot整合Mybatis更换默认数据源 总结 前言 为了巩固所学的知识&#xff0c;作者尝试着开始发布一些学习笔记类的博…