1 智能小车三维结构设计
1.1 基本模块
- 坚固酷炫结构模块
- 运动控制模块
- 超声波传感器模块
- 摄像头视觉模块
- 其他传感器模块
1.2 结构设计基本原则
从零开始设计并搭建智能小车,在满足外观要求的基础上,要满足小车运转过程中的运动干涉率为O,并且需要考虑实际安装时的易用性与可行性,以及智能小车的重心位置的控制等。
1.3 Solidworks建模
1.4 智能小车所依赖各模块参数及要求
1.5 组装所有依赖的硬件
- 安装原则
自底部开始安装承载部分和电源,注意麦克纳姆轮的安装方向,以及螺丝的固定顺序,在铝合金外壳加工差异下,优先固定精度高的螺孔。确定所有接线正确后再固定外壳。
2 ESP32控制器开发入门
在使小车实现感知周围环境并自主完成相应的功能之前需要了解底层的控制部分是如何实现的,从传感器采集到数据之后,在开发者套件上进行推理,然后需要根据推理结果发出指令控制小车的运动状态,就需要使用微控制器。
- ESP32单片机实现控制原理
目前小车上需要使用ESP32进行控制的主要为四个电机以及摄像头云台的两轴舵机,二者的实现方式均是依靠PWM信号脉冲的占空比,改变信号的占空比就可以改变电机的转速以及舵机旋转的角度。
3 智能小车循迹驾驶与自动泊车实现
3.1 场景地图的制作
使用Photoshop软件绘制不同的图层,使用可以使小车正常转弯和停车的尺寸,得到场景地图并打印。
3.2 手动控制小车
了解了智能小车的底层控制方式并且将,ra文件烧录到ESP32之后,就可以启动程序手动控制小车的移动了。
3.3循环驾驶原理实现
3.4 Yolo网络
3.5自动泊车
4 智能小车目标追踪实现
5 ROS2与激光雷达建图入门
5.1 ROS2 (Robot Operating System)
在开发多传感器融合的样例时,ROS就可以很好做到一个通信桥梁的作用,规整各个传感器与话题、服务,内置多种插件,可以适用到多种不同的场景,还包含了不同的SLAM (Simultaneous Localization and Mapping)功能包,gmapping, hector slam,Cartographer等。
从算法的对数据的处理方式上看,目前常用的SLAM开源算法可以分为两类:
1. 基于滤波
比如扩展卡尔曼滤波(EKF: Extended KalmanFilter) .粒子滤波(PF: Particle Filter)等。
ROS中的gmapping.hector_slam算法都是基于滤波实现的。
2. 基于图优化
先通过传感器进行构图,然后对图进行优化。目前比较主流的是图优化的方法,Cartographer就是基于图优化实现的。图优化相对于滤波,不用实时的进行计算。效率更高,消耗的资源更少,所以在实际场景中使用的更多。
5.2 Cartographer
Cartographer是Google开源的一个可跨多个平台和传感器配置以2D和3D形式提供实时同时定位和建图系统。
# 1 智能小车三维结构设计
1.1 基本模块
- 坚固酷炫结构模块
- 运动控制模块
- 超声波传感器模块
- 摄像头视觉模块
- 其他传感器模块
1.2 结构设计基本原则
从零开始设计并搭建智能小车,在满足外观要求的基础上,要满足小车运转过程中的运动干涉率为O,并且需要考虑实际安装时的易用性与可行性,以及智能小车的重心位置的控制等。
1.3 Solidworks建模
1.4 智能小车所依赖各模块参数及要求
1.5 组装所有依赖的硬件
- 安装原则
自底部开始安装承载部分和电源,注意麦克纳姆轮的安装方向,以及螺丝的固定顺序,在铝合金外壳加工差异下,优先固定精度高的螺孔。确定所有接线正确后再固定外壳。
2 ESP32控制器开发入门
在使小车实现感知周围环境并自主完成相应的功能之前需要了解底层的控制部分是如何实现的,从传感器采集到数据之后,在开发者套件上进行推理,然后需要根据推理结果发出指令控制小车的运动状态,就需要使用微控制器。
- ESP32单片机实现控制原理
目前小车上需要使用ESP32进行控制的主要为四个电机以及摄像头云台的两轴舵机,二者的实现方式均是依靠PWM信号脉冲的占空比,改变信号的占空比就可以改变电机的转速以及舵机旋转的角度。
3 智能小车循迹驾驶与自动泊车实现
3.1 场景地图的制作
使用Photoshop软件绘制不同的图层,使用可以使小车正常转弯和停车的尺寸,得到场景地图并打印。
3.2 手动控制小车
了解了智能小车的底层控制方式并且将,ra文件烧录到ESP32之后,就可以启动程序手动控制小车的移动了。
3.3循环驾驶原理实现
3.4 Yolo网络
3.5自动泊车
4 智能小车目标追踪实现
5 ROS2与激光雷达建图入门
5.1 ROS2 (Robot Operating System)
在开发多传感器融合的样例时,ROS就可以很好做到一个通信桥梁的作用,规整各个传感器与话题、服务,内置多种插件,可以适用到多种不同的场景,还包含了不同的SLAM (Simultaneous Localization and Mapping)功能包,gmapping, hector slam,Cartographer等。
从算法的对数据的处理方式上看,目前常用的SLAM开源算法可以分为两类:
1. 基于滤波
比如扩展卡尔曼滤波(EKF: Extended KalmanFilter) .粒子滤波(PF: Particle Filter)等。
ROS中的gmapping.hector_slam算法都是基于滤波实现的。
2. 基于图优化
先通过传感器进行构图,然后对图进行优化。目前比较主流的是图优化的方法,Cartographer就是基于图优化实现的。图优化相对于滤波,不用实时的进行计算。效率更高,消耗的资源更少,所以在实际场景中使用的更多。
5.2 Cartographer
Cartographer是Google开源的一个可跨多个平台和传感器配置以2D和3D形式提供实时同时定位和建图系统。