本帖最后由 h1654155872.5480 于 2024-6-24 09:44 编辑
一、概述:该自动路径规划小车分为两个部分:小车底盘和小车大脑;底盘使用
STM32+MPU6050+四个电机和编码器实现,大脑使用RA8D1-Vision Board
开发板的openmv固件完成障碍识别和底盘移动控制,两个部分使用串口进行通讯。
二、底盘:(1)底盘使用普通车轮以菱形布局,可实现类麦克纳姆轮底盘的功能,底盘的正向逆向运动学解析均和麦克纳姆轮相同。
(2)小车前后方向是X方向,车头为X正方向,小车的左右为Y方向,左方向为正。绕坐标轴旋转定义:用右手握住坐标轴,大拇指的方向朝着坐标轴朝向的正方向,四指环绕的方向定义沿着这个坐标轴 旋转的正方向。
(3)小车逆向运动学解析(Vision Board 仅发送x,y,w值)和陀螺仪数据获取如下:
三、大脑:官方已支持Vision Board 成为了可以运行 OpenMV 的开发板,使用MDK按照1.2.0软件包编译要求重新烧录开发板固件,使用 MicroPython编程,该小车对障碍物的识别使用固定块状物体识别方式,在特定距离时测量Open MV看到的像素点数,计算出与距离的关系(反比关系),确定该比例关系便可计算距离。
使用查找像素区域的阈值相同连接的方法,阈值由初始化时捕捉图像中心的颜色阈值来确定障碍物。而小车的移动由A*算法提前计算完成后在识别到第一个障碍物且距离符合预设值时开始执行路径规划程序。路径由下面的程序获得: