周旭华,赖理智,钟承志
(河源职业技术学院,广东 河源 517000)
随着科技技术的发展,代替人类工作的各种智能化小车出现在工厂、车间以及家庭服务等场合。目前,智能小车的跟随技术主要有超声波、红外、摄像头传感器、UWB技术等,这些定位和测距技术都较为成熟[1-3]。目前自主跟随小车智能化需求不断提高,且系统的可移植性要求也越来越强,针对这一需求,2010年Willow Garage公司发布了开源机器人操作系统ROS,该系统能够大大缩短开发的时间,且极大提高了智能小车软件上的移植性和复用性,同时也提高了软件的兼容性。本文设计了以树莓派为上位机,Arduino UNO为下位机,ROS为核心通信架构的目标自主跟随小车[4]。
以树莓派为上位机主控制板,Arduino UNO板为下位机辅控制板,搭建上位机和下位机的通信架构,激光雷达在未知的环境中获得自身位置信息、目标物体位置信息,上位机获取处理的目标位置信息,发送命令到Arduino UNO板,Arduino通过接收树莓派传来的信号来给予电机驱动板信号,控制小车实现自动跟随目标物体。其系统结构框图如图1所示。

图1 系统结构框图
小车主要由树莓派3b、Rplidar-A1激光雷达、Arduino UNO控制板、微型直流减速电机、直流电机驱动模块、降压模块、电池等部件组成,其结构设计如图2所示。

图2 小车结构设计图
2.2.1 电机驱动模块
电机驱动模块接收到Arduino UNO发送过来的指令可以单独控制左右电机的速度,电机驱动模块的IN1、IN2、IN3、IN4分别与Arduino UNO的7、8、9、10号端口连接,控制电机正反转、制动,+5V端口可接5V或3.3V为信号端提供电 源,ENA1、ENA2为电机使能端,连接PWM端子6、5来调节电机速度。……