ROS2 基于humble版本机器人仿真教程

ros2与turtlebot3仿真教程-安装ros2

说明:

  • 介绍如何安装ros2 humble版本

步骤:

  • 简单步骤:

  • 安装

sudo apt install ros-humble-ros-desktop
  • 安装colcon
 sudo apt install python3-colcon-common-extensions
  • 安装humble
sudo apt install ros-humble-cartographer
  • 安装cartographer建图
sudo apt install ros-humble-cartographer
sudo apt install ros-humble-cartographer-ros
  • 安装导航包
sudo apt install ros-humble-navigation2
sudo apt install ros-humble-nav2-bringup
  • 安装vcstool工具
  • sudo apt install python3-vcstool
  • gazebo ROS相关包安装
sudo apt install ros-humble-gazebo-ros*

ros2与turtlebot3仿真教程-安装turtlebot3

说明:

  • 介绍如何在ros2安装turtlebot3

步骤:

  • 下载编译
 mkdir -p ~/tb3_ws/src
 cd ~/tb3_ws
#humble版本
wget https://raw.githubusercontent.com/ROBOTIS-GIT/turtlebot3/humble-devel/turtlebot3.repos


 vcs import src < turtlebot3.repos
 colcon build --symlink-install
  • 编译问题
  • 删掉出错不影响使用然后编译就通过了
  • 添加环境变量
echo 'source ~/tb3_ws/install/setup.bash' >> ~/.bashrc
echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc
source ~/.bashrc

ros2与turtlebot3仿真教程-启动gazebo不同环境

说明:

  • 介绍如何在ros2下使用gazebo
  • 默认安装humble已经安装了gezebo11.0

步骤:

  • 下载gazebo的模型,加速运行gazebo
cd ~/.gazebo/
git clone https://github.com/osrf/gazebo_models models
  • 需要删除.git目录,要不运行会出错
rm -rf models/.git
  • 设置GAZEBO_MODEL_PATH变量, 指定机器人类型为burger
 echo 'export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:~/tb3_ws/src/turtlebot3/turtlebot3_simulations/turtlebot3_gazebo/models' >> ~/.bashrc
 echo 'export TURTLEBOT3_MODEL=burger' >> ~/.bashrc
 source ~/.bashrc

启动Fake Node

  • 启动Fake Node
  ros2 launch turtlebot3_fake_node turtlebot3_fake_node.launch.py
  • 启动后弹出rviz,并显示小车模型
  • 启动键盘控制
 ros2 run turtlebot3_teleop teleop_keyboard
  • 效果图如下:

启动empty地图

  • 新开终端,启动gezebo,并带有empty地图
 ros2 launch turtlebot3_gazebo empty_world.launch.py
  • 效果如下:

启动world地图

  • 新开终端,启动gezebo,并带有world地图
 ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
  • 效果如下:

启动house地图

  • 新开终端,启动gezebo,并带有house地图
 ros2 launch turtlebot3_gazebo turtlebot3_house.launch.py

ros2与turtlebot3仿真教程-turtlebot3遥控

说明:

  • 介绍如何控制小车移动

步骤:

  • 新开终端,启动gezebo
 ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
  • 启动键盘控制
 ros2 run turtlebot3_teleop teleop_keyboard

ros2与turtlebot3仿真教程-turtlebot3自走避障

说明:

  • 介绍如何在ros2下实现随机行走并避障

步骤:

  • 新开终端,启动gazebo
 ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
  • 新开终端,执行自走避障程序
 ros2 run turtlebot3_gazebo turtlebot3_drive
  • 效果如下:

ros2与turtlebot3仿真教程-rviz2模型显示

说明:

  • 介绍如何利用rviz2来显示小车模型

步骤:

  • 启动gazebo
 ros2 launch turtlebot3_gazebo turtlebot3_house.launch.py
  • 启动rviz2
 ros2 launch turtlebot3_bringup rviz2.launch.py
  • 效果如下:

ros2与turtlebot3仿真教程-turtlebot3建图

说明:

  • 介绍如何ros2下实现turtlebot3建图

步骤:

  • 新开终端,运行gazebo
 ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
  • 新开终端,运行建图
 ros2 launch turtlebot3_cartographer cartographer.launch.py use_sim_time:=True
  • 新开终端,启动键盘
 ros2 run turtlebot3_teleop teleop_keyboard
  • 控制小车随机移动,并进行建图,并查看建立的地图,差不多后,保存地图。

  • 效果如下:

  • 新开终端,保存地图
ros2 run nav2_map_server map_saver_cli -f ~/map
  • 地图保存在目录下

ros2与turtlebot3仿真教程-turtlebot3导航

说明:

  • 介绍如何ros2下进行导航

步骤:

  • 新开终端,运行gazebo
 ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
  • 新开终端,导航
ros2 launch turtlebot3_navigation2 navigation2.launch.py use_sim_time:=True map:=/home/ubuntu/map.yaml
  • 需要指定地图的绝对路径,要不地图不能正常加载
  • 修改burger.yaml配置文件内容"robot_model_type: "differential" 变为robot_model_type: "nav2_amcl::DifferentialMotionModel" 地图就可正常显示
  • 点击2D Pose Estimate初始化位姿,点击Navigation2 Goal选择目标点进行导航
  • 效果如下:

  • 16
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值