ros2/ros 4轮2驱机器人xacro/urdf文件示例代码

2023-12-19 11:20

本文主要是介绍ros2/ros 4轮2驱机器人xacro/urdf文件示例代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 这个实验中最重要的是:colcon build 之后要记得source install/setup.bash.否则修改的文件是不会更新的。知道了吧

<robot name="half" xmlns:xacro="http://wiki.ros.org/wiki/xacro"><xacro:property name="PI" value="3.1415926"/><!--定义一个变量PI,后边用来调用的--><xacro:property name="base_footprint_radius" value="0.001"/><xacro:property name="base_radius" value="0.1"/><xacro:property name="base_length" value="0.08"/><xacro:property name="ground_clearance" value="0.015"/><material name="black"><color rgba="0.3 0.3 0.0 0.5"/></material>    <!--注意了这个不能少--><link name="base_footprint"><visual><geometry><sphere radius="${base_footprint_radius}"/></geometry></visual></link><link name="base"><visual><geometry><cylinder radius="${base_radius}" length="${base_length}"/></geometry><origin xyz="0 0 0" rpy="0 0 0"/><material name="yellow"><color rgba="0.3 0.3 0.0 0.5"/></material></visual></link><joint name="base2base_footprint" type="fixed"><parent link="base_footprint"/><child link="base"/><origin xyz="0 0 ${ground_clearance+base_length/2}"/></joint><xacro:property name="wheel_radius" value="0.0325"/><xacro:property name="wheel_length" value="0.015"/><xacro:macro name="add_wheel" params="name flag"><link name="${name}_wheel"><visual><geometry><cylinder radius="${wheel_radius}" length="${wheel_length}"/></geometry><origin xyz="0.0 0.0 0.0" rpy="${PI/2} 0 0"/><material name="black"/></visual></link><joint name="${name}_wheel2base" type="continuous"><parent link="base"/><child link="${name}_wheel"/><origin xyz="0 ${flag*base_radius} ${-(ground_clearance+base_length/2-wheel_radius)}"/><axis xyz="0 1 0"/></joint></xacro:macro><xacro:add_wheel name="left" flag="1"/><xacro:add_wheel name="right" flag="-1"/><xacro:property name="support_wheel_radius" value="0.0075"></xacro:property><xacro:macro name="add_support_wheel" params="name flag"><link name="${name}_wheel"><visual><geometry><sphere radius="${support_wheel_radius}"/></geometry><origin xyz="0 0 0" rpy="0.0 0.0 0.0"/><material name="black"></material></visual></link><joint name="${name}_wheel2base" type="continuous"><parent link="base"/><child link="${name}_wheel"/><origin xyz="${flag*(base_radius-support_wheel_radius)} 0 ${-(base_length/2+ground_clearance/2)}"/><axis xyz="1 1 1"/></joint></xacro:macro><xacro:add_support_wheel name="front" flag="1"/><xacro:add_support_wheel name="back" flag="-1"/>
</robot>

 上述代码中的:<material name="black">
        <color rgba="0.3 0.3 0.0 0.5"/>
      </material>

这段代码不能少,(虽然说少了也可以,但是不正常了)

不少之后没有任何错误,说明符合urdf文件,xacro文件规范。

这篇关于ros2/ros 4轮2驱机器人xacro/urdf文件示例代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/511979

相关文章

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Java数组动态扩容的实现示例

《Java数组动态扩容的实现示例》本文主要介绍了Java数组动态扩容的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1 问题2 方法3 结语1 问题实现动态的给数组添加元素效果,实现对数组扩容,原始数组使用静态分配

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

MyBatis中的两种参数传递类型详解(示例代码)

《MyBatis中的两种参数传递类型详解(示例代码)》文章介绍了MyBatis中传递多个参数的两种方式,使用Map和使用@Param注解或封装POJO,Map方式适用于动态、不固定的参数,但可读性和安... 目录✅ android方式一:使用Map<String, Object>✅ 方式二:使用@Param

SpringBoot实现图形验证码的示例代码

《SpringBoot实现图形验证码的示例代码》验证码的实现方式有很多,可以由前端实现,也可以由后端进行实现,也有很多的插件和工具包可以使用,在这里,我们使用Hutool提供的小工具实现,本文介绍Sp... 目录项目创建前端代码实现约定前后端交互接口需求分析接口定义Hutool工具实现服务器端代码引入依赖获

C#中DateTime的格式符的实现示例

《C#中DateTime的格式符的实现示例》本文介绍了C#中DateTime格式符的使用方法,分为预定义格式和自定义格式两类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录DateTime的格式符1.核心概念2.预定义格式(快捷方案,直接复用)3.自定义格式(灵活可控

MyBatisPlus乐观锁和悲观锁的实现示例

《MyBatisPlus乐观锁和悲观锁的实现示例》本文主要介绍了MyBatisPlus乐观锁和悲观锁,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录1.场景2.乐观锁和悲观锁3.乐观锁实现4.悲观锁1.场景一件商品,成本价是80元,售价是10

Java中@Accessors使用的实现示例

《Java中@Accessors使用的实现示例》本文主要介绍了Java中@Accessors使用的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、@Accessors(chain = true)二、@Accessors(fluent =