Gazebo中的传感器配置

本文介绍了在Gazebo中使用IMU、接触和Lidar传感器,以及如何通过gzlaunch一次性启动多个任务,如机器人运动和数据收集,以实现避障功能。

传感器

注意: 本教程是在Gazebo Garden中使创建好的机器人动起来教程的延续。
在本教程中,我们将学习如何向我们的机器人和世界中的其他模型添加传感器。我们将使用三种不同的传感器:IMU 传感器、接触传感器Lidar传感器。我们还将学习如何使用 gz launch 仅用一个文件启动多个任务。

IMU传感器

惯性测量单元(IMU)以四元数的形式输出机器人的方向,以及三个轴(X、Y、Z)的角速度和线加速度。我们使用 moving_robot.sdf 世界并对其进行修改。创建一个新文件 sensor_tutorial.sdf,并将 moving_robot.sdf 中的代码添加到其中。要定义 IMU 传感器,请在<world>标签下添加以下代码:

<plugin filename="gz-sim-imu-system"
        name="gz::sim::systems::Imu">
</plugin>

这段代码定义了将在我们的世界中使用的 IMU 传感器插件。现在我们可以按以下方式将 IMU 传感器添加到我们的机器人中:

<sensor name="imu_sensor" type="imu">
    <always_on>1</always_on>
    <update_rate>1</update_rate>
    <visualize>true</visualize>
    <topic>imu</topic>
</sensor>

传感器通常添加到我们模型的某个链接中;我们将其添加到chassis链接下。
让我们描述一下这些标签:

  • <always_on>如果为 true,则传感器将始终根据更新率进行更新。
  • <update_rate>生成传感器数据的频率。
  • <visualize>如果为 true,则传感器将在 GUI 中可视化。
  • <topic>发布数据的主题名称。

注意: 并非任意标签都支持所有传感器。

从IMU读取数据

要从 IMU 读取数据,请在一个终端中运行世界并按下播放按钮:

gz sim sensor_tutorial.sdf

在另一个终端中,运行:

gz topic -e -t /imu

最后一个命令监听通过 /imu 主题发送的消息。IMU 数据是如上所述的方向、角速度和线加速度。它看起来应该像这样:
在这里插入图片描述
使用键盘上的向上键向前移动机器人。你应该能看到传感器值发生变化。

接触传感器

让我们介绍另一种类型的传感器,接触传感器。从名称中你可以猜出,当它接触(接触)其他东西时,这个传感器会发出指示。我们将建造一个障碍物(墙)并将接触传感器添加到其中。如果机器人撞到障碍物,它将停止,以防止机器人损坏。让我们首先按照以下方式建造障碍物:

<model name='wall'>
    <static>true</static>
    <pose>5 0 0 0 0 0</pose><!--pose relative to the world-->
    <link name='box'>
        <visual name='visual'>
            <geometry>
                <box>
                    <size>0.5 10.0 2.0</size>
                </box>
            </geometry>
            <!--let's add color to our link-->
            <material>
                <ambient>0.0 0.0 1.0 1</ambient>
                <diffuse>0.0 0.0 1.0 1</diffuse>
                <specular>0.0 0.0 1.0 1</specular>
            
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值