资源描述
资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。
机电一体化
创新综合实验
目录
第一部分 课程总览 3
第二部分 综合实验 7
Lab1 光电传感器自动跟踪小车 8
Lab2 光电传感器测距功能测试 10
Lab3 光电传感器位移传感应用 15
Lab4 超声波传感器测试 17
Lab5 超声波传感器位移传感应用 21
第三部分 创新实验
a) 双轮自平衡机器人;
b) 碰触传感机器人设计( 基于Microsoft Robotics Studio平台) ;
c) 寻线机器人的仿真和建模及实例( 基于Lejos-Osek 设计一个机器人的实例) ;
d) 自己提出一个合理的项目
第一部分
课程总览
1. 目的与意义
提倡”素质教育”、 全面培养和提高学生的创新以及综合设计能力是当前高等工科院校实验教学改革的主要目标之一。为适应素质教育的要求, 高等工科院校的实验课程正经历着从”单一型””验证型”向”设计型””开放型”的变革过程。我院测试及控制类课程《电工电子技术》《测试技术》《微机原理及接口技术》等课程涵盖了机械设备及加工过程测试控制相关的电子电路、 传感器、 信号处理、 接口、 控制原理、 测控计算机软件等理论及技术, 具有综合性、 实践性强的特点, 但当前各课程的实验教学存在着孤立、 分散、 缺乏系统性的问题。为促进机械工程学科学生对于计算机测控技术的工程创新设计能力、 促进相关理论知识的理解和灵活应用, 本机电一体化创新综合实验以丹麦乐高( LEGO) 公司教育部开发的积木式教学组件-智力风暴( MINDSTORMS)为基础进行。
采用LEGO MINDSTORMS 为基础建立开放型创新实验室,并根据我院测试及控制类课程《电工电子技术》《测试技术》《微机原理及接口技术》等课程设计多层次的综合创新实验设计项目, 具有技术综合性和趣味性以及挑战性, 能有效激发学生的学习兴趣, 使学生在实践项目的过程中激发和强化她们的创造力、 动手能力、 协作能力、 综合能力和进取精神; 可使学生在实施项目的过程中对材料、 机械、 电子、 计算机硬件、 软件均有直观的认知并掌握机械工程测试与控制的综合分析设计能力。
2. 实验基础
2.1 LEGO MINDSTORMS 控制器硬件
要求认识和理解RCX、 NXT的基本结构, 输入输出设备及接口, DCP传感器及接口, 并熟练进行连接与操作。
2.2 根据具体的实验要求选择适合的软件
Microsoft Robotics Studio基础
VPL编程
Microsoft Robotics Studio软件
Robolab软件
NXT软件
Matlab等等
2.3 授课方式:
课堂讲授, 编程以自学为主
参考书:
a) LEGO快速入门
b) 乐高组件和ROBOLAB软件在工程学中的应用
c) ROBOLAB2.9编程指南
d) ROBOLAB研究者指南
e) 各类有关乐高机器人的网站和论坛
附录: 小车搭建步骤见”9797手册”
3. 综合实验任务及要求
Lego组件具有强大的灵活性, 可根据我院教学任务分层次、 分阶段的实验项目, 根据涉及的技术层次以及难度拟分为指定项目实验(基础实验部分)以及创新综合实验两个层次, 其中指定项目实验学生根据教师指定的参考项目设计方案完成指定对象的测试与控制的设计和实现; 创新综合实验则仅给出某个测控主题及目标, 由学生分组自行完成全部设计与构建。
4. 指定项目实验 (基础实验部分)
4.1.1 Lab1 光电传感器自动跟踪小车( 必选)
内容: 搭建小车并使之自动跟踪黑色轨迹。
目的: 熟悉ROBOLAB 编程方法以及NXT使用。
4.1.2 Lab2 光电传感器测距功能测试
内容: 测试LEGO光电传感器的特性,并熟悉ROBOLAB测试环境的应用。
目的: 确定光电传感器用于测距的线性范围及特性。
4.1.3 Lab3 光电传感器位移传感应用
内容: 应用光感的局部线性特征搭建可与障碍物保持给定距离的小车, 测试LEGO光电传感器的距离传感性能。
目的: 采用光电传感器进行距离测量。
4.1.4 Lab4 超声波传感器测试
内容: 应用超声波传感器线性特征搭建小车, 并与障碍物保持一定的距离, 测试其线性范围。
目的: 确定超声波传感器用于测距的线性特性。
4.1.5 Lab5 超声波传感器位移传感应用
内容: 应用超声波传感器闪避障碍物, 测试LEGO超声传感器的距离传感性能。
目的: 熟悉超声传感器的用途
5. 创新实验设计
a.双轮自平衡机器人;
b.碰触传感机器人设计( 基于Microsoft Robotics Studio平台) ;
c.寻线机器人的仿真和建模及实例( 基于Lejos-Osek 设计一个机器人的实例) ;
d.自己提出一个合理的项目
6. 综合实验说明书要求
编写说明书是综合实验的一个重要组成部分, 它反映学生在整个设计过程中的工作表现和能力, 编写设计说明书也是培养学生科技写作能力的一次训练, 设计说明书应力求简洁、 文理通顺、 字迹工整。设计说明书的内容应包括:
1) 实验报告以小组为单位, 每小组一份
2) 实验目的
3) 实验要求
4) 小组成员分工
5) 软件设计, 程序流程图, ROBOLAB VI程序及截图
6) 调试过程出现的问题及解决方案
7) 结论( 实验结果, 体会与建议等, 可附上有创意的小车图片)
8) 附机械结构图, 算法流程图, 数据处理表等等;
9) LEGO硬件结构的设计
10) 测试与控制算法以及软件编程;
11) 实验结果, 测试数据记录, 分析;
12) 收获、 体会, 意见及建议;
7. 时间安排
《机电一体化创新综合实验》教学计划时间为: 日上午, 为了使课程设计能按时完成, 其时间安排如下:
1) 阅读综合实验指导书, 了解设计任务和要求, 查阅参考资料, 2~3天;
2) 各班与老师联系上机调试时间
课程设计成绩的评定
1) 成绩的评定, 根据学生在整个设计过程中的表现、 设计和制作水平, 动手操作能力, 设计说明书的编写质量等项目的评分综合评定。
2) 答辩成绩分优秀、 良好、 中等、 合格和不合格五级。
第二部分
基础实验
Lab1 光电传感器自动跟踪小车
1. 实验目的:
Ø 了解光电传感器感光特性;
Ø 掌握LEGO基本模型的搭建;
Ø 基本掌握ROBOLAB软件;
2. 实验要求:
能做搭建比较牢靠的小车模型, 能够实现小车沿着黑线行走(实际上是沿着黑线走Z字形)。
3. 软件设计:
编写程序流程图并写出程序。
4. 测试环境:
5. 实验步骤:
1) 搭建小车模型, 参考附录步骤或自行设计(创新可加分)。
2) 用ROBOLAB编写上述程序。(也能够自己编程序)
3) 将小车与电脑用USB数据线连接, 并打开NXT的电源。点击ROBOLAB的RUN按钮, 传送程序。
4) 取有黑线的白板, 运行程序, 观察小车的运动情况, 不断的调试, 力求沿黑线走得越快越好。
6. 实验报告要求:
l 实验目的
l 实验要求
l 小组成员分工
l 软件设计, 程序流程图, ROBOLAB VI程序及截图
l 调试过程出现的问题及解决方案
l 结论( 实验结果, 体会与建议等, 可附上有创意的小车图片)
7. 注意事项:
l 光电传感器对环境光较为敏感, 现采用直接采光装置, 提高对环境的适应度。另外, 采用光电传感器的自身光源, 最大限度的减少环境光对实验的不利影响。
l 小车在行进之中, 并不能保证轨迹完全沿着黑线行走, 而是沿着黑线走Z字形。
l
Lab2 光电传感器测距功能测试
1. 实验目的:
Ø 了解光电传感器测距的特性曲线;
Ø 掌握LEGO基本模型的搭建;
Ø 熟练掌握ROBOLAB软件。
2. 实验要求:
能够用LEGO积木搭建小车模式, 并在车头安置光电传感器。能在光电传感器紧贴红板, 以垂直红板的方向作匀速直线倒车运动过程中进行光强值采集, 绘制出时间-光强曲线, 然后推导出位移-光强曲线及方程。
3. 软件设计:
编写程序流程图并写出程序。
4. 测试环境:
如图所示:
直尺
光电传感器
红板
注意事项: 实验应尽量降低环境干扰因素, 同时小车的设计宜使速度尽量低。( 如何在马达的能量一定的情况下, 降低小车的速度? )
5. 实验步骤:
1) 搭建小车模型, 参考附录步骤或自行设计(创新可加分)。
2) 用ROBOLAB编写上述程序。
3) 将小车与电脑用USB数据线连接, 并打开NXT的电源。点击ROBOLAB的RUN按钮, 传送程序。
4) 取一红颜色的纸板( 或其它红板) 竖直摆放, 并在桌面平面与纸板垂直方向放置直尺, 用于记录小车行走的位移。
5) 将小车的光电传感器紧贴红板放置, 用电脑或NXT的红色按钮启动小车, 进行光强信号的采样。从直尺上读取小车的位移。
6) 待小车发出音乐后, 点击ROBOLAB的数据采集按钮, 进行数据采集, 将数据放入红色容器。共进行四次数据采集。
6) 点击ROBOLAB的计算按钮, 分别对四次采集的数据进行同时显示、 平均线及拟和线处理。
数据显示
平均线
拟和线
7) 利用数据处理结果及图表, 得出时间同光强的对应关系。再利用小车位移同时间的关系( 近似为匀速直线运动) , 推导出小车位移同光强的关系表示式( 从上面的图中你能读出什么? 对比拟合线和平均线你能够从中知道什么? ) 。
8. 实验报告要求:
l 实验目的
l 实验要求
l 小组成员分工
l 软件设计, 程序流程图, ROBOLAB VI程序及截图
l 调试过程出现的问题及解决方案
l 实验数据表格
l 实验数据曲线图截图
l 位移与光强拟合函数及在图中能够看出和推导出的物理量。
l 结论( 实验结果, 体会与建议等, 可附上有创意的小车图片)
9. 注意事项:
l 光电传感器对环境光较为敏感, 故应采用一定的遮光措施, 使环境尽量的暗, 增大光强变化范围, 提高定位准确度。另外, 采用光电传感器的自身光源, 最大限度的减少环境光对实验的不利影响。
l 小车在行进之中, 并不能保证轨迹完全与红板垂直, 能够采取固定后轮的方式, 强制小车直线运动。
l 由于光电传感器的自身光源为红色光, 故采用红板反射效果最好。在同等条件下, 白板的反射光强曲线较陡。
l 由于线性区域很窄, 故只 用低速档并能够考虑采用齿轮减速机构, 使速度尽量的慢, 得到较为理想的曲线
Lab3 光电传感器位移传感应用
1. 实验目的:
Ø 掌握利用光感的局部线性特征进行测距的方法。
2. 实验要求:
小车由出发点向障碍物方向匀速行进, 距离3CM、 2CM、 1CM时各停止5秒钟并以不同音调提示到达指定位置。回程亦然并停止在3CM位置。测量小车到达各目标位置的实际位置。重复实验三次并记录相关数据。
3. 软件设计:
自行设计软件流程图及程序。
4. 测试环境: 如图所示:
红板
光电传感器
直尺
5. 实验步骤:
1) 搭建小车模型, 参考附录步骤或自行设计(创新可加分)。
2) 用ROBOLAB编写程序(控制阈值需要修改)。
3) 将小车与电脑用USB数据线连接, 并打开NXT的电源。点击ROBOLAB的RUN按钮, 下载程序。
4) 取一红颜色的纸板( 或其它红板) 竖直摆放, 并在桌面平面与纸板垂直方向放置直尺, 用于记录小车与红板之间的距离。
5) 将小车的正对红板放置, 与红板距离约为4cm。用电脑或NXT的红色按钮启动小车。每逢小车停顿, 从直尺上读取小车的位移。重复三次。
6) 将记录的数据记录在自制的表格中。( 能够用办公软件绘制表格和图形)
6. 实验报告要求:
l 实验目的
l 实验要求
l 小组成员分工
l 软件设计, 程序流程图, ROBOLAB VI程序及截图
l 调试过程出现的问题及解决方案,至少提供一种解决方案。
l 实验数据表格( 可截图)
l 实验数据曲线( 可截图)
l 结论( 实验结果, 体会与建议等, 可附上创意部分的图片)
l 你能把光电传感器的光感和位移的关系应用到其它方面吗? 请把你的想法用Lego表示出来。
7. 注意事项:
l 光电传感器对环境光较为敏感, 故应采用一定的遮光措施, 使环境尽量的暗, 增大光强变化范围, 提高定位准确度。另外, 本实验采用光电传感器的自身光源, 最大限度的减少环境光对实验的不利影响。
l 小车在行进之中, 并不能保证轨迹完全与红板垂直, 能够采取固定后轮的方式, 强制小车直线运动。
l 由于光电传感器的自身光源为红色光, 故采用红板反射效果最好。在同等条件下, 白板的反射光强曲线较陡。
l 由于控制的位移很小, 故尽量采用低速档及齿轮减速机构, 使速度尽量的慢。另外一开始摆放的距离也不宜太大, 尽量减小惯性, 才能得到较为精确的控制。
l 读取直尺数值时尽量保持以垂直桌面的角度, 减小误差。
Lab4 超声波传感器测试
1. 实验目的:
Ø 了解确定超声波传感器用于测距的线性特性;
Ø 掌握LEGO基本模型的搭建;
Ø 熟练掌握ROBOLAB软件;
2. 实验要求:
测试LEGO超声波传感器的特性,并熟悉ROBOLAB测试环境的应用。超声波传感器其工作原理是把特殊的声波发送出去, 声波经过障碍物后反射回来, 控制器把发送与接收的时间进行计算和分析, 把距离算出来。
3. 软件设计:
编写程序流程图并写出程序。
4. 测试环境:
如图所示: 在小车前面是平面墙。
注意事项: 实验应尽量降低环境干扰因素, 把超声波传感器对准障碍物, 障碍物要尽量大。
直尺
光电传感器
5. 实验步骤:
1) 把采样总数设为50, 运行小车获取测试数据;
2) 在ROBOLAB的数据分析环境中得到超声波感器特性曲线, 如下图所示;
3) 分析超声波传感器特性曲线, 是否存在线性或近似线性范围?
4) 在同等条件下重复实验三次, 得到相应实验曲线图片保存下来; 如图所示
5) 在ROBOLAB计算环境中选取compute tools 3, 得到三次实验的平均值曲线, 如下图所示;
6)取三次实验小车位移的平均值, 分析与ROBOLAB中的距离值与测数值的拟合程度。
7) 根据线性范围修改采样数, 如20, 再进行上述实验; 比较两次的结果, 你得到什么结论, 你从图中能够得到哪些其它的结论。
8) 分析该超声波电传感器用作位移传感器的可行性。
9) 对比分析光电传感器与超声波传感器在测量距离时的优点与缺点。
10) 用实验求出自己用的超声波传感器的最小测量距离, 要求把程序与数据采样截图写在实验报告上。
6. 实验报告要求:
l 实验目的
l 实验要求
l 小组成员分工
l 软件设计, 程序流程图, ROBOLAB VI程序及截图
l 调试过程出现的问题及解决方案
l 实验数据表格
l 实验数据曲线图截图
l 位移与光强拟合函数
l 结论( 实验结果, 体会与建议等, 可附上有创意的小车图片)
l 你知道超声波还有其它的应用吗? 请把你的想法和创意用Lego表示出来。
Lab5 超声波传感器位移传感应用
1. 实验目的:
Ø 掌握及确定超声波传感器用于测距以及把测出的数据控制电机的转动的应用, 以及感性认识超声波传感器的工作原理。
Ø 测试LEGO超声波传感器的特性,并熟悉ROBOLAB中容器和跳转语句以及判断语句的应用。
2. 实验要求:
设计小车能根据障碍物的距离进行速度反应, 如果距离高于设定值, 小车会向前运动, 而且速度会根据离设定地点的距离的大小而变化, 距离越大, 速度越大; 如果距离低于设定值, 小车会向后运动, 而且速度会根据离设定地点的距离的大小而变化, 距离越大, 速度越大。( 提示: 设计时要注意容器的使用, 要把超声波反馈回来的数据放到容器里面, 调用容器来确定电机的转速。容器存放的数值是整数, 如果是小数会四舍五入取整。)
3. 软件设计:
自行设计软件流程图及程序。
4. 测试环境:
如图所示, 在小车前一定距离用手移动障碍物, 障碍物要尽量大, 能够用大的课本代替。
5. 调试与分析
1) 运行小车, 移动障碍物, 观察小车的运动, 并做纪录;
2) 改变设定的距离, 按( 1) 进行观察;
3) 分析小车是否会根据距离的无穷远而电机的速度会变得无穷大, 为什么?
4) 把自己的算法写出来, 并加以分析;
5) 如果障碍物突然消失了, 超声波不能返回而小车一直往后, 设计一个方案使小车的电机不受损坏; ( 提示: 加上一个触动传感器)
6) 分析自己的程序在离设定距离多远处开始小车的速度不再受距离影响;
7) 分析光电传感器能否换成超声波传感器, 为什么? ( 写一下自己的看法, 理由)
6. 实验步骤:
1 搭建小车模型, 沿用LAB2的小车结构。能够自己设计。
2 编写程序。
a . 设定距离( 如75cm)
b. 把超声波的数据存放到容器里面, 接着在容器中运算, 把与设定距离
的差额L算出来。
c. 把差额L进行运算转化为马达的转速。
d. 用跳转指令把上述的动作循环。
( 特别提示: 电机的转速范围为0~5, 大于5的都只能按5的速度来运动, 同学们能够进行试验。)
3 下载并开始实验。
7. 实验报告要求:
l 实验项目目标
l 项目小组成员及分工
l 硬件结构( 采用LEGO 摄像头拍摄结构照片)
l 软件设计, 程序流程图, ROBOLAB VI程序及截图
l 回答调试与分析中的问题
l 写出自己的算法并分析
l 调试过程出现的问题及解决方案
l 实验数据表格
l 实验数据曲线图
l 结论( 实验结果, 体会与建议等)
第三部分 创新实验
机电一体化创新设计实验
一、 概述及背景
机电一体化创新设计(Mechanical & Electrical Integration Creative Design, MEICD)是指在机构的主功能, 动力功能, 信息处理功能和控制功能上引进电子技术, 将机械设计与电子化设计及软件结合起来所构成系统的总称。
机电一体化发展至今已经发展成一门有自身体系的新型学科, 随着科学技术的不断发展, 还将被赋予新的内容。但其基本的特征可概括为: 机电一体化是从系统的观点出发, 综合运用机械技术, 微电子技术, 自动控制技术, 计算机技术, 信息技术, 传感测控技术, 电力电子技术, 接口技术, 信息变换技术以及软件编程技术等群体技术, 根据系统功能目标和优化组织目标, 合理配置和布局各功能单元, 在多功能, 多质量, 高可靠性, 低能耗的意义上实现特定的功能价值, 并使整修系统功能最优化的系统工程实验。
针对学院测试及控制类课程《电工电子技术》、 《测试技术》、 《微机原理及接口技术》等课程涵盖了机械设备及加工过程测试控制相关的电子电路、 传感器、 信号处理、 接口、 控制原理、 测控计算机软件等理论及技术, 具有综合性、 实践性强的特点, 但当前各课程的实验教学存在着孤立、 分散、 缺乏系统性的问题。为促进机械工程学科学生对于计算机测控技术的工程创新设计能力、 促进相关理论知识的理解和灵活应用, 本机电一体化创新综合实验正是适应了机电一体化技术的要示, 以丹麦乐高( LEGO) 公司教育部开发的积木式教学组件-智力风暴( MINDSTORMS)为基础进行。采用LEGO MINDSTORMS 为基础建立开放型创新实验室,并根据学院测试及控制类课程《电工电子技术》、 《测试技术》、 《微机原理及接口技术》等课程设计多层次的综合创新实验设计项目, 具有技术综合性和趣味性以及挑战性, 能有效激发学生的学习兴趣, 使学生在实践项目的过程中激发和强化学生的创造力、 动手能力、 协作能力、 综合能力和进取精神; 可使学生在实施项目的过程中对材料、 机械、 电子、 计算机硬件、 软件均有直观的认知并掌握机械工程测试与控制的综合分析设计能力。
机电一体化创新设计( MCD) 的一般过程分为四个阶段, 见图1.1所示。
图1.1机电一体化创新设计的一般过程
1、 确定( 选定或创造) 研究课题和方向
它涉及机电学对象的不同层次、 不同类型的机构组合, 或不同学科知识、 技术的问题。对机器人软硬件的认识, 和控制类知识。
2、 根据功能要求选定适合软件, 学习编程知识, 进行算法研究
Lego机器人提供了多种的编程平台, 有官方的NXT, RABOLAB, 和第三方的软件比如微软Microsoft Robotics Studio, Matlab中的Lejos-osek等等, 同样也提供了多种编程的语言, 有G语言( 图形化语言) , C#等等, 还有模块化设计的理论等等, 涉及到计算机和控制的综合。
3、 机械结构类型及其优选
其难点在于求得完成预定任务的最佳机械结构方案, 利用学到的机械结构, 不断的优化, 不断改进。引入优化法、 代数消元法等数学方法分析机构学, 使该问题有了突破性进展。
4、 调试机器人, 优化机械结构和算法
其中涉及到了计算机接口技术, 数据处理等学科领域。其难点在于动力参数量大、 参数值变化域广的多维非线性动力学方程组的求解。
完成上述课题选择、 软件和算法研究、 运动学、 动力学分析与综合的四个阶段, 便形成了机器人实现特定功能的优选方案。然后, 即可进入机电一体化创新设计阶段, 该阶段主要解决基于机器人灵活性、 稳定性、 精确性设计问题。
综上所述, 机电一体化创新化设计有如下特点:
1、 涉及多学科, 如机械、 、 电力、 电子、 信息、 蓝牙及控制等多种科技的交叉、 渗透与融合;
2、 设计过程中相当部分工作是非数据性、 非计算性的, 必须依靠在知识和经验积累基础上思考、 推理、 判断, 以及创造性发散思维( 灵感、 形象的突发性思维) 相结合的方法;
3、 尽可能在较多方案中进行方案优选。即在大的设计空间内, 基于知识、 经验、 灵感与想象力的系统中搜索并优化设计方案;
4、 机电一体化创新设计是多次重复、 多级筛选过程, 每一设计阶段有其特定内容与方法、 但各阶段之间又密切相关, 形成一个整体的系统设计。
机电一体化创新设计技术和机械系统设计(SD)、 计算机辅助设计(CAD)、 优化设计(OD)、 可靠性设计(RD)、 控制元设计( CD) 等一起构成现代机电设计方法学库,并吸收邻近学科有益的设计思想与方法。随着认识科学、 思维科学、 人工智能、 专家系统及人脑研究的发展, 认识科学、 思维科学、 人工智能、 设计方法学、 科学技术哲学等已为MEICD提供了一定的理论基础及方法。
能够说, 机电一体化创新设计是建立在现有机械设计学和电子计算机理论基础上, 吸收科技哲学、 认识科学、 思维科学、 设计方法学、 创造学、 创造学等相关学科的有益成份, 经过综合交叉而成的一种设计技术和方法。
二、 课题简介
1. 双轮自平衡机器人
搭建一个双轮自平衡的机器人, 选定一种能够实现机器人自平衡的算法( PID算法) , 确定适用的传感器( 建议用光电传感器) , 选定实现这种算法的编程平台和编程语言( RobotC) .
2. 碰触传感机器人设计( 基于Microsoft Robotics Studio)
建议在Microsoft Robotics Studio 1.5 版( 技术预览版已经推出, 有兴趣能够试着使用) 平台上, 充分利用网上资源, 在这里推荐1个( )
其实在Google搜Microsoft Robotics Studio这个关键词会得到所要的资料。入门最重要一点是看安装软件随带的教程。
这个平台提供的实例, 认识模块化设计理论, 设计出一个基于建模控制机器人的实例。Microsoft Robotics Studio是微软一个战略性计划, 它不拘于硬件平台, 是一个通用的设计平台, 甚至能够自己设计硬件, 而使用Microsoft Robotics Studio编程, 在这里, 使用的硬件是LEGO的NXT系列, 要求使用NXT与Microsoft Robotics Studio( 当然还能够结合其它软件, 这就突出了Microsoft Robotics Studio的兼容性) 设计出属于自己的东西。例如走迷宫机器人。
3. 寻线机器人的仿真和建模及实例( 基于Lejos-Osek 设计一个机器人的实例) ;
nxtOSEK、 ECRobotNXT与MATLAB简介:
nxtOSEK是一个提供给NXT的RTOS(实时操作系统)和C/C++编程环境。不但如此, nxtOSEK也能够被用作图形化编程和仿真模拟环境平台, 它由设备驱动、 C汇编源代码、 实时操作系统代码构成。NXTOSKE可提供:
i. 使用GCC系列工具的ANSI C/C++语言开发环境
ii. NXT 电机, 传感器和其它装置的实时控制的C语言的API与C++语言的API
iii. 符合汽车电子控制系统标准的( TOPPERS) OSEK提供的实时多任务调度
NXT的一些其它编程语言是经过一个虚拟机解释执行的, 而nxtOSEK的应用程序是于本地运行的。而且NXTOSEK固件消耗的ROM存储器空间共仅占约10 kb。
Embedded Coder Robot NXT是一个为LEGO MINDSTORMS NXT设计的基于MATLAB 和Simulink的开发环境。Embedded Coder Robot NXT提供了一个编程建模功能, 用来完成NXT的控制策略、 设备的动态特性和在3D图形虚拟环境中模拟呈现这些模型部件。它也提供了nxtOSEK对于真实NXT硬件的对象调度, 它是基于Real-Time Workshop Embedded Code的。这意味着能够完全体会LEGO的建模、 仿真、 代码生成、 目标对象的建立以及在真实的NXT上进行测试。MATLAB和Simulink是由The MathWorks生产的专有软件, 当前主要被广泛地应用在控制工程中。
MATLAB是一个高性能的科学计算软件, 一种简单、 高效、 功能极强的高级语言, 具有强大的矩阵运算能力和极高的编程效率, 这一方面使得MATLAB程序能够被高度向量化, 另一方面使得程序易读易懂。它广泛应用于数学计算、 算法开发、 数学建模、 系统仿真、 数据分析处理及可视化、 科学和工程绘图、 应用系统开发( 包括建立用户界面) 等。当前它的使用范围涵盖了工业、 电子。医疗、 建筑等领域。
附件为四个课题的入门指导及实现简介:
附件1: 双轮自平衡机器人
附件2: 碰触传感机器人设计( 基于Microsoft Robotics Studio)
附件3: 寻线机器人的仿真和建模及实例( 基于Lejos-Osek 设计一个机器人的实例)
附件1:
双轮自平衡机器人
一、 目的
了解LEGO传感器的相关功能并熟练应用, 掌握LEGO基本模型的搭建, 熟练掌握ROBOT C软件, 探索机器人的自动控制调节算法研究。
二、 要求
能够利用LEGO积木搭建一辆两轮机器人小车, 并配置所需传感器; 利用ROBOTC编写控制程序, 建议选择PID控制算法, 选择合适的kp, ki, kd等参数使该机器人能够在较长一段时间内实现自动平衡( 当有外界扰动时, 机器人小车也能快速做出反应使自己处于一个平衡状态) 。
三、 过程简介
1. 利用LEGO积木搭建实验所需的机器人小车并安装必要的传感器;
2. 选择控制算法, 设计程序流程图;
3. 学习ROBOCTC的编程方法, 初步掌握一些功能函数的调用, 并利用ROBOTC编写控制程序;
4. 下载程序到NXT小车中进行调试、 收集必要的数据, 据此来不断改进算法参数, 使得小车能够长时间保持平衡状态;
5. 编写课程设计说明书, 完成该实验。
四、 拓展
机器人只能在较暗的环境下、 纯色的白纸板上才能维持较长时间不倒。在调试过程中, 传感器应尽可能的缩短与地面的距离, 因为传感器在5~30mm内才是近似线性相关。机器人初始平衡点如果没有找好, 机器人很难保持平稳。由于会受到周围环境的影响, 能够适当修改kp, ki, kd等参数, 使机器人具有良好的自动调节功能。
此次实验的最终目标是希望能实现两轮机器人的行走, 以及利用摇杆控制两轮机器人转向或前行后退等。在行走过程中如何计算及调节机器人的重心, 都是非常关键的困难点。
附件2:
碰触传感机器人设计
-----基于Microsoft Robotics Studio平台
一、 目的
学习基于Microsoft Robotics Studio平台的建模和仿真方法, 对乐高机器人进行相关的控制和算法实现的研究。
二、 要求
设计一个碰触传感机器人, 也就是说触动该机器人的触碰传感器则驱动电机马达使机器人能够前行, 一旦当从触碰传感器上撤去外部压力时, 则电机马达停止转动, 机器人停止前行。首先充分利用MSRS的丰富扩展功能, 为机器人增添一个计算机报数功能, 即每按下一次触碰传感器时, 机器人不但向前运新, 而且还能够将信号经过蓝牙无线传输给远端控制计算机, 在电脑上语音播报当前碰触传感器的按键次数。
在开始变成前, 要对Microsoft Robotics Studio作充分学习了解。
三、 过程简介
1. 在开始动手编程前, 需要对所要设计的机器人程序有一个大致的流程框架和思路;
2. 在VPL编程环境中设计碰触传感器的判断; 而后数据流分为两路, 一路控制语音播报, 一路控制乐高电机马达。
3. 利用VPL提供的TTS服务实现计算机语音朗读;
4. 乐高 NXT 机器人马达控制。除了在碰触传感器被按下时使计算机能朗读数据以外, 还有另一个重要的工作就是要让机器人能够启动电机旋转并前行;
5. 下载程序, 运行机器人。
四、 拓展
利用Microsoft Robotics Studio可视化编程环境( VPL) , 能够轻松的d&d( drag&drop) 编写图形化程序。Microsoft Robotics Studio有多个乐高NXT机器人服务供编程者使用, 发挥创造力, 就会设计出各种各样的乐高机器人应用程序, 如设计走迷宫的机器人。除此之外, 结合其可视化虚拟环境( VSE) , 能够完成各项不具备硬件条件的机器人应用程序开发。
附件3:
寻线机器人设计
-----基于matlab-nxtOsek平台
一、 目的
熟悉了解nxt--osek软件以及matlab的工具包的使用, 能够利用已有的实例来仿真模拟以及下载到nxt中运行, 从而掌握建模、 仿真的实际应用。
二、 要求
利用nxtosek和matlab设计出一个能追踪黑线行走的机器小车, 能够是沿着黑线走Z字形, 也能够优化其算法, 让小车在黑线中走段直线, 利用matlab、 simulink和ecrobotnxt来模拟仿真小车追踪黑线行走这一个过程, 能够实现利用matlab( 其实是利用cygwin以及GNU等第三方软件) 编译并上传目标文件到NXT中, 让NXT小车能在现实中追踪任何形状的黑线。
三、 过程简介
1. 下载所需用到的各种软件( cygwin、 GNU等) 并安装, 详细安装过程见lejos-osek官方网页, 安装过程有点繁杂, 仔细阅读安装说明书;
2. 利用cygwin编译并上传部分lejos-osek中附带的实例到NXT中, 熟悉了解下cygwin以及lejos-osek的使用方法( 例如nxtgt程序就是利用摇杆经过蓝牙来控制NXT小车) ;
3. Ecrobotnxt中含有自平衡、 走迷宫以及追踪黑线行走等许多实例, 仔细阅读说明书, 了解如何运行这些实例;
4. 根据所提供的这些实例, 修改参数或者优化算法, 使这些实例更好的能够进行模拟仿真并能在实际中运行( 至少要修改或优化其中一种实例算法) ;
5. 编译所修改的程序并上传到NXT中, 查看程序是否能正常运行;
四、 拓展
Matlab具有非常强大的建模仿真功能, 基于nxtosek的matlab能够虚拟仿真出nxt在现实中的运行状态; 同时, matlab的编程效率也是非常的高, 而且简单易懂, 利用它能够解决很多的nxt程序问题。能够利用matlab simulink来完成nxt小车走迷宫以及两轮小车自平衡的设计并进行一系列的模拟仿真。
例如: 能够制作一个使用乐高小车来控制平衡架平衡的实验装置。有一个经过弧形塑料管与地面接触的支架, 而且一辆带有悬挂摆的小车在这个支架平台上运行。经过各种控制算法和试凑法的组合来控制小车的运动, 使得该支架能够趋于平衡。使用自动控制原理中的PID算法和观察器来对小车进行控制, 经过支架上小车的直线运动来保持支架的平衡。研究系统模型的推导和PID控制器参数的计算, 并使用MATLAB对该系统进行仿真实验。
展开阅读全文