头图

文章列表

  1. 建模场地【已更新】
  2. Turtle Bot 4 环境安装 【已更新】
  3. 巡线【已更新】
  4. 红绿灯、停车牌建模【已更新】
  5. 红绿灯、停车牌识别【已更新】
  6. SLAM导航【已更新】

第二步: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系统镜像
1.png

安装双系统
image.png
参考官方教程:Install Ubuntu desktop | Ubuntu

简单来说,步骤有:

  1. 制作系统U盘
  2. 从U盘启动电脑
  3. 安装Ubuntu系统

安装ROS2机器人操作系统

每个Ubuntu系统版本都有唯一对应的ROS系统版本。Ubuntu24.04对应的ROS版本是ROS2 jazzy。

参考官方教程:Ubuntu (deb packages) — ROS 2 Documentation: Jazzy documentation

简单来说,就是在终端中一行一行执行教程中的指令

需要注意的是,最后我们选择desktop版本安装(为了使用rviz)
image.png
安装ROS完成后,想在终端中使用ros,还需要先执行以下指令
image.png
如果不想每次打开终端,都source /opt/ros/jazzy/setup.bash ,可以把这行代码放在~/.bashrc 文件中,这样系统会在打开终端时自动source,参考以下指令:

sudo echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc

最后,执行以下指令。如果两个终端中都显示hello world 就说明ROS2安装成功了
image.png

安装Gazebo

Gazebo是一个机器人三维仿真软件。它被广泛地和ROS一同使用,在ROS中编写控制代码,在Gazebo中仿真。当然,Gazebo的文档、代码、论坛资料很不完整,因此使用过程也十分折磨。

参考官方教程:Installing Gazebo with ROS — Gazebo ionic documentation

Gazebo可以单独安装,但是我们这里选择和ros一同安装,因为方便一点,教程上也是这么建议的。

每个ROS版本都有对应的Gazebo版本,咱们ROS2 Jazzy对应的是GZ Harmonic。

简单来说,执行这一行代码就够了
image.png

sudo apt-get install ros-jazzy-ros-gz

执行以下指令,若成功显示出一排图形,则说明安装成功

gz sim shapes.sdf

image.png

安装Turtle Bot 4仿真环境

参考官方教程:TurtleBot 4 Simulator · User Manual

注意,我们为了开发方便,一定要选择从源码安装
image.png
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就好了。具体原因不知道呜呜

出现以下界面
image.png
在右侧界面,选择keyboard,可以用wasd控制机器人移动,同时可以看到左侧SLAM建图结果
9.png
点击rviz(左侧窗口)上的Nav2 Goal按键,鼠标左键点击rviz地图中某一点,拖动鼠标后放开按键。可以看到机器人沿规划路径自动向目标点移动。
image.png
点击Waypoint mode
image.png
在地图上设置多个Nav2 Goal,点击Start Nav Through Poses,可以看到机器人依次经过了所有路径点
image.png
Turtle Bot 4 环境安装完成 !!!


赵为之
1 声望0 粉丝