|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
COCOFLY教程 ——疯壳·无人机·系列 视觉追踪
8 n2 C P: {% A) K) P7 e0 D* B8 o
/ ~* y0 A* H, D+ O% X! h
1 y1 A4 i1 p' g+ f, G$ Q, M
, Q/ [# u, j( l5 j 图19 h9 `0 E1 \8 U/ {* T3 f
5 ?6 n3 ~% J, V( _2 ]
5 w, r& T" L3 n 一、cocofly 视觉追踪简介
* j" k$ B3 ~) `9 b) l1 Z" U cocofly 无人机支持视觉追踪,其视觉追踪的功能主要是依托于无人机支架底部的视觉识别模块 OPENMV 实现的,目前已经提供了循线追踪、颜色追踪以及图形码追踪的功能。2 b1 A0 R/ I; r6 l5 l
二、循线追踪
5 V, h7 C: V a7 v' o cocofly 支持循线追踪功能,实现循线追踪的步骤如下。% s$ D( k' c6 k, ?9 p
(1) 检查各个传感器是否正常,例如:光流模块、视觉模块, 如果正常即可打开循线模式:从遥控进入飞控设置打开“8.循线模式”如下图所示:
. A" }( \+ u! \, o+ e7 ~# j- e( u% c& c* V% }: @2 x
+ n# L5 T( _% O* R% ]5 d9 C 图2; F8 v" d* t4 [, ]0 ~
(2)把飞机放在线上,启动一键起飞后,飞机将会根据线的形状自动判断循线飞行方向,然后自主循线飞行,如果检测不到线,则会自动降落。0 \, g' i7 m& e# D6 m+ Z2 h
自主循线过程中,遇到以下情况之一,飞机会自动停止循线并且自动降落:4 O8 k$ ?8 J i
a.收到来自遥控器的自动降落命令;
A- f' j f8 t: g. T& k' r b.走到线的尽头;1 I6 P. ~4 \, ~- ~. l
c.遇到 T 字路口。/ _4 q+ L& ~9 Q% V1 ^1 H
循线地图的线路的形状可以布置成直线、 曲线和直角三者的任意组合, 曲线弯曲半径建议大于 1 米,线宽 2~5 厘米最佳。0 a) E" T. W# x `. Q3 w; `# J
在使用循线追踪模式的时候需要满足一下就几个条件:
3 |9 N+ t! P5 T) H: y/ {# z" n0 g6 e) e (1)环境光线良好,地面是白色的,并且有轻微的浅色花纹(建议在浅色的瓷砖地板上使用);
( v% M! U& n7 }5 ]( y+ u (2)需要跟随的线的颜色要跟地面不一样,差别越大越好(最好是纯黑色);! j; Q- e, ?2 Z. x+ D- ^3 M' I
(3)需要跟随的线周围 1 米内不能有其他物体;
- g8 k7 p: d( Q9 d* Q, s( X2 C (4)循线高度不可太高,1 米左右最佳。
, H& l1 N# }7 t6 x+ o 三、追踪颜色
6 }) k8 t1 q" E( } l cocofly 支持跟随追踪颜色功能,但目前只支持追踪黑色,可以在 OPENMV
& K" b3 f( o3 n 的源码里面修改代码实现追踪其它颜色,实现跟随追踪颜色功能的步骤如下。
& G3 H( w6 Z3 Q7 O- w7 D (1) 检查各个传感器是否正常,例如:光流模块、视觉模块, 如果正常即可打开循线模式:从遥控进入飞控设置打开“5.跟随模式”如下图所示:2 Y! J) b/ N) `. P6 f' m
! C1 \" \2 l0 ^; B4 N" O# Q
5 W2 N U( g( C4 _8 b/ }- b, _ 图3. \& Z! M( d# q7 S. O9 a
(2)把飞机放在需要跟随的物体旁边,启动一键起飞后,飞机将会自动跟随白色地面上的黑色物体。$ [4 p$ Y M0 R( w" m) A
使用 COCOFLY 的视觉跟随模式需要满足以下几个条件:6 K; @" R3 Q1 A' \3 o# m
(1)环境光线良好,地面是纯色的(最好是纯白色,白色瓷砖地板上也可以);' V: e p A% i! k2 D" q0 ]
(2)需要跟随的物体颜色要跟地面不一样,差别越大越好;; i5 K, ]8 d9 d+ Y
(3)需要跟随的物体周围半径 1 米内不能有其他物体;
9 o' H: Y9 t a4 A$ X# P" e (4)跟随高度不可太高,跟随高度 1 米左右最佳。/ H' x& J% t* m k
四、跟随图形码( N: z# ?& W! l; ]% ?2 e w8 r
cocofly 支持跟随图形码功能,这里我们把特别制作了带有图形码的小车, 用来实现跟随小车的功能。1 y* f4 e/ S) F% y: g7 G& X
cocofly 跟随图形码小车功能目前暂时不能通过遥控器实现,需要配合
: W2 m9 U# L$ o: T) d cocobit 编程板实现。具体实现方式如下表所示:* T- j2 ]* y8 ^- ^- b% A/ p1 ?
- B! ?4 a9 _$ N9 M$ Y1 K! c% H8 f
7 `# ]5 J& z" W% ] 表16 t# H4 ]3 z4 g- Q5 V" S( R
cocobit 拖拽的代码示例如下:6 k/ w% u' X4 K1 D, {" I6 Q$ \
9 C9 V4 E% D6 l- R% d3 Z. v+ Y
+ o+ A+ H) B- { 图44 D$ d7 A% z9 r# Z# n, U
下载该代码到 cocobit 后,cocobit 就会自动打开蓝牙,使用壳壳板的 app 会自动连接上或者微信小程序会自动搜索出来点击对应的 coocbit 进入二级菜单, 即可;把 cocobit 编程板插到遥控背后的卡槽,开启遥控器电源以及飞控电源, 等待遥控连接上飞控后,按下遥控上的“cocobit 编程模式”按键,直到 cocobit 编程模式指示灯亮起,则进入了 cocobit 编程模式,如下图所示。: Z! \( v; J$ q- Y- e5 V
1 u' N c3 {/ ~' b2 f7 a) t
$ I7 A8 {# ^( I
图5
. o5 ]2 r, @: W- g% n5 G 在微信小程序下点击蓝牙收发小助手。
& U9 u- O) W6 \$ ]) U5 h, z; G
% y2 B/ v. Q5 q2 N- N' c2 p# S$ r
5 e: t! G# D* f6 ?) f% o 图6" T9 w( T2 A9 E5 j% Z
在蓝牙小助手内(如下图所示)根据拖拽生成的指令发送对应的数字即可, 这里以追踪 1 号图形码小车为例,为了实现追踪 1 号图形码小车,先把小车打开电源放在飞机前方 20cm 处,需要发送“1”先让飞机起飞,起飞后发送“4” 让飞机追踪 1 号图形码小车,此时可以遥控小车到飞机底下,然后再遥控小车前往其它地方,会发现飞机在跟随着小车飞行;最后再发送“6”,飞机就会降落。! [0 d, P0 a1 o: U5 `' |! i
; ^' c5 F$ x2 I
4 E5 }, g5 @* L! e
图7
f& s* ^/ c3 J2 H2 `- _% B. R: Z' |0 k
跟随图像码的实验现象如下图所示。
- k2 g. Q/ v# f4 _( W( {, ^# v& }9 g9 H2 T" H
+ c7 D. \, U2 P) _( A, p/ L
图8, [2 l) g8 c, i: W+ }3 y
当然以上的指令只是一个示例,实际使用完全可以脱离小程序或者 APP,即不使用其无线功能,例如下图所示指令。) u) t2 P- S4 z. R8 h. ^: J& J- f* a
7 ^7 C6 V5 {1 z. r
/ L2 N' P6 J' a# }
图92 U' X# `1 d* w
值得注意的是指令下载到 cocobit 内,即使遥控和飞机连接上了而 cocobit 编程板也已经插在了卡槽里,飞机也不会立刻执行这些推拽生成的指令,只有在遥控连接上飞机,且按下了“cocobit 编程模式”按键后,飞机才会执行拖拽的指令。该示例中的现象是飞机会自动起飞然后进入到追踪图像码小车模式。
. P# q1 S: p8 l0 j- U% [9 `2 ?
1 i' G: Y& E& W8 W- T4 |4 N$ T+ w, U9 L% B l+ d2 ~" t$ ~$ z
* i* j3 o( M3 v/ u9 q+ A
0 c5 b% F+ l3 e+ s$ a9 t7 s: v+ L) f$ l+ j* h
7 G' X$ ]1 n- c! W+ ~: H N; z. H T: `5 U7 r2 b+ ~
9 s6 A3 O) }' Z4 n 文件下载请点击:
【5】视觉追踪.pdf
(442.06 KB, 下载次数: 2)
& l% l2 u% V. J9 D9 S6 I3 |1 ?! h1 P/ d) v% M& Z2 a
, d) a/ M% L4 H u3 b |
|