gazebo创建机器人模型01

基本集成流程

跟着赵老师学习了一下gazebo中机器人仿真,在此做个记录。

1.创建功能包

创建新功能包,导入依赖包:urdf、xacro、gazebo_ros、gazebo_ros_control、gazebo_plugins

2.urdf文件编写

其层级关系为:

robotlinkvisual -->可视化部分geometryoriginmaterialcollision -->连杆的碰撞属性geometryorigininertial -->连杆的惯性矩阵originmassinertiagazebomaterial

如果是标准几何体,直接复制 visual 的 geometry 和 origin 标签到 collision 下即可。
惯性矩阵 inertial 中的 origin为设置重心的偏移,如果连杆质量均匀,xyz=0 0 0 即可。其他参数有 质量 mass 和惯性不同维度惯性值 inertia 。
inertia为不同维度上的惯性值,此处随便给了几个值,实际机器人需要合理设置。
visual 中的颜色设置在gazebo中不能继续使用了,需要在 gazebo 自身的颜色设置标签中进行设置。

<!-- 创建一个机器人模型(盒状即可),显示在 Gazebo 中
--><robot name="mycar"><link name="base_link"><visual><geometry><box size="0.5 0.2 0.1" /></geometry><origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" /><material name="yellow"><color rgba="0.5 0.3 0.0 1" /></material></visual><!--1.设置碰撞参数 --><collision><geometry><box size="0.5 0.2 0.1" /></geometry><origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" /></collision><inertial><origin xyz="0 0 0" /> <mass value="6" /><inertia ixx="1" ixy="0" ixz="0" iyy="1" iyz="0" izz="1" /></inertial></link><gazebo reference="base_link"><material>Gazebo/Black</material></gazebo></robot>

3.集成到gazebo

创建一个launch文件,填写如下内容
1.在参数服务器中载入 urdf ,这一步与 rviz 中是一致的
2.启动 gazebo 仿真环境,直接包含gazebo 中 empty world 环境
3.在 gazebo 中添加机器人模型
手动添加模型的方法如下:

rosrun gazebo_ros spawn_model -urdf -model car(加载模型的名字) -param robot_description(加载的机器人模型是从参数服务器中robot_description中获取的)

将上述手动添加的方法集成到launch文件中

<launch><!-- 1. 需要在参数服务器中载入 urdf --><param name="robot_description" textfile="$(find urdf02_gazebo)/urdf/demo01_helloworld.urdf" /><!-- 2. 需要启动 gazebo 仿真环境 --><include file="$(find gazebo_ros)/launch/empty_world.launch" /><!-- 3. 在gazebo 中添加机器人模型 --><node pkg="gazebo_ros" type="spawn_model" name="spawn_model" args="-urdf -model car -param robot_description" />
</launch>

总结:
1.必须使用 collision 标签,仿真环境必然涉及碰撞检测,collision提供碰撞检测的依据。
2.必须使用 inertial 标签,此标签标准了当前机器人某个刚体部分的惯性矩镇,用于一些力学仿真相关的计算。
3.颜色设置,也需要重新使用 gazebo 标签标注,因为之前的颜色设置为了方便调试包含透明度,仿真环境下没有此选项,在 visual 中可以不进行颜色设置。
4. inertial 惯性矩阵的计算后期对其进行封装,可输入参数调用。

gazebo创建机器人模型01相关推荐

  1. ubuntu20.04_ROS中运行gazebo控制机器人模型报错

    1.无法启动类型为[controller_ manager/spawner]的节点:controller_ manager ERROR: cannot launch node of type [con ...

  2. ros1-gazebo创建世界和机器人模型(单线雷达、多线雷达、相机)

    说在前面 刚写这篇文章的时候在想 不会有人还在手撸urdf/xacro吧 但是在我整的过程中,发现这个gazebo真的太蠢了,遂放弃 gazebo图形界面版 注意:最后失败了,出现了奇怪的bug,开始 ...

  3. 使用URDF创建机器人3D仿真模型

    在一个真实的机器人上编程很让我们更好的理解机器人的控制方式,因为真实的机器人会给我们反馈.但是在没有真实机器人供我们实践的时候,ROS的仿真功能是一个不错的选择. ROS通过URDF(UnifiedR ...

  4. ROS探索总结(四)(五)(六)——简单的机器人仿真 创建简单的机器人模型smartcar 使用smartcar进行仿真

    ROS探索总结(四)--简单的机器人仿真 前边我们已经介绍了ROS的基本情况,以及新手入门ROS的初级教程,现在就要真正的使用ROS进入机器人世界了.接下来我们涉及到的很多例程都是<ROS by ...

  5. Gazebo手册:5 机器人模型配置文件

    一.概述 Gazebo 能够以编程方式或通过 GUI 将模型动态加载到仿真中. 在您下载或创建模型之后,模型就存在于您的计算机上. 本教程描述了 Gazebo 的模型目录结构,以及模型目录中的必要文件 ...

  6. 【ROS】—— 机器人系统仿真 —Rviz中控制机器人模型运动与URDF集成Gazebo(十五)

    文章目录 前言 1. Arbotix使用流程 1.1 安装 Arbotix 1.2 创建新功能包,准备机器人 urdf.xacro 文件 1.3 添加 Arbotix 配置文件 1.4 编写 laun ...

  7. V-rep学习笔记:机器人模型创建4—定义模型

    完成之前的操作后终于来到最后一步--定义模型,即将之前创建的几何体.关节等元素按层级关系组织成为一个整体. 将最后一个连杆robot_link_dyn6拖放到相应的关节(robot_joint6)下, ...

  8. V-rep学习笔记:机器人模型创建2—添加关节

    下面接着之前经过简化并调整好视觉效果的模型继续工作流,为了使模型能受控制运动起来必须在合适的位置上添加相应的运动副/关节.一般情况下我们可以查阅手册或根据设计图纸获得这些关节的准确位置和姿态,知道这些 ...

  9. ROS探索总结(五)——创建简单的机器人模型smartcar

    前面我们使用的是已有的机器人模型进行仿真,这一节我们将建立一个简单的智能车机器人smartcar,为后面建立复杂机器人打下基础. 一.创建硬件描述包 roscreat-pkg smartcar_des ...

  10. Ubuntu18.04 LTS Melodic ROS 教程:使用URDF创建一个虚拟机器人模型

    Ubuntu18.04 LTS Melodic ROS 教程:使用URDF创建一个虚拟机器人模型 Building a Visual Robot Model with URDF from Scratc ...

最新文章

  1. TF.VARIABLE和TENSOR的区别(转)
  2. 深入理解YouTube推荐系统算法!
  3. python全栈开发,Day40(进程间通信(队列和管道),进程间的数据共享Manager,进程池Pool)...
  4. 2018年跨行学习mysql_2018年,让你的数据库变更快的十个建议
  5. BugkuCTF-Misc:Linux2
  6. csdn无人驾驶汽车_无人驾驶汽车100年历史
  7. Python 安装与环境变量配置
  8. html5 canvas系列教程-像素操作(反色,黑白,亮度,复古,蒙版,透明)
  9. python文件命名 数字,当文件存在时,文件名中的数字递增
  10. 软考(22)-网络存储、网络安全、网络规划与设计
  11. 计算机毕业设计(附源码)python智慧门诊综合管理系统
  12. fore-each操作数组
  13. douyin视频下载,搜索用户,粉丝,评论接口、API接口
  14. Java计算RGB数值
  15. 川崎机器人示教盒维修_川崎机器人维修
  16. Attention模型超超超超超超级攻略
  17. 面试中关于Redis的问题
  18. 解决升级U910_64后不能看SOPCAST等无法正常运行某些32位程序的方法
  19. 两台虚拟服务器如何串联,两台tp-link路由器串联设置教程
  20. 行楷练习1 左点、右点、横两点、纵两点

热门文章

  1. DIV+CSS排版技巧
  2. 《游戏大师Chris Crawford谈互动叙事》一导读
  3. VMware Workstation 10.0 注册机
  4. cad多段线画圆弧方向_【学员分享】CAD多段线用法
  5. android 8 刷机教程视频教程,教你Android 8.0的刷机教程
  6. 个人SEO成长指南:该怎么开启你的SEO业务
  7. steam官网网页服务器打不开,steam打不开,教您怎么解决steam打不开
  8. Python 实现数据分析中的 帕累托、漏斗、RFM、雷达图
  9. Android:Canvas: trying to draw too large
  10. CSS过滤器(CSS filters)