APP下载

基于ROS 的全向轮智能机器人小车设计

2022-02-10周宝昌林梓宏周旭华谢智阳

装备制造技术 2022年11期
关键词:全向树莓激光雷达

周宝昌,林梓宏,周旭华,3,谢智阳

(1.河源职业技术学院,广东 河源 517000;2.河源市工业机器人技术应用工程技术研究中心,广东 河源 517000;3.河源市智能汽车与智慧交通工程技术研究中心,广东 河源 517000)

0 引言

国外的移动机器人研究始于上世纪60年代末期,由美国斯坦福研究院研制出世界上第一台可移动的机器人“沙基”(Shakey)[1]。随后,各种移动机器人的研究和应用应运而生,如亚马逊2019年使用的无人送货机器人Scout,可通过视觉摄像头与激光雷达融合定位建图实现自主导航。国内对移动机器人研究比国外稍晚,如小米公司研究的扫地机器人,能通过激光雷达和红外等传感器对室内环节进行扫描,根据扫描的路径规划完成室内的清扫;文献[2]首次将立麦克纳姆轮的运动学和动力学模型应用在全向轮智能小车上。文献[3]针对全向移动小车编队的轨迹跟踪及防碰撞问题,解决了编队轨迹跟踪过程中的防碰撞控制问题。但是,目前国内外研究的移动机器人基本是以2 轮或者4 轮为主的服务机器人[4]。全向轮智能小车通过搭载不同的传感器,可快速开发并应用于酒店、餐厅等不同场景中化身为不同类型的机器人,实现智能化引导顾客,解放人力。设计一款使用3个全向轮来进行移动的智能机器人小车。

1 系统总体设计

1.1 设计思路

智能小车中控由顶层与底层控制组成,顶层为决策层,通过采集雷达获取到的环境信息与底层里程计的轮速数据,将数据传输到ROS 系统上,通过对数据进行处理,计算出小车当前的位姿信息与加速度信息,然后将新的指令发送到运动控制层,同时配置了惯性测量单元IMU(Inertial Measurement Unit)姿态传感器来校准各种参数。底层为运动控制层,通过接收到树莓派传输的信号,将速度信号转换成数字模拟信号并发送到电机驱动板来控制机器人小车移动,并将电机的速度传回驱动板来实现闭环控制[5]。

树莓派4B 将各个传感器获取到的信息进行整合分析和预处理,然后根据这些信息对小车的下个运动做出决策,将决策指令通过USB 串口通信将信号传输到Arduino 上再处理,将最终得到的PWM 脉冲宽度调制信号发送到电机驱动板上,由驱动板来控制三个电机运动,让小车利用三个全向轮的差速实现直走、转向运动,最终完成全向轮小车的建图与导航功能操作。

1.2 制作材料

全向轮智能小车,所需材料见表1。

表1 全向轮小车制作材料清单

2 硬件系统

2.1 硬件结构设计

全向轮小车的硬件设计包括树莓派4B、USB 激光雷达、Arduino Mega2560 控制板、降压模块、12.6V锂电池、双路直流电机驱动板和编码器组成,硬件结构如图1 所示。

图1 硬件结构系统

(1)电源模块设计,电源是必不可少的硬件,可以让机器人带动整个系统正常运转。为了满足各个模块的电源需求,选择采用规格为12 V、10300 mAh 的锂离子充电电池分别为树莓派4B 和底盘电机驱动板供电,Arduino、激光雷达和IMU 通过树莓派的USB 接口进行数据传输与供电,编码器由Arduino 引出5 V进行供电。

(2)电机模块,本模块采用是双路直流电机驱动板,可驱动两台直流电机工作,选用CHR-GM25-370,单路7a 大功率,光耦隔离输入信号,并有欠压保护,可靠稳定。由于本设计使用到了3个全向轮,因此需要多使用一个驱动板来进行驱动。驱动板上的ENA1 和ENA2 为电机使能端,通过接收Arduino 板上的PWM 端口信号来控制输出端A 和B 的电压大小间接控制轮子的转速。

(3)底盘控制模块,底盘控制平台采用Arduino板为核心。

(4)传感器模块,此模块有多个传感器组成,主要是选用激光雷达写RPLIDAR-A3,用于机智能小车的环境感知。通过机器人小车顶部的激光雷达发布高频率的激光采集室内环境信息,将其处理传输到ROS系统上。采样频率为16000 次/秒,测量距离为25 m,能获得精确的环境轮廓信息。

2.2 电路设计

Arduino 驱动板接收到树莓派传输来的指令后向电机驱动板发送数字模拟信号,电机驱动板获取信号后再单独控制2个电机的速度。这里用到两块电机驱动板,电机驱动板1 的IN1、IN2 和ENA1 控制A 电机的正反转和速度,电机驱动板2 的IN1、IN2 和ENA1控制B 电机的正反转和速度,IN3、IN4 和ENA2 控制C 电机的正反转和速度。电机编码器与Arduino 驱动板连接,可以测量电机的转速并调整,还能让电机更迅速到达目标速度。连接示意图如图2 所示。

图2 电机驱动板与Arduino 和电机的连接

3 软件系统设计

导航功能的实现主要有两个关键因素:机器人的路径规划与自主定位。路径规划到关键在于地图到构建,利用GMapping 算法绘制出高进度地图,为路径规划提供更优的选择,而定位则采用了AMCL(Adaptive Monte CarloLocalization)自适应Montcallo 定位法,对地图中的机器人位置进行跟踪,从而实现自主定位。ROS 提供了一个完整的导航框架,系统仅需要发布必要的传感器信息与导航的目标三维坐标与四元数转向角信息即可完成导航。整体设计如图3 所示。

图3 软件整体设计流程

3.1 Gmapping 算法

Gmapping 是一个基于2D 激光雷达使用RBPF算法完成二维栅格地图构建的SLAM 算法,实现实时构建室内环境地图。用x表示机器人状态,m表示环境地图,z表示传感器观测情况,u表示输入控制,下标表示时刻,则对p(xt,m)|z1:t,u1:t-1进行估计。由条件贝叶斯法则可以得到:

算法的过程是将当前时刻的位置用前一刻的地图和运动模型进行预测,然后根据传感器的观测值、重、粒子的地图更新等来计算权重,如此往复地进行计算。

为了方便计算,对两边取对数:

在没有任何测量值的初始状态下,一个点的初始状态为0,而这一部分关键的地方在于的计算,比值为测量值的模型,标记为lomeas。测量值的模型只有两种和looccu =而且都是定值。这样每获得一次测量值,能用加减法对点状态进行更新。从而完成更新地图的工作。

采用人Gmapping 算法实时构建室内环境地图。通过调用Gmapping 算法,能够绘制高质量的地图,为移动机器人提供了更优的路径规划。

3.2 路径规划模块

路径规划模块由连接在树莓派上的激光雷达和读取里程计信息、发布导航点坐标的程序两部分组成,主要用来获取地图信息到树莓派4B 上,再由树莓派处理器对信息分析处理。导航功能需要提前构建一张地图才能进行导航,程序将地图处理为两个代价地图来保存现实世界中的障碍物信息[6]。

3.3 自主定位模块

使用Amcl 自适应蒙特卡洛定位法建立机器人在二维移动过程中概率定位系统,采用粒子滤波来跟踪已经知道的地图中机器人位姿。AMCL 算法步骤如下:

4 系统测试

将笔记本电脑通过USB 线或者无线网络连接到树莓派上,进行ROS 系统和所需的功能包下载安装,并进行编程和通信。

测试时,的测试环境将机器人小推车放在地面上,如图4 所示。打开开关,观察小车的地图构建与导航情况,根据实际情况调整局部地图、全局地图参数与小车的平稳度和速度。

图4 测试环境

是机器人创建的环境地图(图5),通常是PGM格式的普通灰阶图像。这张图片上的黑色pixel 表示障碍物,白色pixel 表示可以自由通过的区域,而灰色则是没有被探索到的地方。从图6 中可视化信息视图测试结果中,可以清晰得出,雷达构建的地图信息边缘清晰、对障碍物位置准确定位。

图5 智能小车构建的环境地

图6 地图可视化信息视图

5 结语

对3个全向轮的运动学分析后,构建相应的运动学模型,基于ROS 操作系统进行导航功能的设计与实现,并研究出了稳定的机器人系统。经过系统测试结果表明,本系统具有较好的导航与实时避障能力,构建的地图精准度高,导航任务完成度高、位置精准。基于IMU 与里程计的姿态纠正,使系统对不同环境均有良好的适应性,为三轮全向机器人小车的研究提供了参考。

猜你喜欢

全向树莓激光雷达
手持激光雷达应用解决方案
基于双舵轮驱动的全向搬运装备设计
法雷奥第二代SCALA?激光雷达
基于“智慧课堂”的全向机器人课程实践探索
打造别墅小庭院热情音乐派对 畅玩Sonance OMNI-6T全向户外音箱
基于树莓派的骑行智能头盔设计
基于激光雷达通信的地面特征识别技术
基于激光雷达的多旋翼无人机室内定位与避障研究
基于树莓派的远程家居控制系统的设计
一种应用在WLAN/ WiMAX的宽带水平极化全向天线阵列