从零开始仿真ROS小车(二)在gazebo中显示小车模型 您所在的位置:网站首页 ros仿真小车 从零开始仿真ROS小车(二)在gazebo中显示小车模型

从零开始仿真ROS小车(二)在gazebo中显示小车模型

2023-03-13 17:07| 来源: 网络整理| 查看: 265

从零开始仿真ROS小车(二)在gazebo中显示小车模型 小巨同学 分类:ROS 发布时间 2022.08.02阅读数 1138 评论数 0 一、实现过程

1、 从零开始仿真ROS小车(一)urdf模型+rviz可视化2、从零开始仿真ROS小车(二)在gazebo中显示小车模型

3、从零开始仿真ROSR小车(三)运动控制、激光雷达仿真、深度相机仿真4、从零开始仿真ROS小车(四)建图与导航

二、实现效果及包含文件

蓝色的相机和黑色的激光雷达没有,我这是已经加好的,我会在之后的文章中写

在这里插入图片描述在这里插入图片描述在这里插入图片描述

三、优化xacro模型

在手写urdf模型+rviz可视化基础上,我以方形全向轮车为基础,进行功能实现,xacro模型其实就是调用全局变量并结合函数

原理:

Xacro 可以声明变量,可以通过数学运算求解,使用流程控制控制执行顺序,还可以通过类似函数的实现,封装固定的逻辑,将逻辑中需要的可变的数据以参数的方式暴露出去,从而提高代码复用率以及程序的安全性。

四、jubot_box.xacro

讲解关键代码,全部代码可以在https://github.com/Grizi-ju上下载

Gazebo/Black

以车轮为例1、将轮子半径radius、长length、质量mass进行属性封装,在下面进行调用

2、写macro宏,参数为轮子名和用于±1的flag1、2,并在最后调用宏,这样就只需要写一次代码,实现4个轮子模型,不会显得冗余3、为link添加碰撞参数、惯性矩阵、gazebo中的颜色设置

小车其他部分1、举一反三,其他link、joint也进行一下属性封装2、轮子、支架、这类多个的进行宏调用3、所有link部分添加collision、inertial_matrix、gazebo material

五、head.xacro

我把惯性矩阵部分另写了一个头文件,分别包含球体、圆柱体、方体,只需要在jubot_box.xacro里引用就行了,添加一行代码:

六、display_jubot_box_urdf.launch

这是一个在rviz当中显示机器人模型的launch文件,文件名可以自己修改

在这里插入图片描述

七、gazebo_box.launch

这是在gazebo中显示机器人模型的文件

在这里插入图片描述

八、Gazebo仿真环境搭建

之前我们用的是gazebo空白世界,现在我们搭建下自己想要的障碍物环境1、打开gazebo终端直接输入gazebo2、左上角edit->building editor

3、拖拉左边的组件到白色区域,开始创建4、创建好后file->save world as 以.world格式保存在功能包下,最好新建个world文件夹,再在model中打开文件,添加障碍物模型5、添加gazebo_box.launch文件中的地图路径,改为自己保存地图位置的路径:

小车在gazebo中的显示模型:

在这里插入图片描述

上一篇:从零开始仿真ROS小车(一)urdf模型+rviz可视化下一篇:从零开始仿真ROS小车(三)运动控制、激光雷达仿真、深度相机仿真

ROSURDFrviz建模仿真建图导航

打赏 0

点赞 0

收藏 0

分享

微信 微博 QQ 图片 上一篇:从零开始仿真ROS小车(一)urdf模型+rviz可视化 下一篇:PID算法在ROS仿真环境中的理论及应用(ROS_F1TENTH)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有