创意之星模块化机器人实验指导书实验版.docx

上传人:b****8 文档编号:10927118 上传时间:2023-02-23 格式:DOCX 页数:57 大小:6.30MB
下载 相关 举报
创意之星模块化机器人实验指导书实验版.docx_第1页
第1页 / 共57页
创意之星模块化机器人实验指导书实验版.docx_第2页
第2页 / 共57页
创意之星模块化机器人实验指导书实验版.docx_第3页
第3页 / 共57页
创意之星模块化机器人实验指导书实验版.docx_第4页
第4页 / 共57页
创意之星模块化机器人实验指导书实验版.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

创意之星模块化机器人实验指导书实验版.docx

《创意之星模块化机器人实验指导书实验版.docx》由会员分享,可在线阅读,更多相关《创意之星模块化机器人实验指导书实验版.docx(57页珍藏版)》请在冰豆网上搜索。

创意之星模块化机器人实验指导书实验版.docx

创意之星模块化机器人实验指导书实验版

电子科技大学

“创意之星”模块化机器人实验

机械电子工程学院

2010年3月

 

实验一MultiFLEX控制卡编程实验

实验目的

(1)了解MultiFLEX控制卡的基本结构;

(2)了解WinAVR+AVRStudio编译环境的使用;

(3)了解C语言环境下编写控制程序,并编译、下载到MultiFLEX控制器中执行的流程

(4)熟悉关于AVR单片机的io口有关的寄存器的概念、作用

(5)理解函数gpio_mode_set(),write_gpio(),read_gpio()的定义,掌握其用法

(6)熟悉并掌握利用2中的3个函数控制MultiFLEX控制卡的16路IO口

实验环境:

UP-MRcommander控制软件

实验器材:

计算机1台

MultiFLEX控制卡1块

控制卡电源线1根

串口下载线1根

232电缆1根

USB转232电缆1根

舵机4个

舵机延长线4根

实验步骤

1WinAVR以及AVRStudio软件的安装

首先大家打开实验指导书配套光盘,在“MultiFLEX控制卡\AVRMCU开发资料”目录下,打开“WinAVR”文件夹,双击“WinAVR-20060421-install.exe”完成WinAVR的安装;然后打开“AVRStudio”文件夹,根据文件夹里面的安装说明进行AVRstudio的安装,并将其升级到最新版本。

注意:

请先安装WinAVR再安装AVRStudio,这样WinAVR才能自动嵌入到AVRStudio中。

2用3AVRStudio建立一个工程

首先打开我们刚刚安装好的AVRStudio,会出现如下窗口:

点击选框1中的按钮可以新建一个工程,点击选框2中的按钮可以打开一个工程,选框3是最近你所打开的文件,你可以选中快速将其打开。

在这里,我们点击1(NewProject),会出现如下窗口:

在此窗口中我们可以设置关于新工程的一些基本信息。

在选框1(ProjectType)中,第一项AtmelAVRAssembler指汇编工程文件,第二项AVRGCC指建立后的文件为C语言工程文件,在此我们选择AVRGCC(如果没有安装WinAVR则此处不会出现AVRGCC选项)。

在选框2中,我们可以确定工程名(Projectname)以及初始文件名(Initialfile),在此我们不妨均取名为test。

在选项框3中,我们可以确定工程所在的文件夹位置,在此我们不妨将路径设为D:

\test。

在选项卡2中如果选中Createfolder,则会在3中确定的文件夹中新建一个以工程名为文件夹名的文件夹,所有与该工程有关的文件会放在此文件夹内;在选项卡2中选中Createinitialfile会生成一个初始.c文件,方便我们编写程序。

以上设定完成后我们点击Next进行下一步设置,会弹出如下窗口:

在此窗口中我们可以设置一些关于计算机调试的一些信息。

在选项框1之中我们设置程序调试平台,在此我们选择AVRSimulator。

在选项框2中我们可以选择单片机类型,你可以根据实际需要选择,在此我们选择ATmega128(本实验以创意之星控制板为平台,所以选择创意之星的控制核心ATmega128,AVRStudio可以进行软件模拟单片机的运行过程,但本书中不作介绍)。

选择完成后我们点击Finish,这样一个新工程就初步建立了。

然后会出现如下窗口。

其中选框1为菜单栏,选框2为工具栏,选框3为工程管理树,选框4为程序编辑栏,选框5为编译信息栏。

作为我们的第一个代码实验,我们可在选框4中输入如下程序:

#include

#defineBEEP_ONPORTG|=_BV(PG3)

#defineBEEP_OFFPORTG&=~_BV(PG3)

intmain(void)

{

inti,j;

PORTG=0;

DDRG=0xff;

while

(1)

{

for(i=0;i<0xFF;i++)

{for(j=0;j<0xFF;j++);}

BEEP_ON;

for(i=0;i<0xFF;i++)

{for(j=0;j<0xFF;j++);}

BEEP_OFF;

}

}

然后在菜单栏选择“Project——》ConfigurationOptions”

会弹出如下窗口:

在控制核心工作频率(Frequency)一栏输入14745600,由于创意之星采用的晶振是此频率,故如此设置。

其他选项均采用默认设置即可,然后点击确定。

保存文件,然后在菜单栏选择“Build——》Build”(或者按F7),如下图所示:

在编译信息栏会出现相应的编译信息,显示是否有错误,其中显示“Buildsucceededwith0Warnings…”说明我们编译正常通过,这时,在我们当初设置的工程所在的文件夹的default文件夹“D:

\test\test\default”里会出现很多新文件,这些都是程序编译的结果,其中有个test.hex文件是程序烧写文件,将这个文件经过烧录软件下载至MultiFLEX控制板后程序就能运行,至于如何烧写我们将在后面进行介绍。

3将*.hex文件烧录至MultiFLEX控制卡中

首先我们要安装烧写软件PonyProg2000,打开实验指导书配套光盘,在“\MultiFLEX控制卡\AVRMCU开发资料\ponypro”目录下,运行ponyprogV206f.exe,安装完毕后运行,有两个提示会出现,都选择确认,最终正确运行的PonyProg2000如下图所示:

首先我们应该对软件进行总线时序校准,在Setup中选择Calibration即可。

然后进行下载方式设置,点击“Setup——》InterfaceSetup”

会出现如下窗口:

由于“创意之星”配置的是并行下载线,所以我们应该选择Parallel,在下拉选项中选择AvrISPI/O,如上图所示,其他选项按其默认设置,不予更改,然后点击“OK”完成设置。

然后我们进行目标芯片的选择:

点击“Device——》AVRmicro”,在弹出的选项框中选择ATmega128,如下图所示,这样我们就完成了目标芯片的选择。

现在我们用并口下载线将电脑和MultiFLEX控制卡进行连接。

下图是“创意之星”提供的并口下载线以及其线序:

下图是MultiFLEX控制卡的功能区域图,将下载线的5针插头与其中的H区的5针插头相连接,注意线序

连接完成后给控制卡通上电源(程序烧写过程中不允许断电,请确保电源的可靠性)。

然后在刚才打开的PonyProg2000中点击“File——》OpenDeviceFile”或者点击图标打开我们前面生成的test.hex文件(应该在“D:

\test\test\default”文件夹中),然后点击“Command——》WriteAll”或者点击图标,然后程序就会开始烧写至控制卡里面。

当PonyProg2000显示烧写成功时我们的第一个实验程序就顺利的烧写进MultiFLEX控制卡中了,正常情况下我们会听到控制卡蜂鸣器发出急促的“嘟嘟嘟”的声音,如果没有任何现象请你检查以上步骤是否按要求完成或者检查下载线有没有插反、控制卡是否正常供电,修改有问题的地方后再生成hex文件进行烧录,直至蜂鸣器出现规则的嘟嘟声为止。

4编写C程序实现对16路I/O口的控制

I/O口(In/Out口)是数字电路的重要组成部分之一,通过I/O口,我们可以控制端口的电平变化,也可以对端口的电平信息进行读取。

在机器人人领域对I/O口的操作更是无处不在,那么针对创意之星的MultiFLEX控制卡我们怎么通过编写c与程序对其I/O口进行操作呢,我们将在本小节对其进行介绍。

首先我们来简单了解一下AVR单片机与I/O口有关的寄存器。

AVR单片机与I/O口有关的寄存器有3个:

PORTX,DDRX,PINX(X为端口编号)。

DDRX说明X端口的输入输出状态,例如:

如PORTA=0x0F=00001111,则引脚PA0-PA3均为输出(1为输出),引脚PA4-PA7均为输入(0为输入)。

PORTX说明X端口的输入输出的具体信息,例如:

当PORTA=0x0F时,若PORTA=0X33=00110011,则引脚PA0、PA1为输出,且输出信号为高

(1);引脚PA2、Pa3为输出,但输出信号为低(0);PA4、PA5为输入且输入有效;至于PA6、PA7虽然DDRA已经将其设置为输入,但是PORTA使其输入无效,所以PA6、PA7的输入信号读不出来。

PINX为输入端口的具体信息(PINX只能读取不能写入),例如:

当DDRA=0x0F,PORTA=0x33时,如果读取PINA即chartemp=PINA,则temp=--XX0011,其中为输入的引脚只有PA4-PA7,PA4与PA5状态为XX,X为输入信号,而PA6、PA7的输入为--,-为一个不确定的数。

方便大家看懂源程序,对于MultiFLEX控制卡,我们已经在系统程序里面进行了处理,同学们只需要调用相关的函数即可对控制卡的IO0-IO15这16个引脚进行控制。

实验准备:

1.控制卡的IO0-I03分别与4个LED灯连接

2.控制卡的I015与1个碰撞传感器(实质上是一个开关)连接

3.控制卡与电脑之间用并口下载线正确连接

4.控制卡电源线正确连接

实验程序:

#include"Public.h"

#include"Usertask.h"

voiduser_task(void)

{

uint8io_in;

uint8io_out;

uint8temp8;

uint16temp16;

gpio_mode_set(0x00FF);

write_gpio(0xFF00);

while

(1)

{

temp16=read_gpio();

io_in=(uint8)(temp16>>8);

temp8=(io_in&0x80);

if(temp8==0)

{

io_out=0x01;

while(io_out)

{

write_gpio(~((uint16)io_out));

delay(5);//延时5×20MS=0.1s

io_out<<=1;

write_gpio(~((uint16)io_out));

delay(5);

}

}

elsewrite_gpio(0xFF00);

}

}

实验总结

整个实验的运行结果应为:

当开关(碰撞传感器)未按下时,所有LED灯点亮,当开关

持续按下时,led灯循环点亮。

实验报告内容

记录自己的程序

 

实验二多自由度串联式机械手

实验目的

(1)了解串联式机器人、自由度和空间机构学、机器人运动学的基本概念;

(2)熟悉四自由度串联式机械手;使用配套动作程序,然后自己给机器人编写动作;

(3)掌握“创意之星”机器人套件的搭建和装配技巧

(4)熟悉并掌握舵机控制函数rc_moto_control()以及延时函数delay()的使用方法,理解其函数定义

(5)熟悉并掌握利用函数控制舵机运动

实验环境:

UP-MRcommander控制软件

实验器材:

计算机1台

MultiFLEX控制卡1块

控制卡电源线1根

串口下载线1根

232电缆1根

USB转232电缆1根

舵机5个

舵机延长线5根

“创意之星”机器人构件1套

实验步骤

1结构组装

其结构(3D模型图,线缆和其他细节没有在图上表示出来)示意图如下:

此部分组装完成后,用手旋转橙红色U-3-3-3构件,应该和腰关节舵机的输出轴牢固地连接在一起,不能有松动、晃动或者卡住的现象。

组装其他部分。

需要2个基本构形A,1个基本构形B,以及一个基本构形E。

各个基本构形之间可以用通用连接件(D8x4、D8x6塞子)连接,也可以用螺栓和螺母连接。

需要注意的是,如果用通用连接件连接,最终完成的机械手的刚度会差一些;如果用螺栓/螺母连接,则需要仔细思考连接的先后顺序,不能先把各个基本构形组装出来之后再拼装,否则可能由于空间限制而无法进行拧螺丝等操作。

例如,连接DOF2和DOF3的两个基本构形的时候,就需要预先把DOF3上的U3-3-3红色U型构件连接到DOF2的舵机架上。

2连接电缆

按下表所示顺序连接指定关节的舵机的电缆到MultiFLEX控制卡上:

3调整初始姿态

打开控制卡的电源,我们会发现机器手开始运动到初始姿势之后会锁定该姿势。

为了使用配套光盘中附带的动作程序,我们需要手动调整每个关节的姿势,调整完毕后应该如下图所示:

4写入动作程序

调整之后,再次打开电源。

我们应该看到组装完成的机械手保持如上图所示的状态。

此时在UP-MRcommander软件中调入“UP-MRcommander\机械臂\机械臂.mra”这个动作文件,并下载执行。

机械臂就可以运动起来了。

5建立自己的动作程序

现在我们来编写自己的动作程序。

动作程序的编写过程就是建立一个个的动作,并设计每个动作的姿态,以及持续时间。

这一步中我们的目标是编写一个机械手的程序,它可以让机械手把一个纸团从他的左侧夹起,放到右侧,并如此重复。

编写动作的几个要点是:

要在“在线调试”的状态下对每个动作进行调试;如下图所示,选中“在线调试”复选框,即进入了在线调试状态。

这种状态下,在UP-MRcommander界面上的任何改动动作的操作都回立刻被机器人执行。

利用在线调试功能可以很方便地为机器人编写每一个动作。

舵机的运动速度可以在0~255之间调节。

但是对于机械手来说,舵机的运动速度在50~150比较合适。

由于机械手的每个关节舵机(尤其是底座部位的舵机)的负载很大,如果速度太快的话,舵机会很快速地启动和停止,有可能损伤舵机本身,甚至有可能误伤操作者。

如果设定舵机的速度较慢,并且动作的执行时间太短的话,相应的动作可能还没有执行完毕就已经进入了下一个动作。

没有执行完的动作将被忽略。

为刚刚编写好的动作命名。

如下图所示。

命名的好处是,我们可以很清楚地知道这个动作的目的是什么。

如下图所示,你很难搞明白左图的动作程序是什么。

相对的,右图的动作程序每一步都进行了命名,如果我们要修改动作程序,很容易找出需要修改的地方来调试。

编写C程序实现对舵机的控制

用“创意之星”机器人套件搭建的机器人的主要关节都是由舵机驱动的,我们选择USERTASK.C对其进行编辑。

输入如下程序:

#include"Public.h"

#include"Usertask.h"

voiduser_task(void)

{

uint8array_rc[23]={0};

array_rc[0]=90+20;

array_rc[1]=170;

array_rc[2]=90-20;

array_rc[3]=170;

array_rc[4]=90-20;

array_rc[5]=170;

array_rc[6]=90+20;

array_rc[7]=170;

rc_moto_control(array_rc);

delay(50);

array_rc[0]=90;

array_rc[1]=170;

array_rc[2]=90;

array_rc[3]=170;

array_rc[4]=90;

array_rc[5]=170;

array_rc[6]=90;

array_rc[7]=170;

rc_moto_control(array_rc);

delay(50);

}

然后打开SYSTASK.C文件,将处于最后的main()函数进行细微改动。

intmain(void)

{

Sys_Init();

WORK_LED_ON;

while

(1)

{

//system_task();

user_task();

}

}至此我们就顺利完成了用c语言实现机器人关节运动控制。

但是机械手舵机不止4个,因此要求同学根据以上程序增加舵机的控制,并记录修改的程序。

实验总结

现在我们的机械手可以完成一定的工作了。

这只是一个最原始的机器人,只有5个自由度(包括末端手爪),并且不具备传感器,无法根据工作情况来调整自己的反应。

从这个意义上来说,它甚至不应该被称为“机器人”。

但是我们还要继续组装这样的各种构型的机器人。

我们目的是通过这些组装和学习,掌握“创意之星”套件的使用,最终用这个套件设计和组装出自己的机器人。

实验报告内容

记录自己的动作程序

实验三简易四足机器人

实验目的

(1)熟悉四足机器人,使用配套光盘中提供的动作程序机器人;

(2)熟悉UP-MRcommander软件调试机器人运动步态的技巧。

(3)掌握“创意之星”机器人套件的搭建技巧。

(4)熟悉并掌握舵机控制函数rc_moto_control()以及延时函数delay()的使用方法,理解其函数定义

(5)熟悉并掌握利用函数调试机器人的步态

实验环境:

UP-MRcommander控制软件

实验器材:

计算机1台

MultiFLEX控制卡1块

控制卡电源线1根

串口下载线1根

232电缆1根

USB转232电缆1根

舵机4个

舵机延长线4根

“创意之星”机器人构件1套

实验步骤

1结构组装

本实验中需要组装的简易四足机器人三视图及轴测视图如下:

从图中可以看到,机器人具有4个自由度(DOF1~DOF4),使用4个基本构形A构成了机器人的身体,它们之间使用I形连接件连接。

每个舵机的输出轴上连接了一个I形连接件,作为机器人的腿。

如果大家对机器人刚度有较高要求的各部件连接件最好用螺纹副固定。

在腿的末端使用了橡胶防滑垫,以增大腿部与地面的摩擦力。

机器人的装配爆炸图如下图所示:

2连接电缆

按下表所示顺序连接指定关节的舵机的电缆到MultiFLEX控制卡上:

3调整初始姿态

与前面的实验相同,在完成机器人的组装后,为了使用配套光盘中附带的动作程序,我们需要手动调整每个关节的初始姿态。

调整方法如前面实验所述。

调整完毕后各关节的初始姿态应该如下图所示:

4写入动作程序

调整之后,再次打开电源。

我们应该看到组装完成的机械手保持如上图所示的状态。

此时在UP-MRcommander软件中调入“\UP-MRcommander\蛇形机器人\10关节蠕动-步距0.125波长-正弦波.mra”这个动作文件,并下载执行。

此时把机器人放到地上,注意观察它的运动方式。

通常情况下,使只有4个自由度的四足机器人运动起来并且能够前进、后退,是一个很困难的事情。

普通的四足机器人至少有8个自由度,有些甚至有12个自由度。

这个4自由度的简易四足机器人能够前进、后退,甚至能够笨拙地转弯。

本实验中我们只提供了前进的程序,后退、转弯的程序请读者自己编写。

编写C程序实现对舵机的控制

用“创意之星”机器人套件搭建的机器人的主要关节都是由舵机驱动的,我们选择USERTASK.C对其进行编辑。

输入如下程序:

#include"Public.h"

#include"Usertask.h"

voiduser_task(void)

{

uint8array_rc[23]={0};

array_rc[0]=90+20;

array_rc[1]=170;

array_rc[2]=90-20;

array_rc[3]=170;

array_rc[4]=90-20;

array_rc[5]=170;

array_rc[6]=90+20;

array_rc[7]=170;

rc_moto_control(array_rc);

delay(50);

array_rc[0]=90;

array_rc[1]=170;

array_rc[2]=90;

array_rc[3]=170;

array_rc[4]=90;

array_rc[5]=170;

array_rc[6]=90;

array_rc[7]=170;

rc_moto_control(array_rc);

delay(50);

}

然后打开SYSTASK.C文件,将处于最后的main()函数进行细微改动。

intmain(void)

{

Sys_Init();

WORK_LED_ON;

while

(1)

{

//system_task();

user_task();

}

}

至此我们就顺利完成了用c语言实现机器人关节运动控制。

但是以上程序只能实现4个舵机会在两种状态中往复切换,且运动状态两两相反,不能使四足机器人行走,因此需要同学增加及修改动作以实现行走。

5实验总结

本实验中我们搭建了一个简易的四足机器人,并且使用运动程序让他能够往前爬动了。

这并不是一个典型的四足机器人,但是他却很简单,也能够完成运动的功能。

请读者思考一下,如何让他后退,向左及向右转弯?

实验报告内容

记录自己的动作程序

实验四轮式机器人运动控制实验

实验目的

(1)了解轮式机器人的概念和了解采用全向驱动方式在生活、科研、工作中的应用;

(2)熟悉轮式机器人;使用配套光盘中提供的动作程序,然后自己为机器人编写动作;在UP-MRcommander软件中,熟悉直流电机的控制;

(3)掌握对于具有多种执行器(舵机、电机或者其他)的机器人,掌握搭建和调试要领。

(4)掌握“创意之星”机器人套件的搭建和调试要领。

(5)熟悉并掌握电机控制函数dc_moto_control()的使用方法

(6)熟悉并掌握利用函数dc_moto_control()控制4路直流伺服电机

实验环境:

UP-MRcommander控制软件

实验器材:

计算机1台

MultiFLEX控制卡1块

控制卡电源线1根

串口下载线1根

232电缆1根

USB转232电缆1根

舵机4个

舵机延长线4根

“创意之星”机器人构件1套

实验步骤

1结构组装

组装完成的挖掘机器人应该如下图所示:

2连接电缆

按下表所示顺序连接指定关节的舵机的电缆到MultiFLEX控制卡上:

3调整初始姿态

打开控制卡的电源,机器人会锁定初始姿势。

为了使用配套光盘中附带的动作程序,我们需要手动调整每个关节的姿势,调整方法如前面实验所述。

调整完毕后应该如下图所示:

4写入动作程序

调整之后,再次打开电源。

我们应该看到组装完成的挖掘机器人保持如上图所示的状态。

此时在UP-MRcommander软件中调入“UP-MRcommander\全向四驱小车+机械臂\机械臂+四驱车.mra”这个动作文件,并下载执行。

挖掘机器人就可以运动起来了。

5建立自己的动作程序

观察机器人的运动,并且通过UP-MRcommander软件的在线调试功能,弄清楚每个舵机、直流电机与软件界面中相应滑块的对应关系。

把机器人的轮子架空,拖动软件界面上的电机调速滑块和电机运行时间滑块,观察电机在不同速度运行的情况,以及不同的运行时间。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1