中国农业大学
课程论文
(20##-20##学年秋季学期)
论文题目: 仿尺蠖爬行机器人
课程名称: 机器人创新实验(1)
任课教师: 吴刚
班 级: 车辆112班
学 号: 1107140216
姓 名: 刘鹏
机器人创新实验(1)实验报告
实验名称:仿尺蠖爬行机器人
小组成员:刘鹏 程鹏飞 王思洋
实验时间:2013.11.27
实验目的:使用机器人创意组件组装并使用TKstdio软件编写调试程序完成对尺蠖爬行动作的机械仿真
实验流程:
1. 通过对教材上的实例进行装配熟悉机器人创意组件的组装方法、部件功能以及TKstidio的使用方法
2. 对尺蠖的运动过程进行分析,初步拟定组装所需部件结构以及控制程序的内容。
3. 进行实际装配和调试并根据结果对装配方案和控制程序进行调整。
4. 得到最终方案
5. 总结,反思,撰写实验报告
装配方案:
机器人可视为由五个结构相同的单元体以及主控板和电源组成
单元体包括:
标准舵机M01x1
输出头A05x1
马达支架J26x1
10mm滑轨J01x1
90度转接支J05x1
足支架J12x1
组装后效果如下图:
程序设计:
根据需要将程序设计为闭环控制,不需要获得外部参数,只需按一定的时间间隔完成规定动作即可,而动作的设计如下图:
程序所控制的电机数为四个,另一电机作为配重保持整体重量的均衡,各动作下电机所处角度如下表:
根据分析设定每个电机所应处于的角度并设定动作的保持时间为1s后对应的程序如下:
#include "config.h"
#include "lib_io.h"
#include "lib_arm.h"
int main(void)
{
Initial_ARM();
while(1)
{
Servo(1,0);
Servo(2,180);
Servo(3,90);
Servo(4,90);
DelayNS(1000);
Servo(1,30);
Servo(2,60);
Servo(3,120);
Servo(4,90);
DelayNS(1000);
Servo(1,135);
Servo(2,0);
Servo(3,135);
Servo(4,90);
DelayNS(1000);
Servo(1,120);
Servo(2,30);
Servo(3,30);
Servo(4,120);
DelayNS(1000);
Servo(1,0);
Servo(2,150);
Servo(3,0);
Servo(4,120);
DelayNS(1000);
Servo(1,90);
Servo(2,90);
Servo(3,90);
Servo(4,90);
DelayNS(1000);
}
}
实验总结
创新点:1.通过对尺蠖运动的仿真实现了除轮式、足式之外的另一种机器人运动方式
2.足部支架的设计克服了机器人运动时左右摇摆易倾倒的问题
不足的地方:机器人的运动速度较慢且无法转向,主控板没有地方放置。
附:机器人演示效果
实验心得体会:
通过本次机器人创新实验使我深深感受到团队中的分工和交流对于创新活动的重要性。在本次实验中,我们首先通过合理的分工使得每一位同学的能力能够得到充分的发挥,其次,在各自分工不同的同时,面对比较艰难的问题,例如程序控制方法等,我们又会通过共同合作的方式将每个人的观点均加入考虑,通过头脑风暴的方式得到我们最后的方案。通过这样的方式,达到了最终1+1+1>3的效果,从而能够产生超出个人能力的合力,并最终在花费了较少的时间的情况下实现我们的设计方案。当看到最终机器人迈出他笨拙的“脚步”的时候,每一位队员都感受到了由衷的自豪。
机器人实验报告
班级:测控0802
姓名:(24)任晓亮(06082059)
(23)张肖肖(06082058)
实验一创意之星(标准版)开发环境入门
一实验目的
1 熟悉NorthSTAR图形化开发环境
2 掌握流程图和代码编程方法,以及程序的下载、调试方法
3 掌握RobotSevo Terminal舵机调试设置软件的使用
二实验内容
1 使用RobotSevo Terminal软件设置设置CDS5500的ID、工作方式等参数
2 采用流程图或代码编程方法实现输入(如碰撞开关)控制输出(如舵机的正反转)
三实验要求
1 编写相应流程图或代码程序,并下载调试,实现相应要求。
2 详细纪录实验过程和结果,完成和提交实验报告。
3 实验报告应包括流程图或代码及对应的实验结果。
#include "Apps/SystemTask.h"
uint8 SERVO_MAPPING[1] = {5};
int main()
{
int useful = 0;
MFInit();
MFInitServoMapping(&SERVO_MAPPING[0],1);
MFSetPortDirect(0x00000FFE);
MFSetServoMode(5,1);
while (1)
{
useful = MFGetDigiInput(0);
if (useful==1)
{
MFSetServoRotaSpd(5,1000);
MFServoAction();
}
else
{
MFSetServoRotaSpd(5,0);
MFServoAction();
}
DelayMS(1000);
}
}
实验心得:
通过本次实验,得知:总线舵机与模拟舵机不同之处在于:1.处理接收机的输入信号的方式;2.控制舵机马达初始电流的方式,减少无反应区(对小量信号无反应的控制区域),增加分辨率以及产生更大的固定力量。
实验二避障机器人
一实验目的
1 熟悉创意之星标准版模块搭建方法
2 掌握简单应用程序的编写方法
二实验内容
采用创意之星模块化套件组装四轮机器人,编写代码程序,利用红外传感器和舵机等传感和执行器件,实现四轮机器人的无碰撞自主移动。
三实验要求
1 编写代码程序,并编译调试,实现要求的功能。
2 详细纪录实验结果,完成和提交实验报告。
3 实验报告应包括代码及对应的实验结果。
三实验步骤
1 搭建小车模型
2 编写代码程序,并编译调试,实现要求的功能。
#include "Apps/SystemTask.h"
uint8 SERVO_MAPPING[4] = {4,1,2,3};
int main()
{
int io0 = 0;
int io1 = 0;
MFInit();
MFInitServoMapping(&SERVO_MAPPING[0],4);
MFSetPortDirect(0x00000FC0);
MFSetServoMode(4,1);
MFSetServoMode(1,1);
MFSetServoMode(2,1);
MFSetServoMode(3,1);
DelayMS(1000);
while (1)
{
io0 = MFGetDigiInput(0);
io1 = MFGetDigiInput(1);
if ((io0==1)&&(io1==1))
{
MFSetServoRotaSpd(4,512);
MFSetServoRotaSpd(1,512);
MFSetServoRotaSpd(2,-512);
MFSetServoRotaSpd(3,-512);
MFServoAction();
DelayMS(1000);
}
else
{
if ((io0==0)&&(io1==1))
{
MFSetServoRotaSpd(4,-512);
MFSetServoRotaSpd(1,-512);
MFSetServoRotaSpd(2,512);
MFSetServoRotaSpd(3,512);
MFServoAction();
DelayMS(1000);
MFSetServoRotaSpd(4,512);
MFSetServoRotaSpd(1,512);
MFSetServoRotaSpd(2,512);
MFSetServoRotaSpd(3,512);
MFServoAction();
DelayMS(1000);
}
else
{
MFSetServoRotaSpd(4,-512);
MFSetServoRotaSpd(1,-512);
MFSetServoRotaSpd(2,512);
MFSetServoRotaSpd(3,512);
MFServoAction();
DelayMS(1000);
MFSetServoRotaSpd(4,-512);
MFSetServoRotaSpd(1,-512);
MFSetServoRotaSpd(2,-512);
MFSetServoRotaSpd(3,-512);
MFServoAction();
DelayMS(1000);
}
}
}
}
3 实验实物成果。
实验心得:
通过本次实验熟悉了创意之星标准版模块的搭建方法,初步掌握掌握简单应用程序的编写方法
本次实验内容是:采用创意之星模块化套件组装四轮机器人,编写代码程序,利用红外传感器和舵机等传感和执行器件,实现四轮机器人的无碰撞自主移动。通过不懈努力,最终完成实验!
实验三四足机器人
一实验目的
1 熟悉创意之星标准版模块搭建方法
2 掌握简单应用程序的编写方法
3 掌握四足机器人步态规划方法
二实验内容
采用创意之星模块化套件组装四足机器人,编写代码程序,利用光敏传感器和舵机等传感和执行器件,实现四足机器人的趋光移动。
三实验要求
1 编写代码程序,并编译调试,实现要求的功能。
2 详细纪录实验结果,完成和提交实验报告。
3 实验报告应包括流程图及对应的实验结果。
四实验操作
#include "Apps/SystemTask.h"
uint8 SERVO_MAPPING[10] = {1,2,3,4,5,6,7,8,9,10};
int main()
{
int Diff = 0;
int Left = 0;
int Right = 0;
MFInit();
MFInitServoMapping(&SERVO_MAPPING[0],10);
MFSetPortDirect(0x00000FFF);
MFSetServoMode(1,0);
MFSetServoMode(2,0);
MFSetServoMode(3,0);
MFSetServoMode(4,0);
MFSetServoMode(5,0);
MFSetServoMode(6,0);
MFSetServoMode(7,0);
MFSetServoMode(8,0);
MFSetServoMode(9,0);
MFSetServoMode(10,0);
while (1)
{
//Left
Left = MFGetAD(0);
//Right
Right = MFGetAD(1);
//Diff
Diff = Left - Right;
//Diff > 50
if (Diff > 50)
{
//Turn Left
MFSetServoPos(1,512,512);
MFSetServoPos(2,512,512);
MFSetServoPos(3,512,512);
MFSetServoPos(4,512,512);
MFSetServoPos(5,512,512);
MFSetServoPos(6,512,512);
MFSetServoPos(7,512,512);
MFSetServoPos(8,512,512);
MFSetServoPos(9,405,512);
MFSetServoPos(10,512,512);
MFServoAction();
}
//Diff < -50
if (Diff < -50)
{
//Turn Right
MFSetServoPos(1,512,512);
MFSetServoPos(2,512,512);
MFSetServoPos(3,512,512);
MFSetServoPos(4,512,512);
MFSetServoPos(5,512,512);
MFSetServoPos(6,512,512);
MFSetServoPos(7,512,512);
MFSetServoPos(8,512,512);
MFSetServoPos(9,654,512);
MFSetServoPos(10,512,512);
MFServoAction();
}
//Diff = 50
if (Diff = 50)
{
//Forward
MFSetServoPos(1,512,512);
MFSetServoPos(2,512,512);
MFSetServoPos(3,512,512);
MFSetServoPos(4,512,512);
MFSetServoPos(5,512,512);
MFSetServoPos(6,512,512);
MFSetServoPos(7,512,512);
MFSetServoPos(8,512,512);
MFSetServoPos(9,512,512);
MFSetServoPos(10,512,512);
MFServoAction();
}
//Delay 500
DelayMS(500);
}
}
实验心得:
通过前两次实验,已经熟悉了创意之星标准版模块的搭建方法,并已熟练掌握了简单应用程序的编写方法。本次实验中能掌握四足机器人的步态规划方法。其内容是:采用创意之星模块化套件组装四足机器人,编写代码程序,利用光敏传感器和舵机等传感和执行器件,实现四足机器人的趋光移动。
让思维沸腾起来让智慧行动起来课程论文智能循迹小车的设计作者姓名李董董学院专业自动化学院自动化1学号20xx30600721指导教师…
机器人创新实验报告在机器人创新实验室我们趁着周六空闲时间从早上900到晚上900顺利结束了机器人创新实验1虽然时间比较紧张但我们从…
机器人创新实验报告本实验内容包括风暴机器人的编程设计和搭建积木机器人两部分前者主要涉及编程控制后者偏重机构的搭建从机械与电子两方面…
西华大学实验报告实验报告理工类课程名称机器人创新实验课程代码6003199学院直属系年级专业班学生姓名学号实验总成绩任课教师开课学…
西华大学实验报告实验报告理工类课程名称课程代码学院直属系年级专业班学生姓名学号实验总成绩任课教师开课学院实验中心名称一设计题目1西…
机械创新设计方法实验报告班级机械制造五班姓名曾懿学号123004010526指导教师张巍20xx年7月2日实验题目压力抽气式取水器…
创新教育实习报告学院名称专业班级姓名学号指导教师经过我们专业老师的一个星期的努力五天时间虽然不能够完全了解创新教育的本质内涵但是给…
机械创新设计课程考核报告机械创新设计实验课程考核报告班级机械1106姓名张雷雪学号20xx6476组内成员张雷雪曹雷考核时间20x…
让思维沸腾起来让智慧行动起来课程论文智能循迹小车的设计作者姓名李董董学院专业自动化学院自动化1学号20xx30600721指导教师…
移动机器人综合实验姓名学号实验报告朱永超夏齐平周珅宇南京理工大学自动化学院目录实验一ASUII机器人测试2实验二机器人传感器实验7…