梁佩
EV3机器人在使用过程中时常会出现死机的情况,让人措手不及。为什么机器人会死机?应采取怎样的措施应对?
通过研究与分析,再结合个人经验,我将EV3机器人死机的情况分为机器人无法运行、机器人在运行过程中停止以及在下载程序时死机三大情况,分别分析了机器人在不同情况下出现死机的原因,并提出解决方案。
一、机器人无法运行
第一步:检查各个马达是否被零件或其他物体卡死。若是,则取出物体;若否,则进行第二步。
第二步:检查连接主机与各个马达、传感器、陀螺仪的数据线是否松动、老化或接触不良。若是,则更换数据线;若否,则进行第三步。
原因:在复杂的打包程序中,常常设有陀螺仪、传感器、马达的检测与复位指令,如果机器人运行前没有检测到它们,就不会继续运行。所以,即使机器人的启动与陀螺仪或传感器无关,数据线的松动、老化或接触不良导致其与机器人断开连接,机器人也无法启动。
第三步:检查程序是否错误。若是,则修改程序;若否,则进行第四步。
第四步:检查主机、马达、陀螺仪、传感器等硬件是否损坏。
二、机器人在运行过程中停止
机器人在运行过程中突然停止的情况,往往是由A、D马达(中型马达)死机引起的。若是B、C马达(大型马达)出现故障,机器人会出现乱运行的现象。这种情况往往是数据线松动引起的。
以下分析均建立在B、C马达(大型马达)无故障的情况下(图1中标注的是A、D马达,即中型马达)。
第一步:拆除主机上的策略物并使主机离开地面。
若马达可继续运行,那么机器人停止的原因很可能是A、D马达没有完成程序中的指定度数或圈数,机器人无法执行后面的程序而导致死机。
这种情况出现的本质原因与A、D马达的初始位置有关。当A、D马达上策略物初始位置的角度比程序中指定的角度大时,A、D马达无法到位,此时机器人不会死机,但无法完成指定任务。A、D马达上策略物初始位置的角度比程序指定的角度小时,A、D马达因没有转完指定的角度就会卡死。
例如程序中A、D马达应完成的角度(圈数)为180°(0.5圈),如果A、D马达上策略物的初始位置与赛台水平面的角度为190°,机器人运行到此段程序时不会卡死,但无法完成指定任务;如果A、D马达上的策略物的初始位置与赛台水平面的角度为170°时,机器人运行到此段程序时就会卡死,无法完成后面的程序。此时的解决方案有以下三种。
1.在主機上制作一个装置,以保证A、D马达的初始位置每次都在同一位置。这个方法能很大程度上保证A、D马达不会卡死。但也有可能是人为原因导致一定的失败率。
2.将程序中A、D马达的指令由度数或圈数改为时间(如图2)。这样无论A、D马达的初始位置如何,只要时间一到,A、D马达立即停止,机器人则继续运行。当然,为了保证任务能够完成,A、D马达的运行时间应比刚好能完成的时间长0.3 s 至0.5s。这种方法偶尔也会导致机器人突然死机。
3.将程序中的中型电机模块替换为未校准电机(如图3),未校准电机中的功率为A、D马达的运行功率,等待模块的时间是A、D马达运行的时间。这种方案比第二种更稳定,几乎能完全保证A、D马达在运行过程中不会卡死。
若马达不能继续运行,则进行第二步。
第二步:检查程序是否错误。若是,则修改程序;若否,则进行第三步。
第三步:常见的程序错误有如下两种。
1.程序中插入了不应有的等待模块。
2.程序模块之间的序列线连接错误。
三、下载程序时死机
主机完全死机,程序块按钮无法控制主机时,解决方法有如下三种。
1.若下载固件时发生死机。
①连接EV3主机与计算机间的USB线。
②同时按下EV3主机左上方的取消键、输入键以及向右键。
③当EV3主机重新启动后,先放开取消键。
④当EV3主机屏幕显示“Updating”时,放开其他两个按键。
⑤点击计算机EV3软件的Firmware Download。
2.若是一般状况下死机,无法操作按键(这种方式不会删除EV3主机内的档案)。
①先确认EV3主机是开机状态。
②同时按住EV3主机左上方的取消键、输入键以及向左键。
③待EV3主机屏幕无显示时,先放开取消键。
④当EV3主机屏幕显示“Starting”时,放开其他两个按键。
3.直接拔出电池强行关机,重新开机。这种方法虽然简单直接,但由于主机的设计不同,拆除某些主机电板十分麻烦,而且强行拆除电板会使主机内的程序被清空。
在以上方案中,分析的大部分是常规的情况,仍有许多问题未被发掘。总之,应对诸如此类的突发状况时,应保持清醒的逻辑思维,逐一排查,直到找到真正的原因,切忌条理不清、逻辑混乱。(指导老师:谌跃飞)endprint