实验二智能机器人控制技术的研究
一.实验目的
1.熟悉机器人控制系统的组成与与相关控制技术。
2.熟悉轮式移动机器人运动控制系统的组成与控制方法。
3. 熟悉PID控制、模糊控制与神经网络控制算法的基本原理及其在智能机器人控制中
的应用。
二.实验基本理论
机器人与计算机相区别的一个重要特征,就是机器人能够运动。而运动就必须有动力
部件,以及由这些动力部件驱动的结构。因此,合理选择和设计运动系统是移动机器人设计
中一项基本而重要的工作。通常,运动系统是由移动机构和驱动系统组成的,它们在控制系
统的控制指挥下,完成各种移动动作。
“未来之星”机器人控制系统结构如图 6 所示。其中,控制系统主板是控制系统的核心。运动控制卡和MultiFLEX 控制器又是主板上最重要的控制设备。
图 6 “未来之星”控制系统结构框图
运动控制卡主要有两方面的功能:(1)接收上位机的指令,并将其转化为驱动器的控制指令,控制两组驱动器和电机执行上位机要求的运动。(2)通过IIC 总线查询陀螺仪和倾角计传感器的数据信息,并做基本PID 运算;接收上位机的导航控制指令,结合姿态传感器的姿态信息做相应的运算并控制两组驱动器和电机闭环执行预定的轨迹运动。
MultiFLEX 控制器是“未来之星”机器人的核心控制器,是一个模块化的机器人控制卡。
同时,MultiFLEX 是一块公开电路图、公开源程序的控制卡。用户可以根据这些资源,自行
为它开发针对某个特定机器人的程序,使MultiFLEX 具有决策能力。MultiFLEX 控制卡上
的有多种输入输出接口,在“未来之星”上主要用于简单传感器信息的采集和处理,舵机和电机的运动控制。在 “未来之星”的系统架构中,最底层的运动/控制执行层包括电机伺服控制器,舵机控制器等。MultiFLEX 控制卡搭载在机器人的总线上,当作一个
控制执行节点来使用。控制执行层接受来自上层的控制指令,处理大量高速原始数据,并用
简单的算法完成对执行器的自动控制,以及对传感器的有效读取,并把信息传递给上层。
MultiFLEX 控制卡的外观和卡上的接口说明如下图所示:
图 7 MultiFLEX 控制卡的外观图
卡上的各种接口说明如下:
A: 电源接口,+5-6V 电源 (J6)(1.0a 之后版本的控制卡使用同轴电源插座,极性为内正外负)
MultiFLEX 控制卡使用5-6V 的直流电源。至少要求5A 的电流输出能力。
B: 控制板总线接口 (J8)
MultiFLEX 控制卡支持博创科技的标准总线,可以作为功能模块安装在博创科技的所有
机器人产品上使用。具体使用方法请参考“MultiFLEX 控制卡数据手册”。
C: 4 路电机接口M1-M4 (J7)
4路PWM 电机驱动输出。最大允许电流2A,最高输出电压为供电电压。可以支持各
种小型直流有刷电机。
D: RS-232 串口(J5)
友迅达(FriendCOMM)标准的5 针RS-232 串行口。标准RS-232 电平。需要在这里插
入232 通讯电缆。
E: 7 路模拟输入接口 AD0-AD6 (J2)
ADC 输入口允许输入0~5V 模拟信号,在MultiFLEX 控制卡中可以转换为数字信号。
主要用于一些模拟电压输出的传感器信号采集。其中靠近电路板内侧是信号输入线(对应图
上字母S。需要注意输入最低电压0V,最大电压为MultiFLEX 控制卡的电源电压,即5~6V),
中间是电源(5~6V,对应图上“+”号),外侧是地线(GND,对应图上“-”号)
F: 12 路PWM 舵机控制 PW0~PW11(CH0~CH11)(J4)12 路舵机的控制接口被分成了四组。这是为了避免各个接口的接插件之间干涉。舵机的引线有三根,其中黄色是信号线(对应图上字母S,靠近电路板内侧),橙色是电源(5~6V,对应图上“+”号),棕色是地线(GND,对应图上“-”号)
G: 16 路数字I/O IO0-IO15 (J1,J3)
16 路数字I/O 可以在UP-MRcommander 软件中被配置为输入或者输出。如果配置为输
入,每个I/O 口能采集加在其上的电压是高电平(1)还是低电平(0),主要用于检测开关、
按钮、红外传感器等的状态。如果配置为输出,每个I/O 口可以输出高低电平(高电平为电
源电压,低电平为0V),可以用于驱动LED、微型电机等器件。其中靠近电路板内侧是信
号输入线(对应图上字母S。需要注意输入最低电压0V,最大电压为MultiFLEX 控制卡的电
源电压,即5~6V),中间是电源(5~6V,对应图上“+”号),外侧是地线(GND,对应图上“-”号)。
H: AVR 单片机在线编程接口(J6)
MultiFLEX 控制卡使用AVR ATMega128 微控制器作为处理器,这款处理器具备在线编
程(ISP)功能。使用ICCAVR、WINAVR 等PC 机上的C 语言编译环境交叉编译好的二进
制文件可以通过该接口下载到处理器内置的FLASH 存储器中运行。
I: 控制卡功能选择拨码开关(S1)
H的上方即是控制卡功能选择拨码开关。拨码开关共有8 路,每一路拨到ON 位置为接
通。
? 第 1、2 路接通且3、4 路断开时使用RS232 串口与PC 机的UP-MRcommander 软件通
讯;当第1,2 路断开且3、4 路接通时,控制卡通过标准总线与上位机连接。我们在这
里要使用的是第二种方式,即1、2 处于OFF 的位置,3、4 处于ON 的位置。
? 第 5、6 路拨码开关用来选择通讯的波特率。5 路为低位,6 路为高位;拨码开关接通代表0。波特率有以下几种:
编号: 6 5 : 对应波特率
0/1 状态 0 0 : 115200BPS
0 1 : 38400 BPS
1 0 : 19200 BPS
1 1 : 9600 BPS
? 第 7 路拨码开关用于选择开机状态。当为ON时开机自动执行控制卡中上次保存的指令,
当为OFF 时待机,等待控制命令。
? 第 8 路暂时保留未用,为以后扩展功能使用。
在出厂时,拨码开关的默认值是:使用标准总线与上位机连接,波特率19200BPS。
MultiFLEX 控制卡的主要数据如下表所示:
项目 数据 说明
型号 MultiFLEX 1.0
长/宽/高 105/50/19mm 不含20pin 总线接口
供电 4.8~6.5VDC 推荐4.8~6V。电压超过6.5V 可能损坏!
保护 过流保护
反接保护
长时间电源反接仍可能损坏。
过流保护生效后,需重新上电才能工作
静态功耗 0.3W
保护电流 6~8A 超过此电流后,自动切断。约10 秒后才能再次工作。
I/O 电平 低电平 < GND + 1.5V
高电平 > VCC – 1.5V
数字通讯接口 RS-232 接口 TX,RX,GND 三线制
数字量输入/输出 16 个,复用 GND/VCC/SIG 三线制(SIG 可以为输入或
输出,在UP-MRcommander 软件中配置)
模拟量输入 8个(其中一个已经内部使用) GND/VCC/SIG 三线制(SIG 为信号输入)
功率输出 4个 M+,M- 两线制,最大每通道2A
舵机输出 12个 GND/VCC/SIG 三线制(SIG 为信号输出)
扩展接口 20线总线接口 博创科技标准的总线接口。可以通过该总线接口扩展其他外设。
JTAG 功能 不支持
ISP 功能 支持 GND/RST/MOSI/MISO/SCK 五线,配套提供ISP 编程电缆
无线通讯 支持 可选配无线通讯模块,433MHz,19.2KBps
三.实验平台
1. 系统结构
实验系统仍然采用博创公司的“未来之星”移动机器人平台。依据各主要功能模块的分层布置,“未来之星”机器人的内部组装结构从下往上依次如图 8(a)-(d)所示。
图 8 “未来之星”机器人各主要功能模块的分层布置
运动层主要是能源和驱动部分。基础控制层安装基本控制电路,主要有主板、MultiFLEX
控制卡、运动控制卡、通讯板和接口。高级控制层上有LCD 及键盘模块、嵌入式PC 系统、
液晶屏模组、光敏温敏传感器等电路板。各层之间通过立柱互相固定。头部安装有摄像头和
激光笔。激光笔主要用来和摄像头配合使用,进行简单的图像激光测距。
2. “未来之星”机器人控制系统
硬件部分
控制系统是机器人的核心,是机器人顺利完成各项任务的基本保证。“未来之星”机器人的控制主要涉及到头部控制、手臂控制和运动控制。头部的控制主要通过一个旋转舵机来实现头部转动。手臂控制包括肩关节、肘关节、腕关节和指关节,左右手臂各具有5 个自由度。在运动控制部分,“未来之星”采用两轮驱动,两个直流伺服驱动器对两个直流伺服电机进行闭环控制,能够比较精确的控制机器的运动轨迹。结合带陀螺仪和倾角计导航的运动控制卡,机器人可以实现精确的运动控制,有效地锁定航向、自动补偿和纠正因外力造成的运动偏差。在演示软件FStar 2.2.1 的基本控制页面(如),我们可以看到上述三个部位的运动控制功能演示。有关电机方面的具体控制,在此不在赘述,请查阅相关资料。
图9 FStar 2.2.1 软件系统的基本控制页面
软件部分
通过实验一已经了解到“未来之星”机器人的FStar 软件平台。从软件系统的层次
架构中,我们主要通过发送命令、解析命令到行为执行来实现对机器人的控制。因此,我们
必须熟悉各硬件设备与主机的通讯协议以及在软件平台上的行为控制接口函数。
其中几个重要的接口控制函数,列举如下:
SetBothMotorsSpeed 功能:同时发送左右两侧电机速度
参数:
Inleftspeed: int 类型,左侧电机速度
Inrightspeed: int 类型,右侧电机速度
SetLMotorSpeed 功能:发送左侧电机速度
参数:
Inleftspeed:int 类型,左侧电机速度
SetRMotorSpeed 功能:发送右侧电机速度
参数:
Inrightspeed:int 类型,右侧电机速度
Brake 功能:刹车
参数:无
SetPIDpara 功能:设置锁定航向PID 参数
参数:
pid1: UCHAR 类型,比例系数
pid2:UCHAR 类型,积分系数
pid3:UCHAR 类型,微分系数
TurnLByGyro 功能:左转(基于陀螺)
参数:
inangle: int 类型,要转动的角度(真实角度的10 倍)
inSpeed:UCHAR 类型,转动的速度(真实速度的1/100)
LockDirection 功能:锁定航向
参数:
cmd:UCHAR 类型,命令标志
speed:UCHAR 类型,速度(实际速度的1/100)
SetServeMotor 功能:设置伺服电机
参数:
inSpeed:int 类型,伺服电机速度
ResetServe 功能:所有舵机复位
参数:无
SendArmData 功能:控制机械臂运动
参数:
angle:UCHAR 数组类型,机械臂舵机角度值
speed:UCHAR 数组类型,机械臂舵机转动时速度值
WaveHead 功能:头部转动控制
参数:
angle:int 类型,要转过的角度
speed:UCHAR 类型,转动的速度
四、实验内容
在程序的对话框中添加按钮控件基本控制“前进,后退,左转,右转,圆形”分别命名,接着为其添加类向导函数
void CFstarTestDlg::OnForward()
{
// TODO: Add your control notification handler code here
m_Cmd.SetBothMotorsSpeed(200,200); //前进
}
void CFstarTestDlg::OnTurnleft()
{
// TODO: Add your control notification handler code here
m_Cmd.SetBothMotorsSpeed(-100,100); //左转
}
void CFstarTestDlg::OnTurnright()
{
// TODO: Add your control notification handler code here
m_Cmd.SetBothMotorsSpeed(100,-100); //右转
}
void CFstarTestDlg::OnBackward()
{
// TODO: Add your control notification handler code here
m_Cmd.SetBothMotorsSpeed(-200,-200); //后退
}
void CFstarTestDlg::OnBrake()
{
// TODO: Add your control notification handler code here
m_Cmd.Brake(1); //停止
}
,2,圆形实现程序:
void CFstarTestDlg::OnYx()
{
// TODO: Add your control notification handler code here
//clock_t start,finish;
//clock_t start,finish;
// TODO: Add your control notification handler code here
//m_Cmd.SetBothMotorsSpeed(200,350);
//start=clock();
// while(1){
m_Cmd.SetBothMotorsSpeed(200,350);
}
并在函数中添加如下控制策略
// TODO: Add your control notification handler code here
m_Command=7;
m_sender.Send(&m_Command,1);
}
至此,本实验已完成。
五.实验心得
通过这次实验使我对 “未来之星”机器人的软硬件系统架构、FStar软件开发平台更加熟悉与了解。熟悉轮式移动机器人运动控制系统的组成与控制方法,对轮式移动机器人有了更深的认识。在C++的编程与设计有了提高,通过以太网可以远程控制“未来之星”机器人,并通过编程可以做到一些动作,完成对机器人路径的控制。
第二篇:智能机器人实验报告
智能机器人实验报告
实验目的:
1、了解广茂达智能小车的工作原理;
2、通过实际操作理解小车各项功能的实现方法;
3、掌握对小车功能的编程及调试方法;
4;通过实验促进对理论课学习到的知识的理解。
实验原理:
实验一:遥操作实验
本实验利用信号发射器将操作平台给出的控制信号发射出去,接收器调至适当的频道后接受控制信号并控制小车的动作。
将机器人的运动类型划分为五种:前进、后退、左转、右转、停止。在下位机开发环境中编程,分别规定这五种运动控制字分别是:a、b、c、d、e。即上位机向机器人发送字符a时,机器人便开始前进,发送其他控制字依次类推。在上位机VC环境下编程实现这五种运动对应的键是:"↑"键、"↓"键、"←"键、"→"键、"Space"键(即空格键),或按下五个按钮分别向串口发送不同的控制字符。这样当按下"↑"键(当操作方式选择”按键操作”时)或按下”前进”按钮(当操作方式选择”按钮操作”时),上位机通过串口发送字符a,机器人接受到字符a后便开始前进。按下其他控制键或其他控制按钮,道理与此类似。
实时视频显示区用于动态显示无线摄像头采集的视频信息。彩色视频开关组框下有两个按钮:彩色视频开和彩色视频关,通过这两个按钮可以控制彩色视频的开与关,在实时视频显示区就可以显示小车上摄像头所拍摄到的画面。
实验二:自主路径跟踪实验
调节绿色和白色的RGB阈值,使得经过阈值分割后在视频处理后显示区中绿色背景和白色条纹可以明显分辨开来,处理后的画面进行统计,程序中规定只有当每行的白色像素点超过35个,而满足这个条件的行超过80行时,才认为在机器人视野范围存在白线,但是如果由于各种原因机器人在行进过程中可能偏离白线较远,这时候机器人不能不作反应,因为在它视野范围内的局部的白线仍是可以利用的,可以认为只要靠近这些局部的白线机器人仍可能找到白线。程序中规定当机器人视野范围内满足白色像素点超过35个的行大于10而小于80时,机器人仍然作出反应,向靠近这些局部白线的方向运动。这样,小车会朝着本次所确定的目标方向运动,并同时进行下一次处理、分析与统计,这样边前进边处理,不断沿着白线方向运动,便实现了循线的功能。另外,界面主要按键功能如下: 开始采集――在视频处理后显示区显示视频信息
结束采集――在视频处理后显示区停止显示阈值分割后的视频信息
阈值分割――对实时视频显示区显示的图像进行阈值分割,并在视频处理后
显示区显示阈值分割后的视频信息
启停机器人――启动或停止机器人
阈值调节――打开阈值调节界面,
参数设置――打开参数设置界面
视频配置――打开视频配置对话框
实验三:目标搜索实验
该实验中同样要先根据摄像头反馈回并经过处理后的图像进行阈值调节,直到红绿蓝三种颜色可以清楚的分辨出来并且有足够清晰地边缘,在这种情况下:
(1)扫描目标物采用逐行扫描方式,程序中规定只要在机器人视野范围内每行符合目标物颜色的像素数超过45,而满足这个条件的行数超过10,就认为找到了目标物。另外,程序采用寻找目标物优先处理策略,即如果在机器人视野范围内同时存在目标物和障碍物,处理目标物的程序段优先执行。根据目标物的大小,阈值45和10可以改变。如果机器人在行进过程中成功找到了目标物,则机器人立即停止运行,并蜂鸣以示意找到了目标物。
(2)扫描障碍物采用逐行扫描方式,程序中规定只要在机器人视野范围内每行符合障碍物颜色的像素数超过45,而满足这个条件的行数超过10,就认为找到了障碍物。根据障碍物的大小,阈值45和10可以改变。如果机器人在行进过程中遇到了障碍物,则机器人将以0.5的概率随机向左或向右转弯以比躲避障碍物。
(3)扫描边缘采用隔五行扫描方式,程序中根据编程的需要,将机器人在行进过程中可能遇到的边缘分为五种:上边缘、下边缘、左边缘,右边缘和拐角处边缘。上边缘是指边缘处在机器人视野范围内的上半部分,同理,下边缘是指边缘处在机器人视野范围内的下半部分,左边缘是指边缘处在机器人视野范围内的左半部分,右边缘是指边缘处在机器人视野范围内的右半部分。
上边缘和下边缘都属于行边缘,左边缘和右边缘都属于列边缘。
拐角处边缘是指左边缘和右边缘同时出现在机器人视野范围内,这是一种特殊情况,需要特殊处理。
行边缘的条件是:在机器人视野范围内每行符合边缘颜色的像素数超过80,而满足这个条件的行数超过15。
列边缘的条件是:在机器人视野范围内每行符合边缘颜色的像素数超过30,而满足这个条件的行数超过50。
拐角处边缘的条件是:在机器人视野范围内左边缘和右边缘同时存在,且左和右边缘每行符合边缘颜色的像素数都超过30,而满足这个条件的行数都超过25。
经过上述处理,机器人便可顺利地分辨出目标和障碍物,实现避障和寻找目标的功能。
实验器材及环境:
带有摄像头的广茂达智能小车(已经相应的实验程序下载到其中),有VJC编译环境、摄像头调试程序及智能机器人教学实验平台的计算机,无线发射及接收装置,电池,有白色线条的绿色地板以及有红色目标和蓝色障碍物的运动环境。 实验内容:
实验一 遥操作实验
它支持两种方式遥操作机器人:按钮操作和按键操作。
了解操作面板实现的功能:实时视频显示区用于动态显示无线摄像头采集的视频信息,通过得到的3D图像来指导遥控操作;机器人运行状态显示用于显示当前
机器人五种运行状态:前进、后退、左转、右转和停止;按钮操作区有五个按钮,通过点击相应按钮可以控制机器人作相应运动;彩色视频开关组框下有两个按钮:彩色视频开和彩色视频关;通过这两个按钮可以控制彩色视频的开与关;遥操作说明组框用于说明当遥操作方式为按键操作时控制机器人作相应运动的五个控制键:"↑" 键、"↓" 键、"←" 键、"→" 键、"Space" 键(即空格键)。 通过摄像头反馈回来的图像来进行机器人运动状态的控制,熟悉遥操作的各种操作。
实验二 路径跟踪实验
了解操作面板能实现的功能:实时视频显示区用于动态显示无线摄像头采集的视频信息,视频处理后显示区用于显示经过阈值分割后的视频图像信息;彩色视频开关组合框下有两个按钮:彩色视频开和彩色视频关。通过这两个按钮可以控制彩色视频的开与关;机器人运行状态显示用于显示当前机器人五种运行状态:前进、后退、左转、右转和停止。
能熟练的掌握通过阈值调节和参数设定来设定路径的各种特征,让机器人能按着设定值来跟踪路径,以实现拐弯等功能。
实验三 目标搜索实验
了解操作面板能实现的功能:实时视频显示区、视频处理后显示区及彩色视频显示组合框的作用同实验二;颜色采样组合框用于选择目标物颜色和障碍物颜色,默认情况下目标物为红色,障碍物为蓝色;点选坐标后的编辑框用于显示坐标值,当用鼠标在视频处理后显示区点击一下,该点的坐标值便在编辑框内显示出来。
通过颜色采样组合框来设定目标物和障碍物的颜色,并且利用到实验二的阈值设定来获得较好的颜色比对,来完成对目标的搜索和闪避障碍物。
实验过程:
实验一 遥操作实验
实验开始前应该安装摄像头的驱动程序,成功安装后单独打开摄像头程序,调节好分辨率后再进行下一步的实验操作。接着进入遥操作实验的程序界面,按下彩色视频开按钮,可以获得机器人摄像头捕抓到的图像,因为图像时通过无线来传递的,因此要调节好发生器和接收器的频率,使接收到的信号清晰和稳定。根据实时图像来操控机器人的动作。按钮操作区有五个按钮,通过点击相应按钮可以控制机器人作相应运动。亦可通过上下左右和空格键来实现机器人的运动。试验中要注意摄像头的空间位置,应使摄像头能捕抓到足够大的视角,方便机器人的操控。还要观察机器人的操控的灵敏性,看其反应时间的长短,能否实现实时操控。可以适当的增加一些壁障的动作的遥控,看操控的准确性。
实验二 路径跟踪实验
实验开始时应该检查线路是否完整和摄像头能否正常工作。进入程序主界面,接下来把机器人拿到路径跟踪实验的场地,打开摄像头,并且按下彩色视频开按钮,接着按下开始采集。对于摄像头显示的区域,我们的任务就是调节阈值使得白色的线和蓝色的背景能明显的区分开来。界面中有一个颜色采样组框。它
的设计是为了方便阈值调节。用鼠标在图像处理后显示区点击一下,该点的RGB及rgb值便会显示出来。在RGB彩色模型下每一种颜色均由RGB三个分量组成,而rgb是RGB的归一化处理。实践证明, rgb与RGB相比,前者受光线的亮暗的影响比后者要小一些。所以采用它就使得阈值分割中阈值的选取要相对容易一些。不断的点击视频区中白色区域,以获得reb的最大值和最小值,使得这个区域内的阈值能很好的指导机器人进行路径跟踪实验,并且我们还要有估计的能力,能通过数据来预估最好的上下限。同理,对于蓝色区域的阈值调节也这样操作。接着进行参数的设定,主要是白线的参数设定,找出最低的像素来设定,使得机器人能识别出白线,沿着这条白线进行路径跟踪实验。为了取得最好的实验结果,应该不断的重复进行实地的实验,即不断的修改参数和摄像头的角度,以期获得最好的路径,使得机器人能沿着白线运行,而且能很好的拐弯。为了防止实验中反射光线的影响,在阈值调节的时候就要有明确的区分。
实验三 目标搜索实验
彩色视频开按钮按下,将机器人放到试验实地区域,将红色目标物和蓝色障碍物布置好。然后进行阈值调节,阈值调节的过程和实验二基本一致,调节的目的都是使得能很好的分辨出蓝色和红色,但要实地的考虑到反光的影响。接下来进入参数设置,即设置目标物和障碍物尺寸的大小,尺寸不能太大也不能太小,太大的话一开始搜索就能立即搜索到,但是太小的话会受到其他因素的影响,搜索结果不一定正确。因此,要把目标物和障碍物的尺寸设置在一个合适的尺寸,可以通过重复试验得出尺寸的一个大概值。最后,按下启动机器人键,通过摄像头就可以观察到前方的情况,假如机器人发出“滴”的声音,就可以知道机器人很好的搜索到目标物和成功的壁障。试验的关键是阈值的设定和物体尺寸大小的设定。
实验中遇到的问题及解决:
1.A.问题:
开始没有调节信号发射器和接收器的频道,没让它们匹配,导致不能识别控制,后来与其他组的信号发生交叉,导致控制错位。
B.原因分析:
没有进行较好的频道调节。
C.解决方案:
反复调节频道,直到控制成功且和其他组的没有信号交叉。记下当前的频道数,每次开始做时就以这个频道值为基准。
2. A.问题:
视频上捕获的图像出现雪花,很不清晰。
B.原因分析:
a.亮度、对比度、灰度、色调、锐度及饱和度;没有调到最佳的状态 b.没有将分辨率更改为320X240,像素深度更改为RGB 24
C.解决方案:
a. 在视频配置对话框下,点击”视频源”按钮,在弹出视频源配置对话框中分别调整亮度、对比度、灰度、色调、锐度及饱和度,直至图像显示效果令人满意为止.
b. 在视频式配置对话框下,点击”视频格式”按钮,在弹出视频格式配置对话框
中,将分辨率更改为320X240,像素深度更改为RGB 24。
3. A.问题:
让小车寻白线运动时,小车不能严格按照白线行走。
B.原因分析:
由于绿色背景的总会反光,反光部分视频捕获到的是白色,所以与白色条纹所相混,导致机器人判断失误。
C.解决方案:
由于这个属于仪器的系统误差,所以只能尽量减小误差的大小,尽量使白光的阈值调节准确,使白光和背景的反光能较好的区分,另外,实验环境需要进行改善,尽量减少对实验的影响。
4. A.问题:
在做绕开蓝色障碍物寻找红色物体的实验中,机器人总被其他物体的颜色所干扰,导致寻找方向错误。
B.原因分析:
有些物体,例如地板,在室内光线照射下,成暗红色,会混淆目标物体。
C.解决方案:
不断调节目标物体颜色的阈值,使之与周围环境的红色分开来。
(在避障是也有类似的问题)
5. A.问题:
目标物表面的颜色的阈值随光线的改变而一直变化,使机器人无法正常的识别寻找。
B.原因分析:
由于目标物体表面会反光,所以在不同光线下,摄像头捕获到的颜色的阈值是不同的。
C.解决方案:
换一个目标物,用红色的不会反光的不来代替会反光的硬纸板。然后精确调节它的阈值,同时尽量保持室内光线均匀稳定。
实验结果:
实验一:在实验界面中分别按下“前进”、“后退”、“左转”、“右转”及“停止”(或空格),小车均能灵活地按控制信号运动。
实验二:经过对采样及阈值参数的调节后,小车能够顺利地在有白线的绿色地板上循线运动。
实验三:经过对红绿蓝三种颜色阈值的反复调节,小车能够较为顺利地避障和找到目标,但由于地板反光及室内光线问题,实际的红绿蓝阈值会不断地发生较大变化,使得刚刚调节好的阈值失效,导致多次重复同一内容,所以实验环境应做一下改善。
心得体会:
1. 总的来说,通过本次智能机器人的实验,让我们了解了机器人小车执行各种功能的原理和利用的器件。例如:了解了小车最基本的前进后退转弯的工作原理,了解了小车如何寻线行驶,了解小车如何避障和寻找目标。
2. 做完本次实验后,让我们亲身感受到传感器在机器人工作中的运用,可以说,机器人每做一个任务都离不开传感器,从避障,找目标物等等任务中完全体现出来。
3. 做完本次试验,体验到实际实验与理论的差别,例如,理论上只要调好白线和背景物颜色的阈值,就可以完全做到精确地寻线行驶,但是实际中会出现光线改变导致的颜色的阈值的改变,周围物体对小车判断的各种影响。而且这种影响往往是致命的,会导致小车的判断失误,无法正常工作。
4. 以后做此类机器人的话,必须考虑很多现实的因素,了解周围环境对机器人的感知的影响。
对本课程实验的建议:
本课程的实验内容较为简单,对操作要求不高,只要对原理有所了解基本上都能成功完成实验,但是在不断地调试中,也加深了对实验原理的了解以及对智能机器人的反馈和控制方式的认识。结合我们组在实验中的问题和收获,我们想提出以下几点建议:
1、实验中增加一些关于理论课中讲到的机器人的实验内容,比如操作一下学校机器人比赛中用到的机器人,或者对各种类型的(人形、工业)机器人做一次参观等,加深我们对机器人的理解;
2、将本实验和系统控制实验(一)的广茂达小车实验结合到一起,让学生自己用VJC编程并调试,相当于自己完成本实验的准备工作,更能锻炼动手能力,也有利于开发出更多的功能;
3、先让学生对实验内容有个初步了解,亲手操作一下,知道实验要干什么,实验需要哪些理论知识,再在理论课中讲解诸如RGB参数之类的知识,相信教学效果会更好;
4、正如前面所说,本实验中实验环境对实验的成败有很大影响,特别是对颜色阈值调节上,所以希望以后的实验能换一个好一点的环境,至少光线应合适,以免对实验造成较大影响;
5、在规定的内容之后增加一些设计性的内容,如果条件允许的话可以搞一些小型的比赛之类的活动,以便加强对实验的掌握。
希望我们的几条建议能对您的教学有所帮助,衷心地祝愿您以后的课程越来越精彩。