基于APM单片机的智能机器人设计
扫描二维码
随时随地手机看文章
引言
据统计,截至2017年底我国约17.3%的人口年龄超过60岁,共计2.41亿人。有关部门估计,我国将于2025年步入超老龄化社会,有将近3亿人口的年龄超过60岁。养老逐渐成为我国不容忽视的问题之一。目前,我国经济快速发展,城市化进程逐渐加快,在计划生育政策的引导下,国内家庭结构朝着小型化方向转变,空巢老人和独居老人越来越多,根据有关部门统计,截至2020年我国空巢老人和独居老人的数量将突破1.18亿人。因此,本文专门针对空巢老人和独居老人的养老问题,设计了一款功能强大的辅助机器人。
1机器人功能
无人驾驶:将GPs技术应用到飞控系统中,在卫星地图的辅助下,机器人按照已经规划好的路线行驶到指定点,整个行驶过程的主要参考点是盲道,无需任何人工操作。
双向语音摄像功能:利用无人驾驶技术将产品运输到指定地点,在机器人自带摄像头和双向语音系统的辅助下,用户可以与卖家交流并最终确定商品类型。系统将用户选择的商品送入存储箱,确认无误后摄像头会自动扫描用户提供的二维码进行在线支付。
通过上述功能,机器人能自主规划到达快递点或商店的合理路线,帮助老人购买商品或取快递,给老人的日常生活带来极大的便利。
2机器人结构设计
从整体来看,机器人呈子弹头和圆柱体结合的流线型结构,机器人运动过程中的阻力比较小。如图1(a)所示,在机器人头部安装摄像头,能为用户和卖家带来极大的便利,机器人拍摄的照片更清晰,能帮助用户选择适合自身的商品类型,方便用户与卖家的交流并完成在线支付。如图1(b)所示,机器人机身呈圆柱体型,有助于提高存储空间的利用率。如图1(c)所示,可拆卸式存储箱的装配方式是抽拉式往复运动,清理和维修机器人更加便利,极大地方便了存取货物的工作。如图1(d)所示,机器人的整体装配满足人性化设计要求,外形优美。
(a)机器人头部
(b)机器人身体
(c)存储箱
(d)机器人总体结构
图1机器人结构设计
3无人驾驶功能设计
机器人主要通过APM单片机实现GPs定位和其他控制功能。在数据实时传输系统、摄像头和卫星地图的辅助下,机器人能在第一时间分析和处理外部环境,将得到的数据传输至车辆控制软件。底层的ECU单元接收到数据后,控制车辆完成刹车、变换速度、转向和无人驾驶操作。
3.1APM飞控工作原理
在APM飞控系统中,采用两级PID控制方式:第一级是导航级,主要利用fastloop()和mediumloop()的updatecu一一ertflingtmodeh)函数进行各项计算:第二级是控制级,主要利用fastloop()的stabilize()函数进行各项计算。
导航级PID控制的功能有:(1)计算飞机行驶的预定高度和预定空速:(2)控制飞机转弯过程。导航级PID控制利用各种算法计算出所需的横滚角、油门和俯仰角等数据,然后将数据传输至控制级,控制级综合考虑所需横滚角、油门、俯仰角等数据和飞机所处姿态,通过控制解算得到合理的舵机控制量,保证飞机按照预定的方向角、横滚角和俯仰角行驶,最后在setservos4()的辅助下,舵机控制级转换控制量得到相应的PwM信号量,并将该信号量送至舵机。当然,导航级负责控制油门,舵机负责解算油门控制量。在方向舵的控制过程中,控制级对方向舵控制量直接进行解算,解算数据会传输至舵机控制级。
3.2飞控罗盘校准
AutoRover一cute出厂前已经进行了各项校准,但是各地的电磁环境不同,有时候需要借助罗盘校准。当罗盘发生错误时,地面站的姿态界面会持续出现PreArm:Compassnotcalibrated(罗盘没有校准)的红色提示。
利用无线数传将地面站和机器人连接在一起,可极大地方便相关操作。连接完成,找到"初始设置",依次单击MandatoryHardware菜单和Compass选项,如图2(a)所示,根据要求设置完成后,找到LiveCalibrad(现场校准)按钮并单击。
完成上述操作后,系统会自动弹出特定界面,将UseAutoAccept(转动机器人)前面的标记去掉,要求每个轴转动次数大于或等于一次,即水平原地自转角度达到3609转轴一次、横滚角达到3609转轴一次、俯仰角达到3609转轴一次的目标。上述过程中罗盘传感器负责数据的采集和上传。按照经验,转动机器人能随意改变旋转姿态,直至全部掩盖图中左半部分的白点,界面上会出现相对完整的彩色球,此时单击Done按钮,将罗盘数据保存下来,如图2(b)所示。在飞行数据界面上,改变AutoRover一cute的车头朝向,分别设置为东、西、南、北,并比较AutoRover一cute的车头朝向和地面站界面出现的车头朝向,若二者相同,则校准成功,如图2(c)所示。
(a)校准界面
(b)调整界面
(c)校准完成界面
图2罗盘校准界面
3.3差速转向设置
依次单击"配置调试"和FullParameterList,系统会自动弹出基本调试界面,如图3(a)所示,并单击"0K"按钮:单击界面右半部分的"Find"按钮,系统会自动弹出对话框,输入"SKIDSTEER0UT",如图3(b)所示:单击"0K"按钮进行参数搜索操作,将"SKIDSTEER0UT"设置为l,如图3(c)所示,也就是将机器人的转弯方式更改为差速转弯:最后单击界面右半部分的"writeParam"按钮,将数据写入系统,如图3(d)所示。
(a)调试界面
(b)SearchFor界面
(c)转速调整界面
(d)数据写入界面
图3差速转向参数调整界面
3.4航线规划
如图4所示,在地面站界面上,依次单击"飞行计划"菜单和"行动"选项栏,选择"高德卫星地图"(需要联网),该地图在国内的支持良好。首先,在能获取GPs信号的空旷地面上放置机器人,完成上电操作后,利用无线数传将机器人和地面站连接在一起,通过GPs定位可将机器人的实时位置在界面上显示出来。依次单击"行动""起始位置",此时机器人图标位于地图中心,如图5所示,利用鼠标可自由拖动地图位置,利用鼠标滚轮可自由放大或缩小地图。
(1)离线地图:在按住Ctr1键的前提下,利用鼠标可完成矩形区域的选择,利用鼠标右键依次单击地图工具和预读取航点路径)离线地图),能将离线地图下载下来。
(2)航线规划:选择的命令不同,系统实现的功能也不同,其中wAYPoINT航点命令的使用频率最高。选择wAYPoINT命令后,当机器人运动到航点半径范围内时,机器人会自动调整运动方向,向下一航点运动,简易设置航点半径为3m,也就是机器人运动到航点半径3m范围内,则自动按照下一条命令运动。此外,按照图5"航点"栏设置其余参数。设置航点步骤如图5所示,即单击地图任意区域便能添加wAYPoINT航点。此外,拖动地图上已经添加的航点便能将航线数据传输至机器人,机器人原有数据会被完全覆盖。当需要读取机器人的航线数据时,只需单击"读取航点"按钮即可。
图4高德卫星地图界面
图5定位界面
下面介绍"北京一上海一广州"航线。单击地图上的北京,系统会自动弹出默认高度设置的界面,在界面上输入数据0,并单击"oK"按钮即可设置第一个wAYPoINT航点,除上述方法外,还可直接将航点经纬数据输入到"航点"栏中,从而完成广州和上海两个wAYPoINT航点的设置。航线规划界面如图6所示。
在航点图标上单击鼠标右键,选择"删除航点"能将本航点彻底删除,选择"清除任务"能将全部航点和命令彻底删除,但机器人的航点数据仍然保留。除上述方法外,也可单击"航点"栏删除框里的"x"按钮将对应航点彻底删除,若需要改变航点顺序,只需单击上下箭头即可,如图7所示。
图6航线规划界面
图7更改航点界面
4结语
本文设计的辅助机器人功能完善、操作难度小、占用空间小。目前,该辅助机器人尚未在市场上出现,无需担心市场风险问题。经过专家调试,该辅助机器人能实现无人驾驶和路线自动规划功能,但数据不精确和易丢失的问题还有待改进。该机器人未来的发展方向是跟随购物机器人,具备监控和自动报警功能。