270 likes | 461 Views
机器人设计. —— 0 1 机器人设计之 MRDS 和 VPL. 浙江大学计算机 学院 陈文 智 chenwz@zju.edu.cn. 提纲. 提纲. 总体介绍. 软件开发环境 Microsoft Robotics Developer Studio (MRDS) Visual Programming Language ( VPL ) 硬件机器人 LEGO NXT Robotics Kit NXT intelligent brick Versatile sensor resources
E N D
机器人设计 —— 01 机器人设计之MRDS和VPL 浙江大学计算机学院 陈文智 chenwz@zju.edu.cn
总体介绍 • 软件开发环境 • Microsoft Robotics Developer Studio (MRDS) • Visual Programming Language (VPL) • 硬件机器人 • LEGO NXT Robotics Kit • NXT intelligent brick • Versatile sensor resources • A variety of bricks for custom design
总体介绍 • Microsoft Robotics Developer Studio(MRDS) • MRDS使机器人爱好者,研究人员和商业开发者能够更容易的在多种硬件平台下建立机器人的应用程序。MRDS软件开发包包含一个轻量级的,面向服务的运行时,一套可视化编辑和模拟工具以及开发示例代码和开发指南。 • Visual Prgramming Language (VPL) • 微软VPL图形编辑开发环境采用一种数据流编程模型,而不是控制流模型。一个VPL数据流包括一个连接的动作序列,数据流将其表示为带输入和输出的块,可以将它们连接到其它动作块上。动作可以表示为预构的服务、数据流控件、函数或其它代码模块;动作也可以包含其它动作的组合。VPL面向初级程序员,但该编程语言也吸引高级程序员用作快速原型开发或代码开发。 • Microsoft 可视化编程语言 (VPL) 是一种应用程序开发环境,它基于图形化的数据流式编程模型基础上设计,而不是传统编程中常用的控制流。数据流程序更像生产线上接到材料后完成其所负责任务的一组工人,而不是顺序执行的一系列强制命令。因此,VPL很适合于各种并行或分布式处理情况下的编程。 • VPL面向的是对变量和逻辑等概念有基本理解的初级编程人员。但是,VPL并不是仅供初学者使用。此编程语言的组合特性对于追求快速原型设计和代码开发的高级编程人员也极具吸引力。另外,尽管它的工具箱是专为开发机器人应用程序而设计的,但其基础结构并不仅限于机器人编程,还可以用于其他用途。因此,VPL受到包括学生、热衷者和业余爱好者在内的众多用户的广泛欢迎,有些 web 开发人员以及专业程序员也为之所深深吸引。即使不懂编程的爱好者都可以用可视化编程语言(VPL)像堆积木一样,选择一些服务(比如Lego NXT已经被很好支持),把这些服务按顺序连接,给出输入参数,定义一些计算方法,然后运行,就可以控制一台Lego NXT这样简单的机器人了。
总体介绍 • LEGO NXT Robotics Kit • 乐高机器人 Mindstorms NXT是乐高集团所制造的下一代的可编程即可组合机器人玩具。整组的套件包含了传感器及连接线。乐高(LEGO)已于2006年9月上旬推出乐高公司和美国麻省理工学院共同开发的机器人组件新款“教育用LEGO MindstormsNXT” • Mindstorms是将配备微处理器的LEGO公司的塑胶积木组装起来,通过个人电脑制作的程式来控制的机器人。最新的版本为2009年8月的 Lego Mindstorms NXT 2.0. 在台湾乐高机器人NXT主机 (P/N 9841) 可取得价格快速滑落已不到 150元美金左右。
环境搭建 – MRDS下载安装 • 在小组中选出一个driver • 下载MRDS • ftp://10.214.50.74:1021/Robotics/MRDS • 安装MRDS
环境搭建 – 第一个VPL程序 • 换一个driver • 打开MRDS下的Visual Programming Language 4 • 初步熟悉一下VPL的用户界面 • Activities • Services • Diagram
环境搭建 – 第一个VPL程序 • Hello world! • 新建一个工程 • 从Basic Activities里拖一个Data到Diagram里 • 从Services里拖一个SimpleDialog到Diagram里
环境搭建 – 第一个VPL程序 • Hello world! • 连接两个icon,选择AlertDialog • 在弹出的Data Connections里如下选择
环境搭建 – 第一个VPL程序 • 按F5或Run菜单下的Start运行程序
3D模拟环境 - 智能块 • NXT Intelligent Brick (一个嵌入式多处理器系统) • 主处理器:32-bit ARM7 microcontroller, with 256 Kbytes FLASH, 64 Kbytes RAM • 次处理器:8-bit AVR microcontroller, with 4 Kbytes FLASH, 512 Byte RAM • 蓝牙无线通讯 (Bluetooth Class II V2.0 compliant) • USB全速端口 (12 Mbit/s) • 四个输入端口 (连接传感器) • 6-wire cable digital platform (One port includes a IEC 61158 Type 4/EN 50 170 compliant expansion port for future use) • 三个输出端口 (连接驱动器) • 6-wire cable digital platform • 100 x 64 像素LCD图像显示 • 扬声器:8 kHz sound quality. Sound channel with 8-bit resolution and 2-16 KHz sample rate.
3D模拟环境 – 传感器 • 传感器 • Servo motor x 3 • 颜色传感器 x 1 • 超声波传感器 x 1 • 接触传感器 x 2 • 传感器与NXT智能块的连接 • 四个输入端口 • 三个输出端口
3D模拟环境 – 蓝牙连接 • 蓝牙适配器 • NXT智能块自带蓝牙接收器,我们需要在PC上连接一个蓝牙适配器,使PC可以和机器人通讯 • 记住蓝牙的端口号,在MRDS中编程时会用到
3D模拟环境 – 3D Simulation • 选出另一个driver • 下载simulation程序 • ftp://10.214.50.73:1021/Robotics/simulation • 在VPL4里打开程序 • 运行程序并尝试阅读并理解程序
3D模拟环境 – 3D Simulation • 阅读下面的VPL程序
3D模拟环境 – 3D Simulation • 3D Simulation
遥控小车设计 • 实验目标 • 设计实现一个能在PC上遥控的小车 • 实验分工 • 3~4位组员进行小车的组装 • 3~4位组员进行VPL程序的编写
遥控小车设计 – 小车组装 • 小车组装(供参考) • 3~4人 • NXT智能块 • 使用的传感器 • servo motor x 2 • 两个轮胎 • 一个滑轮作为另一个轮胎 • 必要的连接块与连接线
遥控小车设计 – VPL程序设计 • VPL程序设计(3~4人) • NOTE: • 机器人与PC已经成功连接 • LegoNXTDrivev2的Properties的设置
遥控小车设计 – 实验报告 • 请给你们小组设计组装的遥控小车拍几张有趣的照片放入报告中