所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开

第六节:RobomasterTT空中快递机器人

RobotDanny RobotDanny 2021-01-03 20:39:49
3
0
简单

[1]课程引入和知识原理讲解(Think)

     随着网络购物的快速发展,快递爆仓,自动化无人机快递系统利用无人机替代人工投送快递,旨在实现快递投送的自动化、无人化、信息化,提升快递的投递效率和服务质量,以便缓解快递需求与快递服务能力之间的矛盾。

   我们可以设想在无人机身上设计一个快递箱子,通过颜色识别传感器识别取件码(特定的颜色识别码作为密码),然后控制舵机旋转,投放快递。

projectImage

[2]项目描述和实施步骤(Doing)

(1)器材清单

 (TCS34725颜色传感器+180度微型舵机+RobomasterTT无人机)

①TCS34725全彩颜色识别传感器

projectImage

 TCS34725是一款低成本,高性价比的RGB全彩颜色识别传感器,传感器通过光学感应来识别物体的表面颜色。支持红、绿、蓝(RGB)三基色,支持明光感应,可以输出对应的具体数值,帮助您还原颜色本真。

 为了提高精度,防止周边环境干扰,我们特意在传感器底部添加了一块红外遮光片,最大程度减小了入射光的红外频谱成份,让颜色管理更加准确。板载自带四个高亮LED,可以让传感器在低环境光的情况下依然能够正常使用,实现“补光”的功能。

 模块采用I2C通信,拥有PH2.0和XH2.54(面包板)两种接口,用户可以根据自己的需求来选择接口,更加便利。

 

②180度微型舵机

由DFRobot 出品的DF9GMS 180°微型舵机,该舵机采用高强度ABS透明外壳配以内部高精度尼龙齿轮组,加上精准的控制电路、高档轻量化空心杯电机使该微型舵机的重量只有9克,而输出力矩达到了惊人的1.6kg*cm。

 

projectImage

(2)任务流程

    首先读取颜色传感器的数据,根据颜色的密码(取件码)控制舵机的转动,然后解锁,

投放快递,

projectImage

(3)步骤图片

 RMTT开源控制器读取Color Sensor-TCS34725的数据:

TCS34725是一款低成本,高性价比的RGB全彩颜色识别传感器,传感器通过光学感应来识别物体的表面颜色。支持红、绿、蓝(RGB)三基色,支持明光感应,可以输出对应的具体数值,帮助您还原颜色本真。 为了提高精度,防止周边环境干扰,我们特意在传感器底部添加了一块红外遮光片,最大程度减小了入射光的红外频谱成份,让颜色管理更加准确。

板载自带四个高亮LED,可以让传感器在低环境光的情况下依然能够正常使用,实现“补光”的功能。模块采用I2C通信,拥有PH2.0和XH2.54(面包板)两种接口,用户可以根据自己的需求来选择接口,更加便利。

RMTT开源控制器读取Color Sensor-TCS34725 颜色传感器的电路图:

projectImage

下面我们通过mind+编写程序,在串口打印读取的颜色数据:

①  我们先看一下红色的数据:当颜色传感器靠近红色卡片距离1cm的时候,

R的数据为70±5,G的数据为5±2,B的数据为7±2,

projectImage

②  我们先看一下绿色的数据:当颜色传感器靠近绿色卡片距离1cm的时候,

   R的数据为10±5,G的数据为35±5,B的数据为10±2,

projectImage

③我们先看一下蓝色的数据:当颜色传感器靠近蓝色卡片距离1cm的时候,

   R的数据为1,G的数据为12,B的数据为60±5,

projectImage

 我们可以利用这些RGB的数据来控制RMTT无人机的灯光颜色,

当颜色传感器看见红色的时候,会亮起红灯,看见蓝色的时候会亮起蓝灯,

看见绿色的时候,会亮起绿灯。

通过观察数据,我们发现,

(1)如果传感器看到的颜色为R,输出的数据中一定是R>G并且R>B,

这样我们直接点亮红灯即可。

(2)如果传感器看到的颜色为G,输出的数据中一定是G>R并且G>B,

这样我们直接点亮绿灯即可。

(3)如果传感器看到的颜色为B,输出的数据中一定是B>R并且B>G,

这样我们直接点亮蓝灯即可。

 

下面我们编程进行测试:

projectImage

 1拿起红色的卡片对准颜色传感器,发现RMTT亮起了红灯,

2拿起绿色的卡片对准颜色传感器,发现RMTT亮起了绿灯,

3拿起蓝色的卡片对准颜色传感器,发现RMTT亮起了蓝灯。

实际测试的时候,由于环境因素的干扰,这种逻辑运算的结果在没有给卡片的时候,发现RMTT的灯光也会显示一种颜色。

如何来解决这个问题呢?

刚才我们把红绿蓝的卡片对准颜色传感器,获取了RGB的数据,

1 当看见R红色的时候,R的最小数据是60,

2当看见G绿色的时候,G的最小数据是30,

3当看见B蓝色的时候,B的最小数据是50,否则,表示没有看见对应的颜色:

这时我们可以换一种编程的算法:

1如果R>60,显示红色,否则RGB快闪,

2如果G>30,显示绿色,否则RGB快闪,

3如果B>50,显示蓝色,否则RGB快闪。

projectImage

RMTT空中机器人颜色识别传感器读取颜色卡(取件码)的测试视频:

 现在再次进行测试发现,没有给出颜色卡片的时候,灯光显示红绿快闪,

给出对应颜色卡片的时候,就会显示对应的卡片颜色。

刚才我们实现了用颜色传感器控制RMTT灯光的色彩,现在我们再次增加一个舵机,通过颜色密码来控制舵机的开启与关闭,

为RMTT空中快递机器人的实现做准备:

现在我们来设定一个条件,当给出红色的密码时,就控制舵机旋转到180度,

释放空中快递,否则,舵机旋转到30度,保持快递不动。

projectImage

(4)完整的代码

机械结构和电控结构完成以后,我们需要编写程序,控制TT快递机器人的工作状态,

当快递机器人飞行到目的地的时候,需要使用颜色密码(取件码)来控制无人机释放快递箱。

>

projectImage
projectImage

 第六节空中快递机器人飞行测试视频

 [3]项目拓展

  我们也可以使用mind+的实时模式,编程控制无人机根据挑战卡的ID进行飞行,当飞行到指定的ID地点时,无人机会降低到距离地面50CM的高度并悬停,当颜色传感器识别到指定的颜色密码后,就会释放快递。

projectImage
projectImage

  以下是RobomasterTT空中快递机器人(实时模式下)

自动沿挑战卡飞行的程序:

 

projectImage

RobomasterTT空中快递机器人自动飞行的视频地址为:

 [4]学生能力基础(5-6年级)

Makelog作者原创文章,未经授权禁止转载。
3
0
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
|
[[c.comment_content]]