创意之星之四足机器人.docVIP

  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文档。上传文档
查看更多
大学 专业实践课题:四足追光机器人 姓 名: 学 院:机械工程学院 专 业: 机械设计制造及其自动化 班 级: 学 号: 指导教师: 四足追光机器人 一、实验目的 用“创意之星”机器人套件组装可以进行追光行走的四足机器人; 实验套件(创意之星) 1.机械结构:基本结构件、舵机动力关节、可转向轮子、机械爪等; 2.控制系统:控制卡、舵机、直流电机、各类传感器、电源等; 3.控制软件:NorthSTAR 图形化开发环境 三、实验步骤 1、确定其基本功能 基本功能: 在平地上通过步态设计,可以正常迈步行走。同时头部传感器检测前方光源,便于及时调整运行动作,追光行走。 当左侧红外线传感器检测到光源强于右侧红外线传感器检测到的光源时,机器人运行步态会改变,控制机器人左转。右侧的光源强于左侧的光源时用同样的原理控制机器人右转。 当两侧均检测到光源亮度相等时,调整步态,追光机器人会向前走。直至检测不到光源停止,再控制向后退。 2、机构设计 整个巡视机器人由大致三个模块组成: a.由8个舵机组成四足机器人的4条腿模块; b.由2个舵机组成四足机器人尾部部分; c.由2个红外接近传感器和1个舵机组成的感应模块。 3、机构的装配 整个四足避障机器人由1个控制板,1个舵机和两个红外接近传感器组成可转动头部,8个舵机组成主要的4条机械腿,由两个舵机构成尾部部分。整个四足机器人共由11个舵机、两个红外接近传感器及“创意之星”机器人零部件组成。 安装可分为零件的安装,部件的组装以及最后的总装过程。根据预先设计好的机器人结构方案,组装四条腿的部件、头部、尾部以及机器人主体部分,最后组装到一块,形成完整的整体结构。 4、连接电线 由于我们此次使用的是创意之星的标准套件,舵机接线、传感器模拟与数字端口的连接都及其方便简单。 5、设置各个舵机的限制参数 一方面保护所使用器件的性能,防止过载或错误操作而将其损坏;另一方面也为我们进行各种复杂的调试做良好的准备,能够顺利的完成设计任务。 6、微调初始姿态 为了更好的进行预期动作,可以将机器人的舵机位置调整合适,由于之前已将舵机调整中位,所以这部调整较为简单,只需旋转舵机的舵盘的位置即可,即当机器人通电后,舵机自动调至中位,此时为机器人的初始姿态,之后的所有调试,都是基于这个初始姿态设计的。 7、绘制程序流程图 8、AVR Studio的程序书写与调试 在该编译环境下,图形化的编程界面极大的方便和提高的了我们编写一系列动作的程序,而且可以更直观的观测到所有输出与输入端口,很好的完成对机器人的控制。 下面是图形化的程序语言: 9、源程序如下: #include background.h int main(int argc, char * argv[]) { int Diff = 0; int Left = 0; int Right = 0; MFInit(); MFSetPortDirect(0x00000FFF); MFADEnable(0); MFADEnable(1); MFDigiInit(100); DelayMS(100); MFADInit(100); MFSetServoMode(1,0); MFSetServoMode(2,0); MFSetServoMode(3,0); MFSetServoMode(4,0); MFSetServoMode(5,0); MFSetServoMode(6,0); MFSetServoMode(7,0); MFSetServoMode(8,0); MFSetServoMode(9,0); MFSetServoMode(10,0); //左侧 Left = MFGetAD(-1); //右侧 Right = MFGetAD(-1); Diff = Left - Right; //左侧的值大于右侧 if (!Diff50) { //左转 { MFSetServoPos(1,512,512); MFSetServoPos(2,512,512); MFSetServoPos(3,512,512); MFSetServoPos(4,512,512); MFSetServoPos(5,512,512); MFSetServoPos(6,512,

文档评论(0)

139****7971 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档