我是靠谱客的博主 顺心超短裙,最近开发中收集的这篇文章主要介绍5 ROS仿真建模(1- urdf和rviz、gazebo的基础操作)5.1初识urdf和rviz的操作5.2初识urdf和gazebo的操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

5 ROS仿真建模

  • 5.1初识urdf和rviz的操作
    • 5.1.1实现效果
    • 5.1.2 Rviz和Urdf的显示实现
    • 5.1.3 常见报错问题和解决
  • 5.2初识urdf和gazebo的操作
    • 5.2初识urdf和gazebo的操作

5.1初识urdf和rviz的操作

5.1.1实现效果

在启动rviz时,能够看到带有编写的urdf模型文件的模型。

启动roslaunch时候,得到如图所示的画面
在这里插入图片描述

5.1.2 Rviz和Urdf的显示实现

1、新建功能包,导入依赖包:urdf xacro gazebo_ros gazebo_ros_control gazebo_plugins
2、编写 urdf 文件
3、在 launch 文件集成 URDF 与 Rviz
4、在 Rviz 中显示机器人模型

1、创建功能包,导入依赖
创建一个新的功能包,名称自定义然后导入依赖urdf xacro gazebo_ros gazebo_ros_control gazebo_plugins

2、在当前功能包下,再新建几个目录:

urdf:存储 urdf 文件的目录
meshes:机器人模型渲染文件(暂不使用)
config: 配置文件
launch: 存储 launch 启动文件
world:存放场景地图文件

在这里插入图片描述

3、在urdf文件夹下编写urdf的内容

<!--初识urdf和rviz的urdf文件-->
<robot name="first_acquaint_urdf">
    <!--  link 决定rviz fixed frame的坐标系  -->
    <link name="base_link">
        <!-- 可视化   -->
        <visual>
            <!-- 可视化几何图形  -->
            <geometry>
                <box size="0.5 0.2 0.1" />
            </geometry>
        </visual>
    </link>
</robot>

4、在launch文件夹下编写launch文件

<launch>

    <!-- 设置参数 其中param的名字必须是robot_description -->
    <param name="robot_description" textfile="$(find rviz_urdf)/urdf/first_acquaint_urdf.urdf" />

    <!-- 启动 rviz -->
    <node pkg="rviz" type="rviz" name="rviz" />

</launch>

5、导入到rviz第一步

①在终端跳转到catkin_ws/目录下输入source ./devel/setup.bash
②直接输入roslaunch <文件夹rviz_urdf> <launch文件名>
③在rviz里的add添加robotmodel

6、保存rviz的config,存到launch文件

<!--初识urdf和rviz的操作 launch文件 -->
<launch>

    <!-- 设置参数 其中param的名字必须是robot_description -->
    <param name="robot_description" textfile="$(find rviz_urdf)/urdf/first_acquaint_urdf.urdf" />

    <!-- 启动 rviz -->
    <node pkg="rviz" type="rviz" name="rviz" args="-d $(find rviz_urdf)/config/first_acquaint_urdf.rviz" />

</launch>

5.1.3 常见报错问题和解决

1、urdf模型不显示,并且rviz的robotmodel栏下提示status error,parameter robot_description…

在这里插入图片描述
解决:在rviz启动的launch文件,robot_description是固定的,不能做修改。

2、Rviz中base_link报错,同时模型文件发白

在这里插入图片描述
解决:由于URDF文件写的base_link名和RVIZ不一样 改成urdf的base_link名字即可,注意修改是在global options下的fixed frame

在这里插入图片描述

5.2初识urdf和gazebo的操作

5.2初识urdf和gazebo的操作

1、新建功能包,导入依赖包:urdf xacro gazebo_ros gazebo_ros_control gazebo_plugins
2、编写 urdf 文件
3、在 launch 文件集成urdf 与 gazebo
4、在 gazebo中显示机器人模型

1、创建功能包,导入依赖
创建一个新的功能包,名称自定义然后导入依赖urdf xacro gazebo_ros gazebo_ros_control gazebo_plugins,然后在当前功能包下,再新建几个目录

urdf:存储 urdf 文件的目录
meshes:机器人模型渲染文件(暂不使用)
config: 配置文件
launch: 存储 launch 启动文件
world:存放场景地图文件

2、在urdf文件夹下编写urdf的内容

<robot name="hello_gazebo">
    <link name="base_coordinate">
        <visual>
            <geometry>
                <sphere radius="0.2" />
            </geometry>
        </visual>
        <collision>
            <geometry>
                <sphere radius="0.2" />
            </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>
</robot>

该urdf和之前相比,多了关于真实环境描述的collision和inertial

3、在launch文件夹下编写launch文件

<launch>

    <!-- 设置参数 其中param的名字必须是robot_description -->
    <param name="robot_description" textfile="$(find gazebo_urdf)/urdf/helloworld_gazebo.urdf" />

    <!-- 启动 gazebo -->
    <include file="$(find gazebo_ros)/launch/empty_world.launch" />

    <!-- 在 gazebo 中显示机器人模型 -->
    <node pkg="gazebo_ros" type="spawn_model" name="hello_gazebo" args="-urdf -model hello_gazebo -param robot_description"  />
	
</launch>

4、启动launch在gazebo里查看模型

在这里插入图片描述

上一篇: 4 ROS-Arduino.
下一篇: 5 ROS仿真建模(2- urdf文件的编写和仿真场景搭建).

最后

以上就是顺心超短裙为你收集整理的5 ROS仿真建模(1- urdf和rviz、gazebo的基础操作)5.1初识urdf和rviz的操作5.2初识urdf和gazebo的操作的全部内容,希望文章能够帮你解决5 ROS仿真建模(1- urdf和rviz、gazebo的基础操作)5.1初识urdf和rviz的操作5.2初识urdf和gazebo的操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部