APP下载

基于ROS的全向巡检机器人底盘ARM控制器设计

2020-03-02韩雪李有为张忠张朋

机械工程师 2020年2期
关键词:移动机器人底盘部件

韩雪, 李有为, 张忠, 张朋

(1. 南京工业大学 浦江学院 机电工程学院,南京210000;2. 江苏迪伦智能科技有限公司,南京210000)

0 引 言

传统变电站电力巡检一般由人工进行巡检抄表记录,巡检效率低,巡检容易不到位,其巡视结果也和巡检人员的个人经验素质相关[1-3]。随着近几年移动机器人技术与自动化技术发展,很多电站陆续加入了移动机器人来代替人工进行电力巡检。该类机器人按照底盘类型可分为两轮差速移动机器人、四轮差速移动机器人及四轮八驱全向移动机器人[4-6]。其中四轮八驱全向移动机器人在整个机器人硬件架构上也最为复杂。

图1 四轮八驱轮式巡检机器人底盘硬件架构图

本文以四轮八驱全向移动机器人为研究对象,应用ROS 系统的软件框架结构,设计其底盘ARM 控制器。

1 底盘硬件架构

四轮八驱轮式巡检机器人底盘系统架构如图1所示,主要包括:底盘控制单元、行走部件、转向部件、外围NET通信部件、IO驱动部件、电池系统及IMU系统。

作为机器人控制大脑,底盘控制单元包括IPC工控机和ARM控制器。IPC工控机负责顶层逻辑算法,主要包含机器人定位、建图、导航等算法,通过串口与ARM控制器通信;ARM控制器负责底层传感器数据采集、电动机速度控制、网络数据交换等功能。行走部件包括4个Maxson直流无刷电动机,配有1600线增量式编码器和24速比的减速箱;行走驱动组包含4个EPOS4/5008电动机驱动器,驱动之间通过CAN网络级联后与ARM控制器通信。转向部件包括4个大转矩舵机,具有多圈位置记忆功能;转向驱动组集成在舵机本体上,驱动之间通过CAN网络级联后与ARM控制器通信。外围NET通信部件主要包括无线网桥、激光雷达、云台系统等等,各模块之间通过内部以太网进行数据通信,各模块的网线统一接入到ARM控制器内部集成的千兆交换机上。IO驱动部件主要包括三色灯系统、超声避障传感器、防跌落传感器、防碰撞传感器、自主充电接口等等。驱动部件控制IO口统一接入至ARM控制器中。其他部件系统主要包括电池管理系统、IMU系统;ARM控制器通过串口来读取电池管理信息和IMU实时数据。

通过底盘硬件架构图可以得到ARM控制器的基本硬件输入需求,如表1所示。

表1 ARM控制器硬件资源需求表

2 ARM控制器硬件系统设计

根据表1的ARM控制器硬件资源需求表和ARM控制器本身需要具备的硬件功能,可以将ARM控制器具体细分为主控CPU模块、传感器接口模块、开关量IO模块、千兆交换机模块、外设通信模块、电源模块等6个模块,其PCB-3D视图如图2所示。下文对其中几个主要模块的设计做详细说明。

图2 ARM控制器PCB-3D视图

2.1 主控CPU模块

CPU作为ARM控制器的核心计算单元,需要满足表1的硬件资源需求,根据目前市场上常用的16位和32位单片机,本文选择32位ARM单片机STM32F407VET6,该系列单片机具备高集成度、高性能,提供工作频率为168 MHz的CortexTM-M4内核的性能。根据硬件功能需求表,对单片机外围IO口进行分配设计,主要分为两大类:通信IO口和控制IO口设计。通信IO口主要包括:2路1 M速率的CAN接口;2路串口232;1路串口485;1路以太网芯片SPI接口;1路II2C存储器接口;1路单总线温湿度通信接口。控制IO口主要包括:2路开光量超声检测接口;2路模拟量超声距离检测接口;三色灯控制接口;系统软急停检测接口;充电控制接口;系统开关机接口。

2.2 传感器接口模块

传感器接口模块主要包括超声避障检测电路和防跌落检测电路。超声避障检测分为开关量检测和模拟量检测,其开关量检测电路与防跌落开关量检测电路一致。开关量检测电路的主芯片采用双通道光耦HCPL0531,模拟量检测电路的主芯片采用LM258运算放大器。

2.3 开关量IO模块

开关量IO模块主要包括三色灯驱动电路、IPC开关机电路、自主充电继电器控制电路和系统开关机检测电路。驱动芯片采用贴片N-MOS管,封装SOP8,体积小,功耗低。其中开机电路在MOS管后端加入锁存器电路可实现系统软开机功能。

2.4 千兆交换机模块

千兆交换机用于各模块之间以太网数据通信,选用RTL8370交换机芯片,该芯片功耗低,集成8端口Giga-PHY,支持1000BASE-T、100BASE-T和10BASE-T,根据芯片手册设计其外围电路。

2.5 外设通信模块

外设通信模块主要用于ARM控制器同电池、行走驱动、转向驱动及IMU系统等设备之间的通信,包含CAN接口电路和232接口电路。CAN接口电路的主芯片选用型号为SN65HVD230D的CAN收发器;232接口电路的主芯片选用型号为MAX3232的双路串口芯片。

2.6 电源模块

电源模块的设计需根据实际外设的功耗来评估选型,选用两个12 V转3.3 V、3 A电源芯片LM22676ADJ,一片负责给单片机系统供电,另一片负责给交换机系统供电。

2.7 样板焊接

将设计好的原理图转化为PCB并打样焊接,如图3所示。

3 ARM控制器ROS接口设计

图3 ARM控制器实物图

图4 ROS封装库安装位置

图5 项目工程界面图

ARM控制器的ROS接口设计的主要工作是让ARM控制器能够兼容ROS系统,需要将ROS的一部分框架代码移植到STM32F407内核中。利用ROS中封装的串口,通过Topic话题与IPC工控机进行数据的交互。首先需要将ROS封装库RosLibs放置到项目工程文件目录,如图4所示。在项目工程树下添加ROS封装库,在头文件目录下添加ROS封装库的路径。图5为整个项目工程界面图。ARM控制器在ROS框架下主要完成实时速度话题、电池话题及IMU话题发布,速度指令和PID参数配置指令话题订阅,如图6所示。

图6 话题的发布和订阅

4 结 论

1)根据全向移动机器人底盘硬件架构图得到ARM控制器的硬件资源输入需求,设计ARM控制器各模块原理图并焊接制作ARM控制器实物。2)根据ROS系统软件框架需求,将ROS底层封装库移植到STM32F407内核中,通过话题的订阅与发布与顶层IPC工控机通信。

猜你喜欢

移动机器人底盘部件
移动机器人自主动态避障方法
加工中心若干典型失效部件缺陷的改进
奥迪e-tron纯电动汽车的高电压部件(下)
基于Siemens NX和Sinumerik的铣头部件再制造
基于Twincat的移动机器人制孔系统
轿车底盘评价调校初探
依维柯New Daily底盘改装房车中国首秀
底盘测功机的发展及应用
瑞风S5车底盘异响
极坐标系下移动机器人的点镇定