fishbot
FishBot建图+导航教程提纲
一、项目背景与系统概述
1.1 FishBot移动机器人应用背景
随着机器人技术的发展,移动机器人已经广泛应用于智能巡检、仓储运输、教育科研等领域。自主移动机器人需要具备环境感知、地图构建、定位以及路径规划能力。FishBot 是一款面向 ROS2 学习与机器人开发的移动机器人平台,集成了底盘控制、激光雷达感知和计算平台,可以用于快速学习机器人自主导航技术。
1.2 项目目标
本项目以 FishBot 移动机器人为实验平台,实现从机器人基础控制、传感器数据获取,到二维地图构建和自主导航的完整流程。通过 ROS2 通信框架、SLAM 建图算法以及 Navigation2 导航框架,实现机器人在未知环境中的自主移动。
主要目标包括:(1)完成 ROS2 开发环境搭建;(2)实现 FishBot 底盘运动控制;(3)利用激光雷达完成二维环境地图构建;(4)保存并优化地图数据;(5)基于 Nav2 实现自主定位和目标点导航。
1.3 系统整体架构
系统主要由硬件层、机器人驱动层、感知层、建图定位层以及导航控制层组成。
硬件层包括 FishBot 底盘、激光雷达、计算主机等设备;驱动层负责机器人运动控制和传感器数据发布;感知层通过激光雷达获取环境信息;SLAM 模块根据传感器数据生成地图;Nav2 根据地图和定位结果完成路径规划与运动控制。
1.4 开发环境搭建与Hello World体验
1.4.1 ROS2开发环境安装
(1)首先更新 Ubuntu 软件源:
sudo apt update
sudo apt upgrade
(2)安装 ROS2 Humble 软件源:
sudo apt install software-properties-common
sudo add-apt-repository universe
(3)添加 ROS2 GPG 密钥:
sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
(4)添加 ROS2 软件源:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] \http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main"
| sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
(5)安装 ROS2 Humble 桌面版本:
sudo apt update
sudo apt install ros-humble-desktop
(6)安装完成后配置环境变量:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
(7)通过以下命令检查 ROS2 是否安装成功:
ros2 --version
正常情况下会显示:
ros2 cli version ...
1.4.2 创建ROS2工作空间
(1)创建 FishBot 工作空间:
mkdir -p ~/fishbot_ws/src
cd ~/fishbot_ws
(2)编译工作空间:
colcon build
(3)加载环境:
source install/setup.bash
(4)为了每次打开终端自动加载:
echo "source ~/fishbot_ws/install/setup.bash" >> ~/.bashrc
1.4.3 ROS2 Hello World 通信测试
(1)打开第一个终端:
ros2 run demo_nodes_cpp talker
运行后可以看到类似:
[INFO] Publishing:
'Hello World: 1'
[INFO] Publishing:
'Hello World: 2'
该节点不断向 /chatter 话题发布消息。
(2)打开第二个终端:
ros2 run demo_nodes_cpp listener
可以看到类似:
[INFO] I heard:
'Hello World: 1'
[INFO] I heard:
'Hello World: 2'
说明 ROS2 通信环境配置成功。
1.4.4运行你的第一个机器人
(1)安装 turtlesim
sudo apt update
sudo apt install ros-humble-turtlesim
加载 ROS2 环境:
source /opt/ros/humble/setup.bash
(2)启动海龟模拟器
打开终端 1:
ros2 run turtlesim turtlesim_node
运行成功后会出现一个蓝色窗口,里面有一只小海龟。
(3)控制海龟运动
打开终端 2:
ros2 run turtlesim turtle_teleop_key
然后通过键盘的上下左右按键进行控制:
(4)查看 ROS2 节点
新终端:
ros2 node list
输出:
/turtlesim
/teleop_turtle
说明两个节点正在运行。
(5)查看话题
ros2 topic list
输出:
/turtle1/cmd_vel
/turtle1/pose
/parameter_events
/rosout
浙公网安备 33010602011771号