引言
约 493 个字 预计阅读时间 2 分钟
项目概述
本项目采用ROS2节点构建技术,将项目构建为小车模拟器、手动控制台和控制中枢三个节点。小车模拟器采用pygame进行界面绘制,实现了小车的显示、转向、运动以及相关控制接口。手动控制台采用pyside6进行界面展示,实现了手动控制小车转向、移动、目标设置、使用专家系统或神经网络移动小车的控制。控制中枢节点实现了采用专家系统控制小车移动到预定目标,也实现了利用基于tensorflow技术的神经网络控制小车移动到目标两种形式。开发过程中,解决了很多细节问题,特此制作了教程分享出来,以便可以帮助面临同样问题的朋友。
环境参数
- Ubuntu 22.04
- ROS2 humble
- pygame 2.5.2
- PySide6 6.6.1
- tensorflow 2.12
项目结构
节点 | 功能 |
---|---|
inters | 接口定义文件 |
car | 汽车模拟器(采用pygame绘制) |
master | 汽车手动控制面板(界面采用PySide6) |
brain | 自动控制汽车到指定坐标(采用keras实现神经网络预测) |
项目截图
教程目录
一、配置环境
- 1.1 VMware安装Ubuntu
- 1.2 配置Ubuntu
- 1.3 Ubuntu安装ROS2.md
- 1.4 安装vscode及相关插件
- 1.5 Ubuntu安装开发框架
- 1.6 ROS发布订阅演示
二、制作模拟器
- 2.1 创建项目
- 2.2 显示小车
- 2.3 加载地图
- 2.4 手动控制小车转向(上)
- 2.5 手动控制小车转向(下)
- 手动控制小车移动
- 显示车信息
- 显示标尺
- 订阅汽车位置消息
三、自主导航
- 设置、删除、获取移动目标
- 使用传统方法控制小车移动到目标
- 训练小车控制神经网络
- 使用神经网络控制小车移动到目标