基于Arduino的两轮自平衡机器人设计与实现.docxVIP

基于Arduino的两轮自平衡机器人设计与实现.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Arduino的两轮自平衡机器人设计与实 现 :随着计算机技术的不断发展,与开源软件一样,开 源硬件正成为一股不可忽视的颠覆性力量影响着科学探索 和企业生产。基于开源硬件的产品越来越深入到社会实践 中。基于Ar du in o的开源硬件技术,论文提出了一个两轮直 立自平衡机器人的设计方案。它采用陀螺仪判断小车的原有 姿势状态,使用加速度传感器计算车体的倾斜角度,采用 Arduino处理数据和控制小车,用PID控制结合互补滤波融 合加速度计和陀螺仪采样信息,用PWM调节电机运动,最终 达到车体的平衡。实验结果表明:小车可以自行保持直立, 并且具有较好的回复平衡能力。该车可以作为进一步验证各 种控制算法的理想平台,具有一定的应用前景。 关键词:Arduino;开源硬件;自平衡机器人 中图分类号:TP24文献标识码:A文章编号:1009-3044 (2014) 34-8332-03 移动机器人技术随着计算机技术、软件技术、微电子技 术、材料技术等相关领域的进步而发展,同航天技术一样, 其发展水平甚至代表了一个国家的综合科技实力[1]。两轮 自平衡机器人是基于欠驱动,非线性以及无电状态中不稳定 的系统,若使车体能够在供电状态下保持自身平衡,必然要 保证车身重心始终和两车轮重心处在同一中心轴线上。当小 车车身处于动态平衡控制时,车身姿态传感器模块将测到的 车身角速度值和加速度值经过处理后传到控制模块,然后计 算得到控制车身平衡的信号量,通过驱动左右直流电机产生 控制力矩用以调节左右车轮的速度和方向,从而使车身能够 恢复直立平衡状态[2]。因而获取准确实时的车身角速度值 和加速度值是车身能够完成平衡控制的前提。但是传统的惯 性传感器模块由于其电器特性,易受到温度和噪声的影响因 而产生不同程度的误差,使得单一的姿态传感器模块在车体 姿态检测中难以获得准确的位姿。为解决上述问题,目前多 采用MPU-6050整合性6轴运动处理组件获取数据并通过控 制模块计算最优姿态角度[3, 4]。该文提出了一种基于 Arduino开源硬件,采用PID控制的方法设计自平衡机器人。 1 Arduino Arduino是一种获得实际环境物理量的工具。它是个可 编程的,基于AVR的微控制器的一个开源集成开发环境。 Arduin。可以用来开发交互产品,例如它可以获得开关信号, 以及各种传感器信息,此外它还可以实现各种电灯、电机以 及其他物理设备的智能控制。Arduino项目可以单独运行, 当然也能够在自身运行的同时和计算机上的应用程序 (Flash, Processing, MaxMSP 等)进行通讯。Arduino 板 可以自己组装或者直接买成品,相关的开源IDE可以免费获 取。 适合用作交互式平台的单片机或者单片机平台有很多。 比如有:Parallax Basic Stamp, MIT s Handyboard, Netmedia s BX-24, Phidgets或者其他能实现类似功能的。 使用以上所述的工具,你的编程将变得简便得多,它们能提 供给你一套容易的编程工具包。与此同时Arduino也简化了 和单片机之间工作的流程,然而与其它系统相比,Arduino 有不少优越性,比如:便宜,跨平台,简易的编程环境,软 件开源并可扩展,硬件开源并可扩展等。 2自平衡机器人工作原理 为了保持机器的平衡,ARDUINO需要知道框架和地面之 间的角度,以便于可以指挥电机以大约的速度和需要的方向 运行来防止机器摔倒。为了准确测量自平衡机器人的倾斜角 度,需要使用IMU (惯性测量单元)检测它的旋转速率和X 轴方向的重力,主要硬件组成结构如图1所示。 2. 1惯性测量单元(IMU) IMU是一个小的PCB板,它含有旋转陀螺仪和电位计, 每个部件测量角度的不同部分,如图2。 有了从IMU测量的角度信息,ARDUINO可以决定用多大 的速度和什么方向去启动两个电机。最简单的角度估计(和 ARDUIN0代码)是用-90°到+90°范围,0°视为水平,如果 IMU测得的角度是0,那么电机停止;超过0度电机适当的 前进;低于0度电机相应地反转。这个机制使得自平衡机器 人水平而且使你能够通过前后倾斜去控制它的速度和方向。 2. 2操纵和加速 为了操纵这台车,需要在手柄上装一个电位计(绝对型 角传感器)在左右转动手柄时。如果仪表指在中心位置,电 机收到相等的功率而向前直开。如果向左转或向右转,每个 电机的最大速度相应地收到影响,使得自平衡机器人转弯。 2.3启动开关 需要安装一个按钮式开关,当它被按下时才可以操作机 器。这个开关是手动安装在你的左手大拇指放的位置以便于 如果你从自平衡机器人上下来或者什么其他的原因放开了 手柄,它会马上关闭电机。这也有一个角度限制去关闭电机, 如果倾斜

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档