文章列表
第二步:Turtle Bot 4 环境安装
自己构建仿真环境中的自动驾驶小车太困难。激光雷达、摄像头、电机轮子、导航控制算法等,自己实现需要很多时间,赶不上交作业了。因此,我们直接使用Turtle Bot 4机器人作为自动驾驶小车。
Turtle Bot 4依赖ROS2机器人操作系统和Gazebo仿真环境。而ROS2又依赖于Ubuntu操作系统。
安装Ubuntu24.04+Windows双系统
我试过Ubuntu22.04和24.04两个版本。只有Ubuntu24.04可以使用。大概是因为Turtle Bot 4的仿真代码对新版系统的支持更好吧。
下载Ubuntu24.04系统镜像
- 下载网址:Download Ubuntu Desktop | Ubuntu
- 如果网络不好,也可以下载国内镜像:Index of /ubuntu-releases/24.04.1/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
安装双系统
参考官方教程:Install Ubuntu desktop | Ubuntu
简单来说,步骤有:
- 制作系统U盘
- 从U盘启动电脑
- 安装Ubuntu系统
安装ROS2机器人操作系统
每个Ubuntu系统版本都有唯一对应的ROS系统版本。Ubuntu24.04对应的ROS版本是ROS2 jazzy。
参考官方教程:Ubuntu (deb packages) — ROS 2 Documentation: Jazzy documentation
简单来说,就是在终端中一行一行执行教程中的指令。
需要注意的是,最后我们选择desktop版本安装(为了使用rviz)
安装ROS完成后,想在终端中使用ros,还需要先执行以下指令
如果不想每次打开终端,都source /opt/ros/jazzy/setup.bash
,可以把这行代码放在~/.bashrc
文件中,这样系统会在打开终端时自动source,参考以下指令:
sudo echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
最后,执行以下指令。如果两个终端中都显示hello world 就说明ROS2安装成功了
安装Gazebo
Gazebo是一个机器人三维仿真软件。它被广泛地和ROS一同使用,在ROS中编写控制代码,在Gazebo中仿真。当然,Gazebo的文档、代码、论坛资料很不完整,因此使用过程也十分折磨。
参考官方教程:Installing Gazebo with ROS — Gazebo ionic documentation
Gazebo可以单独安装,但是我们这里选择和ros一同安装,因为方便一点,教程上也是这么建议的。
每个ROS版本都有对应的Gazebo版本,咱们ROS2 Jazzy对应的是GZ Harmonic。
简单来说,执行这一行代码就够了
sudo apt-get install ros-jazzy-ros-gz
执行以下指令,若成功显示出一排图形,则说明安装成功
gz sim shapes.sdf
安装Turtle Bot 4仿真环境
参考官方教程:TurtleBot 4 Simulator · User Manual
注意,我们为了开发方便,一定要选择从源码安装
rosdep指令连不上网解决办法:rosdistro | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
sudo apt-get install python3-rosdep
rosdep init
# 为 rosdep update 换源
export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml
rosdep update
# 每次 rosdep update 之前,均需要增加该环境变量
# 为了持久化该设定,可以将其写入 .bashrc 中,例如
echo 'export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml' >> ~/.bashrc
为了方便启动终端时自动source,我们可以
sudo echo "source ~/turtlebot4_ws/install/setup.bash" >> ~/.bashrc
检测环境安装
运行以下指令(为什么选择maze地图,不选择默认的warehouse?因为可恶的warehouse需要从Gazebo网站下载地图,而这个网站上的warehouse最近不能用了):
ros2 launch turtlebot4_gz_bringup turtlebot4_gz.launch.py slam:=true nav2:=true rviz:=true world:=maze
如果出现了激光雷达无法建图的问题:
打开文件:/opt/ros/jazzy/share/irobot_create_description/urdf/create3.urdf.xacro
把301行的ogre换成ogre2就好了。具体原因不知道呜呜
出现以下界面
在右侧界面,选择keyboard,可以用wasd控制机器人移动,同时可以看到左侧SLAM建图结果
点击rviz(左侧窗口)上的Nav2 Goal按键,鼠标左键点击rviz地图中某一点,拖动鼠标后放开按键。可以看到机器人沿规划路径自动向目标点移动。
点击Waypoint mode
在地图上设置多个Nav2 Goal,点击Start Nav Through Poses,可以看到机器人依次经过了所有路径点
Turtle Bot 4 环境安装完成 !!!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。