利用颜色的HSV定位足球,并自主寻找到足球位置执行踢球动作。 1.如果站立能看到足球,说明足球距离机器人比较远,需要执行前进靠近足球。如果站立时看不到足球就执行小弯腰,小弯腰检测到足球了,说明足球离机器人已经不远了,这个时候机器人执行动作靠近足球,但是要控制好执行的次数。 2.如果站立和小弯腰都看不到足球,说明足球离机器人很近了,需要执行大弯腰来检测足球的位置。 3.在确定好足球位置后,走到足球前再执行踢球动作。
一、利用HSV定位物体
1、利用HSV识别颜色
RGB颜色空间利用三个颜色分量的线性组合来表示颜色,任何颜色都与这三个分量有关,而且这三个分量是高度相关的,所以连续变换颜色时并不直观,想对图像的颜色进行调整需要更改这三个分量才行。 自然环境下获取的图像容易受自然光照、遮挡和阴影等情况的影响,即对亮度比较敏感。 HSV(Hue, Saturation, Value)是根据颜色的直观特性创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。这个模型中颜色的参数分别是:色调(H),饱和度(S),亮度(V)。 对于图像而言HSV颜色空间比RGB更接近人们对彩色的感知经验。非常直观地表达颜色的色调、鲜艳程度和明暗程度,方便进行颜色的对比。(HSV颜色模块的运用与RGB颜色模块的使用相同)
(HSV模糊范围)
二、程序编写
1、利用函数编写程序
1) 机器人在站立情况下检测到足球,可判断执行左移、右移、慢走 2) 机器人看不到足球的情况下,设计一个弯腰动作,弯腰时看到足球,机器人站立,判断执行左移、右移、慢走 3) 机器人弯腰还是看不到足球的情况下,执行大弯腰动作,检测足球是否在脚边,检测到足球,机器人站立,判断执行左移、右移、踢足球动作。 4)大弯腰检测不到足球,机器人回到小弯腰动作,头部左右移检测足球,判断执行左转、右转
(机器人远看识别足球程序)
(机器人小弯腰识别足球程序)
(机器人大弯腰识别足球程序)
(机器人转动头部识别足球程序)
编写总程序,将4个函数模块调用到识别到足球的总程序中
|