Kano的编程之旅

瓦力觉启
|主程序原理---避障|

一.雷达避障

(1)

(2)

二.深度避障

1.原理

(1)摄像头的中心与摄像头坐标系统的中心可能存在偏差

(2)摄像头的坐标系和小车的坐标系统方向不一致:
摄像头的x,y,z方向分别对应小车的:水平方向z,y方向,x方向

(3)摄像头存在俯仰视角差值,因此在坐标转换也需要注意

(4)因为深度避障一般考虑小车的正前方和对应小车宽度的范围,故在计算时我们一般注重摄像头z方向的点距离,x方向仅仅考虑小车宽度,y方向仅仅考虑摄像头向下5cm,向上车高点云

(5)后深度避障一般在手动驾驶时作限速手段,另外自动导航如果发生避障后退也会进行避障检测

在计算小车后深度25cm以内的点时:point[2]=cloud_pcl_xyz[i].z *pitchBackCosAngOffserDis -cloud_pcl_xyz[i].y *pitchBackSinAngOffserDis
原理:深度摄像头在小车x方向的分量的向量和的值-》为障碍物实际距离小车的距离

2.控制

3.主要函数

(1).雷达避障主函数

RobotCoreClass::getLaserBZData

(2).相关参数

用于限速参数1m以内速度:speedLaserData & 0x01 isSpeedLaserMin
用于限速参数1.5m以内速度:speedLaserData & 0x02 isSpeedLaserMid
用于限速参数2m以内速度:speedLaserData & 0x04 isSpeedLaserMax

三.超声波避障

今日份美图

posted @ 2024-04-17 17:59  可依旧少年  阅读(8)  评论(0编辑  收藏  举报