大家好,我是小鱼。告诉大家一个好消息,小鱼把吃灰多年的板子卖掉了,一共卖了70块钱,然后又入手一个逻辑分析仪,准备做一个ROS2的小车,所以今天我们来使用gazebo来探索下小车。
gazebo其实是独立于ROS2的,不过gazebo目前最新的版本是gazebo11。
可以使用下面的指令检查版本,gazebo的生命也快要到头了,下一代名字叫ignition,小鱼后面来尝尝鲜介绍下。
$: gazebo --version
Gazebo multi-robot simulator, version 11.5.1
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org
一、安装gazebo
因为安装ROS2不会默认安装gazebo,所以我们要手动安装,一行命令很简单,如果提示找不到先去更新下ROS2的源。
sudo apt install gazebo11
二、跑跑小demo
2.1 安装ROS2的两轮差速功能包
一行代码全给装了,不差这点空间
sudo apt install ros-foxy-gazebo-*
2.2 运行两轮差速demo
一行代码搞定
gazebo /opt/ros/foxy/share/gazebo_plugins/worlds/gazebo_ros_diff_drive_demo.world
然后你就可以看到一个死丑死丑的小车
通过下面的指令可看到话题和话题的类型,把目光放到这个话题/demo/cmd_demo
,下面我们就通过这个话题来控制小车动起来。
ros2@ros2-TM1613R:~$ ros2 topic list -t
/clock [rosgraph_msgs/msg/Clock]
/demo/cmd_demo [geometry_msgs/msg/Twist]
/demo/odom_demo [nav_msgs/msg/Odometry]
/parameter_events [rcl_interfaces/msg/ParameterEvent]
/rosout [rcl_interfaces/msg/Log]
/tf [tf2_msgs/msg/TFMessage]
2.4 让小车前进
ros2 topic pub /demo/cmd_demo geometry_msgs/msg/Twist "{linear: {x: 0.2,y: 0,z: 0},angular: {x: 0,y: 0,z: 0}}"
然后就可以看到小车动了起来。
简单尝试以下,后面在ROS2的课程里,小鱼会详细的讲讲关于仿真的知识。