【开源教程27】疯壳·开源编队无人机-视觉追踪
COCOFLY教程
——疯壳·无人机·系列
视觉追踪
图1
一、cocofly 视觉追踪简介
cocofly 无人机支持视觉追踪,其视觉追踪的功能主要是依托于无人机支架底部的视觉识别模块 OPENMV 实现的,目前已经提供了循线追踪、颜色追踪以及图形码追踪的功能。
二、循线追踪
cocofly 支持循线追踪功能,实现循线追踪的步骤如下。
(1) 检查各个传感器是否正常,例如:光流模块、视觉模块, 如果正常即可打开循线模式:从遥控进入飞控设置打开“8.循线模式”如下图所示:
图2
(2)把飞机放在线上,启动一键起飞后,飞机将会根据线的形状自动判断循线飞行方向,然后自主循线飞行,如果检测不到线,则会自动降落。
自主循线过程中,遇到以下情况之一,飞机会自动停止循线并且自动降落:
a.收到来自遥控器的自动降落命令;
b.走到线的尽头;
c.遇到 T 字路口。
循线地图的线路的形状可以布置成直线、 曲线和直角三者的任意组合, 曲线弯曲半径建议大于 1 米,线宽 2~5 厘米最佳。
在使用循线追踪模式的时候需要满足一下就几个条件:
(1)环境光线良好,地面是白色的,并且有轻微的浅色花纹(建议在浅色的瓷砖地板上使用);
(2)需要跟随的线的颜色要跟地面不一样,差别越大越好(最好是纯黑色);
(3)需要跟随的线周围 1 米内不能有其他物体;
(4)循线高度不可太高,1 米左右最佳。
三、追踪颜色
cocofly 支持跟随追踪颜色功能,但目前只支持追踪黑色,可以在 OPENMV
的源码里面修改代码实现追踪其它颜色,实现跟随追踪颜色功能的步骤如下。
(1) 检查各个传感器是否正常,例如:光流模块、视觉模块, 如果正常即可打开循线模式:从遥控进入飞控设置打开“5.跟随模式”如下图所示:
图3
(2)把飞机放在需要跟随的物体旁边,启动一键起飞后,飞机将会自动跟随白色地面上的黑色物体。
使用 COCOFLY 的视觉跟随模式需要满足以下几个条件:
(1)环境光线良好,地面是纯色的(最好是纯白色,白色瓷砖地板上也可以);
(2)需要跟随的物体颜色要跟地面不一样,差别越大越好;
(3)需要跟随的物体周围半径 1 米内不能有其他物体;
(4)跟随高度不可太高,跟随高度 1 米左右最佳。
四、跟随图形码
cocofly 支持跟随图形码功能,这里我们把特别制作了带有图形码的小车, 用来实现跟随小车的功能。
cocofly 跟随图形码小车功能目前暂时不能通过遥控器实现,需要配合
cocobit 编程板实现。具体实现方式如下表所示:
表1
cocobit 拖拽的代码示例如下:
图4
下载该代码到 cocobit 后,cocobit 就会自动打开蓝牙,使用壳壳板的 app 会自动连接上或者微信小程序会自动搜索出来点击对应的 coocbit 进入二级菜单, 即可;把 cocobit 编程板插到遥控背后的卡槽,开启遥控器电源以及飞控电源, 等待遥控连接上飞控后,按下遥控上的“cocobit 编程模式”按键,直到 cocobit 编程模式指示灯亮起,则进入了 cocobit 编程模式,如下图所示。
图5
在微信小程序下点击蓝牙收发小助手。
图6
在蓝牙小助手内(如下图所示)根据拖拽生成的指令发送对应的数字即可, 这里以追踪 1 号图形码小车为例,为了实现追踪 1 号图形码小车,先把小车打开电源放在飞机前方 20cm 处,需要发送“1”先让飞机起飞,起飞后发送“4” 让飞机追踪 1 号图形码小车,此时可以遥控小车到飞机底下,然后再遥控小车前往其它地方,会发现飞机在跟随着小车飞行;最后再发送“6”,飞机就会降落。
图7
跟随图像码的实验现象如下图所示。
图8
当然以上的指令只是一个示例,实际使用完全可以脱离小程序或者 APP,即不使用其无线功能,例如下图所示指令。
图9
值得注意的是指令下载到 cocobit 内,即使遥控和飞机连接上了而 cocobit 编程板也已经插在了卡槽里,飞机也不会立刻执行这些推拽生成的指令,只有在遥控连接上飞机,且按下了“cocobit 编程模式”按键后,飞机才会执行拖拽的指令。该示例中的现象是飞机会自动起飞然后进入到追踪图像码小车模式。
【开源教程27】疯壳·开源编队无人机-视觉追踪相关推荐
- 【开源教程1】疯壳·开源编队无人机-开机测试
疯壳·COCOFLY教程 --开源编队无人机 开机测试 图1.1 一.开机测试 1.1前期准备 疯壳 cocofly 无人机到手后是一个高耐压防碰撞内置优质海绵泡沫防护的手提铝合金箱子,打开铝合金 ...
- 【快速上手教程1】疯壳·开源编队无人机-开机测试
疯壳·COCOFLY教程 --开源编队无人机 开机测试 图1.1 一.开机测试 1.1前期准备 疯壳 cocofly 无人机到手后是一个高耐压防碰撞内置优质海绵泡沫防护的手提铝合金箱子,打开铝合金 ...
- 【飞控开发基础教程9】疯壳·开源编队无人机-PWM(电机控制)
COCOFLY教程 --疯壳·无人机·系列 PWM(电机控制) 图1 一.PWM 简介 脉冲宽度调制(PWM),是英文"Pulse Wi ...
- 【快速上手教程4】疯壳·开源编队无人机-OPENMV 脚本烧写
COCOFLY教程 --疯壳·无人机·系列 OPENMV 脚本烧写 图1 一.OPENMV 脚本烧写 OPENMV 脚本的烧写比较简单,主要是要借助前面安 ...
- 【飞控开发基础教程10】疯壳·开源编队无人机-PID 基础原理
COCOFLY教程 --疯壳·无人机·系列 PID 基础原理 图1 一.PID 简介 PID 控制是自动控制系统中最常用的一种控制手段,它的诞生主 ...
- 【开源教程29】疯壳·开源编队无人机-编队飞行
COCOFLY教程 --疯壳·无人机·系列 编队飞行 图1 一.编队飞行 COCOFLY 支持编队飞行,编队飞行需要依托编队的图形码地图以及COCOFLY ...
- 【飞控开发高级教程7】疯壳·开源编队无人机-编队飞行
COCOFLY教程 --疯壳·无人机·系列 编队飞行 图1 一.编队飞行 COCOFLY 支持编队飞行,编队飞行需要依托编队的图形码地图以及COCOFLY ...
- 【开源教程13】疯壳·开源编队无人机-SPI(六轴传感器数据获取)
COCOFLY教程 --疯壳·无人机·系列 SPI(六轴传感器数据获取) 图1 一.ICM20602 简介 六轴传感器在当今智能穿戴和定位导航产品 ...
- 【飞控开发基础教程6】疯壳·开源编队无人机-SPI(六轴传感器数据获取)
COCOFLY教程 --疯壳·无人机·系列 SPI(六轴传感器数据获取) 图1 一.ICM20602 简介 六轴传感器在当今智能穿戴和定位导航产品 ...
最新文章
- 简单介绍vue获取token实现token登录的示例代码
- 电视机当计算机屏幕,怎么实现电视机当电脑的显示器和音箱用?
- 钉钉获取免登授权码 php_php代码如何加域名授权?开源php项目如何保护版权 商业授权?...
- MySQL查询表内重复记录
- 教你在Linux下构建主、从域名服务器!
- python网页版_经典python学习教程:20行代码打造一个微信群聊助手,解放双手
- python 输入参数获取_python获取输入参数
- 前端学习(2618):vue插槽--默认插槽
- 前端学习(1328):服务器基础概念
- HDU1042 n!【大数+万进制】
- 数码相机如何当做摄像头(图文并茂版)
- 一个hard lockup的vmcore实例解析
- 基于pyqt5的Demo软件开发
- mysql 通达信公式_通达信的几个好用指标
- SwitchHosts-一款实用的host地址切换工具
- 快递物流配货发货系统学习--以京东物流为例
- 宝塔面板windows建站教程_宝塔面板建站教程
- 奇葩报错之返回值为 -1073741515 (0xc0000135) ‘未找到依赖 dll‘
- 论文阅读笔记|A view-free image stitching network
- CUDA学习笔记(持续更新——蜗速)