基于虚拟机器人软件的独轮车设计

2017-05-20 13:01岳井玉
中小学信息技术教育 2017年5期
关键词:独轮车陀螺仪仿真

岳井玉

【摘 要】在虚拟机器人软件环境中使用计算机程序算法,设计出虚拟环境的独轮小车富有趣味性和探究性。本文的独轮车算法应用到了工程控制理论中的PID原理,让虚拟机器人软件作为中小学生学习复杂程序算法和仿真工程原理的直观工具,是一种有效尝试。

【关键词】虚拟机器人;独轮车;PID;陀螺仪;仿真

【中图分类号】G434 【文献标识码】B

【论文编号】1671-7384(2017)05-0086-02

独轮车是只有一个轮子的小车,在电机马达的驱动下能够平稳地在地面上行走而不摔倒。本文中的独轮车采用萝卜圈3D仿真机器人软件的免费功能模块来实现。

独轮车原理

简单独轮车的平衡运动状态主要有三种情况:后倾、直立、前倾(如图1)。如果状态是后倾,则车身需要一个向后的力才能让其回到直立状态,即电机马达需要加速向后转动;如果状态是前倾,则车身需要一个向前的力才能让其回到直立状态,即电机马达需要加速向前转动;对于直立状态,电机马达速度为零即可。

仿真软件里有陀螺仪传感器,能够反馈机器人与地面的倾斜角度值。对于安装在车身顶部的陀螺仪传感器而言(如图2),根据陀螺仪传感器的说明书可知,车身向后倾时,传感器值为负值;车身向前倾时,传感器值为正值;车身直立时,值为0。而且倾斜越厉害,值越大,如果独轮车向前倒了,值为90;反之,如果向后倒了,值为-90。因此,对独轮车而言,陀螺仪传感器的取值范围是-90到+90(数学区间表达式为[-90,90])。进一步,假定独轮车向前倾斜5度,则应当用P×5的电机速度向前加速才能维持其竖直(P是比例常量);假定向后倾斜-5度,则应当用P×(-5)的电机速度向后加速让其竖直;并且,当倾斜的角度很大时,就应当用更大的电机马达速度进行平衡纠正。因此,将陀螺仪传感器的当前值反馈成机器人的电机马达数据,就可以设计出独轮车。

独轮车结构

设计独轮车结构时,要考虑重心位置在竖直中轴线上,图2是一款独轮车:在车的顶端安装陀螺仪传感器,并指定端口号为31。轮子两侧是两个电机马达,而且只有一个电机马达与轮子进行连接,并指定端口号为1;另一个电机马达不指定端口编号,只用来保持重心的结构对称。

独轮车程序

独轮车在行走时,机器人的车身状态(倾斜状态)应当反馈到电机马达中进行平衡纠正,从而保持车身直立而不摔倒。这个过程可以用循环语句来实现。

图3是用Python语言完成的独轮车虚拟机器人控制程序。第14行代碼表示用端口号为31的陀螺仪传感器获取独轮车的倾斜角度值。第16行代码表示将倾斜角度进行数学比例放大。根据虚拟机器人软件教程,10倍电机正转的转速范围是0到1000(数学区间表达式为[0,1000])或反方向转速范围是-1000到0([-1000,0]),由于电机的马达值不能无限大,因此第19行到22行代码表示对超出范围的数据进行过滤。第25行代码表示将最终的数据赋值给端口号为1的电机马达,从而驱动独轮车保持平衡。第28行表示采样时间为20ms,即间隔一段时间后再进行下一次的循环。在调试中,还需要让独轮车在启动时打破“静止”状态,即需要有一定的初速度,因此第5行和第6行代码将完成这项功能。

虚拟仿真

找一张虚拟机器人场景图,将上述程序和机器人加载进来,就可以在仿真界面里观察和调试独轮车的运行状态。对于图3中的控制程序,主要有两个地方可以调试。

第一处是第8行的比例值,假定陀螺仪取值是[0,5],而期望电机马达值为[0,100],对于线性变化,可以这样求出变化比例P=(100-0)/(5-0)=20。如果独轮车前后摆动过于活跃而出现“摔倒”情况,就减小P值。

第二处是第28行的采样时间,采样间隔时间可短可长:如果太短,与计算机执行一条指令的时间长短等性能有关;如果太长,表现为独轮车摔倒后才纠正,显然为时过晚。让学生在思考中进行调试,并与现实情况进行比较,会发现控制程序的魅力。

算法拓展

PID控制(比例、积分、微分)是一种常用的用于机械装置(如车辆、机器人、火箭)中的控制技术。用好PID控制,并不是一件容易的事,需要有相当的高等数学基础和控制技术基础,对于小学、初中的学生来说,还是有些过于复杂,但通过简单的代码和虚拟仿真技术让学生从小了解和学习PID,对提升学生的科学素养有益处。PID有三部分,在图3中,实现了P控制,即比例控制,文中还给出了调试方法和取值方法。对于积分和微分控制,读者可以参考机器人PID巡线等算法进行独轮车平衡算法的深入研究。

参考文献

中文乐高翻译团队. 用于乐高机器人的PID控制器[DB/OL]. [2011-8-28]. http://bbs. cmnxt. com/thread-5688-1-1. html.

孔祥宣. 自主式双轮动态平衡移动机器人的控制系统研究[D]. 上海交通大学,2007.

霍亮. 两轮自平衡电动车的关键技术研究[D]. 哈尔滨工程大学,2010.

萝卜圈仿真入门教程[DB/OL]. http: //www. irobotq. com/website2/dl. aspx.

(作者单位:浙江宁波市北仑区泰河中学)

猜你喜欢
独轮车陀螺仪仿真
基于EMD的MEMS陀螺仪随机漂移分析方法
“天才”的发明
我国著名陀螺仪专家——林士谔
推独轮车
微机械陀螺仪概述和发展
Buck开关变换器的基本参数设计及仿真分析
试析PLC控制下的自动化立体仓库仿真情况分析
基于MADYMO的航空座椅约束系统优化设计
中国体态假人模型与FAA Hybrid Ⅲ 型假人模型冲击差异性分析
MEMS三轴陀螺仪中不匹配干扰抑制方法