Transcript 课件1 - 浙江大学
机器人设计
—— 01 机器人设计之MRDS和VPL
浙江大学计算机学院
陈文智
[email protected]
提纲
总体介绍
环境搭建
3D模拟环境
遥控小车设计
提纲
总体介绍
环境搭建
3D模拟环境
遥控小车设计
总体介绍
软件开发环境
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 Mindstorms NXT”
Mindstorms是将配备微处理器的LEGO公司的塑胶积木
组装起来,通过个人电脑制作的程式来控制的机器人。
最新的版本为2009年8月的 Lego Mindstorms NXT 2.0.
在台湾乐高机器人NXT主机 (P/N 9841) 可取得价格快
速滑落已不到 150元美金左右。
总体介绍
提纲
总体介绍
环境搭建
3D模拟环境
遥控小车设计
环境搭建 – 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模拟环境
遥控小车设计
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/simulat
ion
在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的设置
遥控小车设计 – 参考程序
遥控小车设计 – 实验报告
请给你们小组设计组装的遥控小车拍几张
有趣的照片放入报告中