【开发案例】Aelos pro 踢足球

利用颜色的HSV定位足球,并自主寻找到足球位置执行踢球动作。

1.如果站立能看到足球,说明足球距离机器人比较远,需要执行前进靠近足球。如果站立时看不到足球就执行小弯腰,小弯腰检测到足球了,说明足球离机器人已经不远了,这个时候机器人执行动作靠近足球,但是要控制好执行的次数。

2.如果站立和小弯腰都看不到足球,说明足球离机器人很近了,需要执行大弯腰来检测足球的位置。

3.在确定好足球位置后,走到足球前再执行踢球动作。





一、利用HSV定位物体

利用HSV识别颜色。RGB颜色空间利用三个颜色分量的线性组合来表示颜色,任何颜色都与这三个分量有关,而且这三个分量是高度相关的,所以连续变换颜色时并不直观,想对图像的颜色进行调整需要更改这三个分量才行。

  • 自然环境下获取的图像容易受自然光照、遮挡和阴影等情况的影响,即对亮度比较敏感。

  • HSV(Hue, Saturation, Value)是根据颜色的直观特性创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。这个模型中颜色的参数分别是:色调(H),饱和度(S),亮度(V)。

  • 对于图像而言HSV颜色空间比RGB更接近人们对彩色的感知经验。非常直观地表达颜色的色调、鲜艳程度和明暗程度,方便进行颜色的对比。(HSV颜色模块的运用与RGB颜色模块的使用相同)


6.png

(HSV模糊范围)



二、程序编写

利用函数编写程序

  • 机器人在站立情况下检测到足球,可判断执行左移、右移、慢走

  • 机器人看不到足球的情况下,设计一个弯腰动作,弯腰时看到足球,机器人站立,判断执行左移、右移、慢走

  • 机器人弯腰还是看不到足球的情况下,执行大弯腰动作,检测足球是否在脚边,检测到足球,机器人站立,判断执行左移、右移、踢足球动作。

  • 大弯腰检测不到足球,机器人回到小弯腰动作,头部左右移检测足球,判断执行左转、右转


7.png

(机器人远看识别足球程序)


8.png

(机器人小弯腰识别足球程序)


9.png

(机器人大弯腰识别足球程序)


10.png

(机器人转动头部识别足球程序)



三、总程序

编写总程序,将4个函数模块调用到识别到足球的总程序中。

11.png


回复

使用道具 评分 举报

您需要登录后才可以回帖 登录 | 立即注册

  • 0 关注
  • 14 粉丝
  • 115 帖子