- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于虚拟机器人软件独轮车设计
基于虚拟机器人软件独轮车设计 【摘 要】在虚拟机器人软件环境中使用计算机程序算法,设计出虚拟环境的独轮小车富有趣味性和探究性。本文的独轮车算法应用到了工程控制理论中的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行代?a表示用端口号为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.
您可能关注的文档
最近下载
- 丽声指南针英语名著分级读物Little Red Riding Hood小红帽 教学设计.docx
- 中华人民共和国第十四届运动会游泳比赛成绩册(编排系统版).pdf
- 数字温度计设计论文分析.doc
- 国开(河北)2024年《中外政治思想史》形成性考核1-4答案.docx
- 陕西中考数学第二轮复习策略讲座.ppt
- 东北三省四城市联考暨沈阳市高三质量监测(二)英语含答案解析.docx
- 中国肝癌规范诊疗质量控制指标(2022版).pptx
- 部编人教版八年级下册语文期中考试试卷及答案.docx VIP
- 山东省青岛市市南区2022-2023学年八年级下学期期末物理试卷(含答案).docx VIP
- 财务年度审计服务项目公开招投标书范本.doc VIP
文档评论(0)