人型机器人视觉处理——垃圾分类

上期我们利用到机器人的RGB颜色识别让机器人可以实现定位抓取物体的功能。这期我们来介绍另一个识别机制HSV识别,并通过这个识别机制让机器人实现垃圾分类的功能。
预期效果:
利用颜色的HSV识别不同颜色的垃圾和垃圾桶,机器人在不同的状态下检测是否有垃圾,捡完垃圾后,转动头部寻找垃圾桶,如果前方没有找到垃圾桶就执行转身,寻找身后的垃圾桶。找到垃圾桶后执行丢垃圾动作。


人型机器人视觉处理——垃圾分类
预期效果

一、道具准备
用3个颜色不同的纸团代替不同的垃圾,用蓝色纸团来代替可回收物,绿色纸团来代替厨余垃圾,用红色纸团来代替有害垃圾。
人型机器人视觉处理——垃圾分类
用纸团代替不同类别垃圾

蓝色桶来代替可回收收集容器,绿色桶来代替厨余垃圾收集容器,红色桶来代替有害垃圾收集容器。
人型机器人视觉处理——垃圾分类
用桶代替收集容器

二、程序编辑
1、识别“垃圾”
1)确定颜色顺序,案例中以红、蓝、绿三个顺序依次拾取
人型机器人视觉处理——垃圾分类

2)机器人在站立状态下看到“垃圾”的时候,说明垃圾离机器人较远,机器人可以快走前进。人型机器人视觉处理——垃圾分类
3)站立状态识别不到垃圾,进入微弯腰状态。这个状态下说明机器人离垃圾已经很近,可以用慢走的形式前进。
人型机器人视觉处理——垃圾分类
4)当微弯腰状态已经不能识别垃圾,进入大弯腰状态,这个状态下说明机器人离垃圾已经非常近了,可以执行捡取动作。人型机器人视觉处理——垃圾分类
2、扔垃圾
在拾取垃圾后,机器人面前已经没有垃圾,机器人旋转头部检测,如果前面都没有目标色机器人进行转身,寻找身后的垃圾桶。人型机器人视觉处理——垃圾分类
机器人转身就能识别到目标垃圾桶,因为垃圾桶比较高,所以只做二个级别的检测就可以了,站立检测是否有目标色,然后前进,微弯腰检测目标色。
人型机器人视觉处理——垃圾分类
总程序(蓝色和绿色程序与红色程序相同)人型机器人视觉处理——垃圾分类
这个案例里面除了运用到HSV这个新的识别模块外,还有一个知识点是函数的使用。函数的使用可以使整个程序的可读性更强,程序也更加整洁。
这期的案例实现起来主要要注意动作的设计,还有考虑到不同情况下机器人如何识别到不同的“垃圾”,整体实现起来会有一定的难度。下期我们再继续更新人形机器人中新的颜色识别案例。
参考网站:https://bbs.lejurobot.com/