双足机器人使用说明

双足步行机器人

一:项目目标:

1. 掌握舵机控制方式

2. 了解机器人串口通讯方式

3. 掌握双足机器人步伐调整原理

二:项目描述:

行走机器人是现在机器人研究领域的一个热点,无论是SONY公司不断更新的“阿西莫”机器人,还是每年在机器人世界杯上不断推陈出新的足球机器人,大家都把目光瞄在了更加拟人化的双足类人机器人。 基于双足平台的机器人要正常工作首先需要能够平稳的行走,目前对腿型行走机构的研究主要基于仿生学原理与动态控制原理,SONY公司的“阿西莫”主要基于仿生学原理,这种研究方式也是双足机器人

舞蹈比赛与双足机器人足球比赛中常见的控制方式,因为这种控制方法让初学者更容易上手,能够从最简单的步伐控制开始了解双足机器人控制的基本原理。 本公司所开发的步行机器人创新套件就是立足与这样一个事实,初接触类人机器人的同学可以按照我们的说明组装出自己的双足机器人套件,从而从每一个关节开始了解双足机器人的组成,然后使用我们的软件编程环境逐步的调试机器人的步伐,让机器人走出一个个流畅的步伐,我们相信,当一堆杂乱无章的舵机零件经过你的双手变成一个能够流畅行走的双足机器人的时候,你一定能够体会到知识给你带来的喜悦。

三:项目原理与具体内容:

1. 舵机

型号与相关参数:

MG995

金属齿轮结构 双滚珠轴承

连接线长度30厘米

尺寸:40mmX20mmX36.5mm

重量:62g

技术参数:无负载速度0.17秒/60度(4.8V)

0.13秒/60度(6.0V)

扭矩:11KG

使用温度:-30~~+60摄氏度

死区设定:4微秒

工作电压:3.0V-7.2V

图1

接线说明:黄色(信号线),红色(电源线),暗红(地线)

2舵机控制卡

2

舵机控制卡功能说明:

主控制器为AT89C2051

能够控制八个舵机的运动 可以选择电池供电或外部电源供电 能够使用串口直接和MT-U控制器直接通信 有舵机驱动器和双足步伐控制器两种工作状态

(一)舵机控制卡工作方式:

当做为舵机控制卡使用时,AT89C2051中的程序为《舵机控制(中断)》里面的51arm20080623.c

当作为舵机控制卡使用的时候,控制卡最

多可以同时控制八个舵机的运动,在上电状态

下(舵机控制器不和其他的控制部件进行通

讯),8个舵机控制端口分别输出周期为20ms,

宽度为1.5ms的脉宽调制波。因此,按照舵

机的控制原理,如果各个控制端口上接有舵

机,则各个舵机输出角为90度。如果控制卡

此时没有外接控制器,则舵机一直保持再90

度状态。此时,控制卡需要接收从串口发来的

控制信息,控制信息中包括舵机要转动的角度

以及其他的通讯协议。此时舵机控制卡就是一

个外接控制器控制信号与舵机动作之间的转

换板。

(1) 端口定义

舵机控制卡上有八个舵机接口,分别定义为(Servo1~Servo8);

每个舵机输出口可以控制舵机转动(-90°~

+90°);

外接控制器上的串口(UART)直接和

AT89C2051的串口相连,采用9600的波特

率,此接口可以和其他采用TTL电平的设备

进行通讯。

(2) 通讯协议

a接收数据:

每一帧控制指令:4个字节

第一个字节:0xAF---- 数据帧起始字节; 第二个字节:0x00~0x08---- 舵机序号(Servo1~Servo8);

第三个字节:0x00~0xB4---- 旋转角度设定(-90°~ +90°);

第四个字节:0xFA----数据帧结束字节。 b返回数据:

当正确接收一帧数据之后,伺服舵机控制器会返回一个字节数据做为接收确认信息。

返回数据为:大写字母‘R’的ASCII码。

说明:舵机控制板通过串口和外部控制器进行通讯,外部控制器要让某个舵机转动一定的角度,则需要按照一定的通讯协议向向舵机控制板发送控制信号。

例如:

要使用外接控制器的串口2,令第4个舵机转动40度,就可以使用下面的控制方法。

void send(int com,int motoID,int angle)

{

serial_send(com,0x00AF);

serial_send(com,motoID);

serial_send(com,(char)angle);

serial_send(com,0x00FA);

}

send(2,4,40);

(3) 装配图

再用户开始自己的创意之旅之前,我们的开发人员针对创新套件的机构特点安装除了一个双足的行走平台,并把相关的参数和调试说明告知大家,算是起到一个抛砖引玉的作用。

A双足平台安装步骤:

步骤1:

2: 步骤

步骤3

步骤4

步骤4

图3

每个舵机按照上图标记的序号连接到相应的舵机接口上。

以图中看到的面为双足平台的正面,则可以知道每个舵机关节转动时的角度变化倾向如下图所示:

图4

图中的圆圈代表舵机的转盘,1、5号舵机的转轴向左右方向摆动,若把图3所示的到方向看做正前方,则舵机转盘的转动方向如图4所示。 (4)行走实验

通过上面的说明,我们已经了解了双足步行机器人的各个组成部件及其工作原理,又通过第三步

舵机模块与控制卡组装成了一个双足平台。下面我们将使用MT-U控制器通过串口控制双足平台走出流畅的步伐。 MT-T控制器接口:

图4 使用四芯的串口线将MT-U扩展板上的串口与舵机控制卡上的串口相连,连接方式按照普通的串口协议进行连接(注意:由于我们已经在内部做过变换,两个串口的连接方式为TXD—TXD,RXD--RXD)。

此时,在MT-U机器人中的程序为:

#include

#include "ingenious.h" //前面两句为MT-U编程环境的连接文件 int state=0; int

//舵机的转动值,初始状态为90度

int angle2=90; int angle3=90; int angle4=90; int angle5=90; int angle6=90; int angle7=90; int angle8=90;

void send(int com,int motoID,int angle)

//MT-U控制舵机转动的串口协议子函数

angle1=90;

{

serial_send(com,0x00AF); serial_send(com,motoID); serial_send(com,(char)angle); serial_send(com,0x00FA);

}

void main() {

serial_init(9600); //初始化串口波特率

send(2,1,angle1); //设置舵机的初始化角度 send(2,2,angle2); send(2,3,angle3);

send(2,4,angle4); send(2,5,angle5); send(2,6,angle6); send(2,7,angle7); send(2,8,angle8); sleep(2000); while(1) {

if(state==0) 腿关节的第一个动作 {

if(angle4

//

if(angle4

angle4=angle4+2; send(2,4,angle4); }

if(angle8

angle8=angle8+2; send(2,8,angle8); } } else

//第

{

state=1;

}

}

if(state==1)

腿关节的第二个动作

{

if(angle1

{

angle1=angle1+2;

send(2,1,angle1);

}

else

{

//

}

}

if(state==2)

{

if(angle260)

{

if(angle2

{

angle2=angle2+2;

send(2,2,angle2);

}

if(angle3>60)

{

angle3=angle3-2;

send(2,3,angle3);

}

}

else

{

state=3;

}

}

if(state==3)

{

if(angle4>80||angle8>80)

{

if(angle4>80)

{

angle4=angle4-2;

send(2,4,angle4);

}

if(angle8>80)

{

angle8=angle8-2;

send(2,8,angle8);

}

}

else

{

state=4;

}

}

if(state==4)

{

if(angle2>90||angle3

{

if(angle2>90)

{

angle2=angle2-2;

send(2,2,angle2);

}

if(angle3

{

angle3=angle3+2;

send(2,3,angle3);

}

}

else

{

state=5;

}

}

if(state==5)

{

if(angle660) {

if(angle6

{

angle6=angle6+2;

send(2,6,angle6);

}

if(angle7>60)

{

angle7=angle7-2;

send(2,7,angle7);

}

}

else

{

state=6;

}

}

if(state==6)

{

if(angle4

if(angle4

{

angle4=angle4+2;

send(2,4,angle4);

}

if(angle8

{

angle8=angle8+2;

send(2,8,angle8);

}

}

else

{

state=7;

}

}

if(state==7)

{

if(angle6>90||angle7

{

if(angle6>90)

{

angle6=angle6-2;

send(2,6,angle6);

}

if(angle7

{

angle7=angle7+2;

send(2,7,angle7);

}

}

else

{

state=2; //机器人的腿关节持续行走

}

}

sleep(100);

}

}

(二)双足步伐控制器:

此工作状态是双足平台发货时的状态,AT89C2051里面的程序是《步行机器人简易行走程序》

以上的介绍是针对控制卡作为舵机控制器时的使用步骤,如果没有外接控制器,也可以直接把舵机控制卡的控制核心AT89C2051作为双足平台的步伐控制器,此时用户需要使用51编程器直接针对51单片机进行编程,在我们的舵机控制卡上单片机的控制端口与舵机号的对应关系是:

P1.7→servo1 P1.6→servo2

P1.5→servo3 P1.4→servo4

P1.3→servo8 P1.2→servo7

P1.1→servo6 P1.0→servo5

根据我们提供的接口方式,用户就可以自己使用AT89C2051控制双足机器人的行走。

以上资料如有疑问,请拨打公司客服电话:021-64850709-22

双足步行机器人

一:项目目标:

1. 掌握舵机控制方式

2. 了解机器人串口通讯方式

3. 掌握双足机器人步伐调整原理

二:项目描述:

行走机器人是现在机器人研究领域的一个热点,无论是SONY公司不断更新的“阿西莫”机器人,还是每年在机器人世界杯上不断推陈出新的足球机器人,大家都把目光瞄在了更加拟人化的双足类人机器人。 基于双足平台的机器人要正常工作首先需要能够平稳的行走,目前对腿型行走机构的研究主要基于仿生学原理与动态控制原理,SONY公司的“阿西莫”主要基于仿生学原理,这种研究方式也是双足机器人

舞蹈比赛与双足机器人足球比赛中常见的控制方式,因为这种控制方法让初学者更容易上手,能够从最简单的步伐控制开始了解双足机器人控制的基本原理。 本公司所开发的步行机器人创新套件就是立足与这样一个事实,初接触类人机器人的同学可以按照我们的说明组装出自己的双足机器人套件,从而从每一个关节开始了解双足机器人的组成,然后使用我们的软件编程环境逐步的调试机器人的步伐,让机器人走出一个个流畅的步伐,我们相信,当一堆杂乱无章的舵机零件经过你的双手变成一个能够流畅行走的双足机器人的时候,你一定能够体会到知识给你带来的喜悦。

三:项目原理与具体内容:

1. 舵机

型号与相关参数:

MG995

金属齿轮结构 双滚珠轴承

连接线长度30厘米

尺寸:40mmX20mmX36.5mm

重量:62g

技术参数:无负载速度0.17秒/60度(4.8V)

0.13秒/60度(6.0V)

扭矩:11KG

使用温度:-30~~+60摄氏度

死区设定:4微秒

工作电压:3.0V-7.2V

图1

接线说明:黄色(信号线),红色(电源线),暗红(地线)

2舵机控制卡

2

舵机控制卡功能说明:

主控制器为AT89C2051

能够控制八个舵机的运动 可以选择电池供电或外部电源供电 能够使用串口直接和MT-U控制器直接通信 有舵机驱动器和双足步伐控制器两种工作状态

(一)舵机控制卡工作方式:

当做为舵机控制卡使用时,AT89C2051中的程序为《舵机控制(中断)》里面的51arm20080623.c

当作为舵机控制卡使用的时候,控制卡最

多可以同时控制八个舵机的运动,在上电状态

下(舵机控制器不和其他的控制部件进行通

讯),8个舵机控制端口分别输出周期为20ms,

宽度为1.5ms的脉宽调制波。因此,按照舵

机的控制原理,如果各个控制端口上接有舵

机,则各个舵机输出角为90度。如果控制卡

此时没有外接控制器,则舵机一直保持再90

度状态。此时,控制卡需要接收从串口发来的

控制信息,控制信息中包括舵机要转动的角度

以及其他的通讯协议。此时舵机控制卡就是一

个外接控制器控制信号与舵机动作之间的转

换板。

(1) 端口定义

舵机控制卡上有八个舵机接口,分别定义为(Servo1~Servo8);

每个舵机输出口可以控制舵机转动(-90°~

+90°);

外接控制器上的串口(UART)直接和

AT89C2051的串口相连,采用9600的波特

率,此接口可以和其他采用TTL电平的设备

进行通讯。

(2) 通讯协议

a接收数据:

每一帧控制指令:4个字节

第一个字节:0xAF---- 数据帧起始字节; 第二个字节:0x00~0x08---- 舵机序号(Servo1~Servo8);

第三个字节:0x00~0xB4---- 旋转角度设定(-90°~ +90°);

第四个字节:0xFA----数据帧结束字节。 b返回数据:

当正确接收一帧数据之后,伺服舵机控制器会返回一个字节数据做为接收确认信息。

返回数据为:大写字母‘R’的ASCII码。

说明:舵机控制板通过串口和外部控制器进行通讯,外部控制器要让某个舵机转动一定的角度,则需要按照一定的通讯协议向向舵机控制板发送控制信号。

例如:

要使用外接控制器的串口2,令第4个舵机转动40度,就可以使用下面的控制方法。

void send(int com,int motoID,int angle)

{

serial_send(com,0x00AF);

serial_send(com,motoID);

serial_send(com,(char)angle);

serial_send(com,0x00FA);

}

send(2,4,40);

(3) 装配图

再用户开始自己的创意之旅之前,我们的开发人员针对创新套件的机构特点安装除了一个双足的行走平台,并把相关的参数和调试说明告知大家,算是起到一个抛砖引玉的作用。

A双足平台安装步骤:

步骤1:

2: 步骤

步骤3

步骤4

步骤4

图3

每个舵机按照上图标记的序号连接到相应的舵机接口上。

以图中看到的面为双足平台的正面,则可以知道每个舵机关节转动时的角度变化倾向如下图所示:

图4

图中的圆圈代表舵机的转盘,1、5号舵机的转轴向左右方向摆动,若把图3所示的到方向看做正前方,则舵机转盘的转动方向如图4所示。 (4)行走实验

通过上面的说明,我们已经了解了双足步行机器人的各个组成部件及其工作原理,又通过第三步

舵机模块与控制卡组装成了一个双足平台。下面我们将使用MT-U控制器通过串口控制双足平台走出流畅的步伐。 MT-T控制器接口:

图4 使用四芯的串口线将MT-U扩展板上的串口与舵机控制卡上的串口相连,连接方式按照普通的串口协议进行连接(注意:由于我们已经在内部做过变换,两个串口的连接方式为TXD—TXD,RXD--RXD)。

此时,在MT-U机器人中的程序为:

#include

#include "ingenious.h" //前面两句为MT-U编程环境的连接文件 int state=0; int

//舵机的转动值,初始状态为90度

int angle2=90; int angle3=90; int angle4=90; int angle5=90; int angle6=90; int angle7=90; int angle8=90;

void send(int com,int motoID,int angle)

//MT-U控制舵机转动的串口协议子函数

angle1=90;

{

serial_send(com,0x00AF); serial_send(com,motoID); serial_send(com,(char)angle); serial_send(com,0x00FA);

}

void main() {

serial_init(9600); //初始化串口波特率

send(2,1,angle1); //设置舵机的初始化角度 send(2,2,angle2); send(2,3,angle3);

send(2,4,angle4); send(2,5,angle5); send(2,6,angle6); send(2,7,angle7); send(2,8,angle8); sleep(2000); while(1) {

if(state==0) 腿关节的第一个动作 {

if(angle4

//

if(angle4

angle4=angle4+2; send(2,4,angle4); }

if(angle8

angle8=angle8+2; send(2,8,angle8); } } else

//第

{

state=1;

}

}

if(state==1)

腿关节的第二个动作

{

if(angle1

{

angle1=angle1+2;

send(2,1,angle1);

}

else

{

//

}

}

if(state==2)

{

if(angle260)

{

if(angle2

{

angle2=angle2+2;

send(2,2,angle2);

}

if(angle3>60)

{

angle3=angle3-2;

send(2,3,angle3);

}

}

else

{

state=3;

}

}

if(state==3)

{

if(angle4>80||angle8>80)

{

if(angle4>80)

{

angle4=angle4-2;

send(2,4,angle4);

}

if(angle8>80)

{

angle8=angle8-2;

send(2,8,angle8);

}

}

else

{

state=4;

}

}

if(state==4)

{

if(angle2>90||angle3

{

if(angle2>90)

{

angle2=angle2-2;

send(2,2,angle2);

}

if(angle3

{

angle3=angle3+2;

send(2,3,angle3);

}

}

else

{

state=5;

}

}

if(state==5)

{

if(angle660) {

if(angle6

{

angle6=angle6+2;

send(2,6,angle6);

}

if(angle7>60)

{

angle7=angle7-2;

send(2,7,angle7);

}

}

else

{

state=6;

}

}

if(state==6)

{

if(angle4

if(angle4

{

angle4=angle4+2;

send(2,4,angle4);

}

if(angle8

{

angle8=angle8+2;

send(2,8,angle8);

}

}

else

{

state=7;

}

}

if(state==7)

{

if(angle6>90||angle7

{

if(angle6>90)

{

angle6=angle6-2;

send(2,6,angle6);

}

if(angle7

{

angle7=angle7+2;

send(2,7,angle7);

}

}

else

{

state=2; //机器人的腿关节持续行走

}

}

sleep(100);

}

}

(二)双足步伐控制器:

此工作状态是双足平台发货时的状态,AT89C2051里面的程序是《步行机器人简易行走程序》

以上的介绍是针对控制卡作为舵机控制器时的使用步骤,如果没有外接控制器,也可以直接把舵机控制卡的控制核心AT89C2051作为双足平台的步伐控制器,此时用户需要使用51编程器直接针对51单片机进行编程,在我们的舵机控制卡上单片机的控制端口与舵机号的对应关系是:

P1.7→servo1 P1.6→servo2

P1.5→servo3 P1.4→servo4

P1.3→servo8 P1.2→servo7

P1.1→servo6 P1.0→servo5

根据我们提供的接口方式,用户就可以自己使用AT89C2051控制双足机器人的行走。

以上资料如有疑问,请拨打公司客服电话:021-64850709-22


相关文章

  • RB08A1搬运机器人说明书(机械分册)
  • 在本工业机器人产品使用说明书中,我们将尽力叙述与广州数控设备有限公司 RB08A1系列搬运机器人改进型产品使用相关的事项.限于篇幅限制及产品具体使用等原因,不可能对产品中所有不必做和/或不能做的操作进行详细的叙述.因此,本产品使用说明书中没 ...查看


  • 六足爬行机器人使用说明
  • 教学型六足爬行机器人参考手册 1.主要技术参数: 包括 : 1) 六足爬行机器人机器人: ● 主控制器为MT-U 控制盒 ● ● ● ● ● 2) 12自由度 独立驱动电源/电池供电:6V ,2000 mAH, 专用充电器,自动检测充电状态 ...查看


  • 机器人控制理论与技术实验报告
  • 目 录 实验一 机器人U-II 测试.........................................................................................2 实验二 机器人传感器实 ...查看


  • 关于扫地机器人的使用评测
  • 关于扫地机器人的使用评测 第一次使用的扫地机器人是福玛特,受家中宠物毛发的困扰不得不买了一台扫地机器人.使用过后,瞬间扫出一堆毛发,让我十分惊喜.要知道,毛发这种东西,一扫就到处飘,要是让我自己扫,我是扫不出来的,现在床底.沙发底.边边角角 ...查看


  • 俄罗斯军用机器人技术系统发展前景
  • 俄罗斯军队已经在使用数十套地面和海上机器人技术系统,而加上无人机有数百套.国防部机器人技术装备科学研究与试验总中心主任谢尔盖·波波夫向<军工信使>记者奥列格·法利切夫介绍了有关前景. 问:谢尔盖·阿纳托利耶维奇,军用机器人技术装 ...查看


  • 上海发那科展出高效食品等级机器人
  • 随着科技的发展,机械化.自动化在企业中的大范围使用为企业创造了可观的效益.机械化是提高生产力的重要手段也是社会发展的趋势,但在机械化的过程中食品行业也出现了特殊问题.因为食品与人们的安全息息相关,所以食品行业不同于其他行业,在该行业中使用的 ...查看


  • 机器人基础习题
  • 1. 简述国际标准化组织对机器人的定义. 2. 简述机器人的坐标分类并举例. 3. 简述机器人在制造业中的应用. 4. 说说国际上主要的工业机器人生产成家. 5. 综述自己感兴趣的1-2个机器人. 1. 查找资料,对一种或一类机器人进行系统 ...查看


  • 机器人工作原理
  • 从最基本的层面来看,人体包括五个主要组成部分: 身体结构 肌肉系统,用来移动身体结构 感官系统,用来接收有关身体和周围环境的信息 能量源,用来给肌肉和感官提供能量 大脑系统,用来处理感官信息和指挥肌肉运动 当然,人类还有一些无形的特征,如智 ...查看


  • 青岛版初中信息技术九年级上册教案
  • 第1单元 感测技术 单元教学目标 知识目标 1.了解感测技术的概念: 2.了解感测技术的地位和作用: 3.掌握传感器的基本原理: 4.了解感测技术在机器人方面的应用: 5.了解感测技术在现实生活中的应用. 技能目标 1.能够识别身边的感测技 ...查看


热门内容