当前位置:   article > 正文

0基础在ROS系统中实现RRT算法(一)URDF集成rviz并建立机器人模型_rviz添加机器人模型

rviz添加机器人模型

小白一枚,毕设突发奇想加入了ROS的内容,不知道自己还能不能毕业。以下均为通过看视频,翻博客等整理而成的笔记,并非我的原创。可能会出现一些报错的修改或者简单的代码是我自己做的。哈哈。

一些小白知识:

        1.学习ros,实体机器人是必须的吗?NO.
        2.什么是Gazebo?在gazebo中可以添加桌椅板凳,甚至创建道路。

        3.需要什么?机器人建模:URDF。搭建仿真环境:gazebo。感知环境:rviz。

      

(一)URDF集成rviz

1.新建功能包,导入相关依赖。

新建工作空间DEMO05_WS

在工作空间的src文件夹下打开终端进行以下操作:

catkin_create_pkg urdf01_rviz urdf xacro

在urdir01_rviz文件夹下打开终端新建名为launch、urdf和meshes的三个文件夹,用于存储launch文件和urdf文件、meshes给机器人贴皮肤、config用于存储配置文件:

  1. cd urdf01_rviz
  2. mkdir launch
  3. mkdir urdf
  4. mkdir meshes
  5. mkdir config

当然,以上也可以通过右键新建文件夹实现,今天我忘了带鼠标出来,用触摸板太虐心,只能通过命令实现了

2.编写urdf文件

在urdf文件夹下,新建两个文件夹,urdf和xacro,前者用于储存简单文件,后者储存升级文件

在urdf文件夹中,添加01.urdf文件,复制以下代码

  1. <robot name = "mycar">
  2. <link name = "base_link">
  3. <visual>
  4. <geometry>
  5. <box size = "0.5 0.2 0.1" />
  6. </geometry>
  7. </visual>
  8. </link>
  9. </robot>

以上代码可以创建盒状机器人

3.launch文件

launch目录下新建文件01.launch

  1. <launch>
  2. <param name = "robot_description" textfile="$(find urdf01_rviz)/urdf/urdf/01.urdf" />
  3. <node pkg = "rviz" type="rviz" name = "rviz" />
  4. </launch>

第2行是在参数服务器载入urdf文件,第三行是启动rviz

完成后,回到DEMO01_WS目录,在终端执行以下操作:

  1. source ./devel/setup.bash
  2. roslaunch urdf01_rviz 01.launch

此时,rviz应当启动,如果没有则需要检查上述步骤是不是有错误。

配置:add-robotmodel-ok

Fixed Frame改为 base_link  (图里忘了打下划线)

(二)优化

现在的问题是,当你下一次启动rviz时,还要进行上一步的诸多操作才能显示机器人模型,现在我们进行优化,省去上述操作。

点击File-Save Config As-保存在DEMO05_WS/src/urdf01_rviz/Config目录下,命名为show_mycar

现在要在01.launch中修改代码,使得每次运行时能够读取我们刚刚创建的配置文件

  1. <launch>
  2. <param name = "robot_description" textfile="$(find urdf01_rviz)/urdf/urdf/01.urdf" />
  3. <node pkg = "rviz" type="rviz" name = "rviz" args="-d $(find urdf01_rviz)/config/show_mycar.rviz"/>
  4. </launch>

优化完成。

(三)建立机器人模型

参考这位兄弟的文章:

用ROS制作我们的机器人小车(一): URDF简介_苏大头的博客-CSDN博客_ros机器人小车

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/789428
推荐阅读
相关标签
  

闽ICP备14008679号