激光雷达机器狗 SLAM
bash
# 激光雷达 ── USB-TTL ── Ubuntu(ROS2)
# 底盘 STM32 ── USB ── Ubuntu(ROS2)
# 电脑(Ubuntu + ROS2)是大脑
# STM32 只是“四肢 + 电机控制”
# 雷达数据必须“直达电脑”,不能绕 STM32md
### 第 1 步(当前)
- USB-TTL 接雷达:让 Ubuntu 识别雷达(串口)
- ROS2 跑 `/scan`:把雷达数据变成 ROS2 的 /scan 话题
### 第 2 步
- RViz 看雷达点云:跑 SLAM 算法生成地图
### 第 3 步
- 推着小车跑 `slam_toolbox`
- 生成家里地图
### 第 4 步
- 再考虑:无线 / ROS 主控 / 导航单片机:STM32、Arduino。 单片机的概念:单片机是微处理器,是微控制器的简称,它把微处理器、存储器、定时器、通信接口等集成在一块芯片上,具有体积小、功耗低、成本低、可靠性高、使用方便等特点,广泛应用于各种电子设备中。
自主导航系统中,响应式结构可以划分为:建图任务、定位任务、识别任务、规划任务和避障任务。从层级式结构来看,可以这么划分:环境感知、路径规划、运动规划。
一、准备工作
1.1 硬件准备
- 机器狗(四轮小车)
- 激光雷达
1.2 软件准备
- ROS2
- SLAM 算法
- 机器狗驱动程序
- 激光雷达驱动程序
- 机器狗控制程序
- 激光雷达数据预处理程序
二、开发流程
问题:我现在有个激光雷达,有个四轮小车,也在电脑上安装了 ubuntu 和 ROS2。现在我要怎么做才能把激光雷达的数据收集起来?
要把激光雷达(LiDAR)的数据在 ROS2 中跑起来,你需要完成 “硬件连接 -> 驱动安装 -> 数据查看” 这三步。
分布式网络通信:我需要把激光雷达的数据发送到我的电脑上,我该怎么实现?
2.1 机器狗驱动程序开发
- 机器狗驱动程序需要实现机器狗的基本控制功能,包括前进、后退、左转、右转、停止等。
- 机器狗驱动程序需要与机器狗硬件进行通信,实现机器狗的基本控制功能。
2.2 激光雷达驱动程序开发
- 激光雷达驱动程序需要实现激光雷达的基本控制功能,包括启动、停止、获取激光雷达数据等。
- 激光雷达驱动程序需要与激光雷达硬件进行通信,实现激光雷达的基本控制功能。
三、开发细节
3.1 mode 查询 USB 是否连接成功(小车连接)





设置 Ubuntu,让 ubuntu 能识别到小车连接成功,如果看到这个界面,说明 USB 连接成功


3.2 安装 cutecom 来进行机器人底盘的串口收发数据(小车连接)
bash
sudo apt-get install cutecom
sudo cutecom


3.3 查看 Node 节点信息
bash
ros2 node list
ros2 node info /my_node_name
3.4 功能包的打包与发行
bloom.
bloom 是基于 Python 实现的,可以很方便地打包 Python 程序,生成可执行文件,并发布到 PyPI 上。
shell
# 安装bloom
$ sudo apt install python3-bloom
$ sudo apt install dpkg-dev debhelper dh-pythonbash
pip install bloom
bloom init
bloom build
bloom publish