|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
COCOFLY教程 ——疯壳·无人机·系列 视觉追踪 2 o+ x8 j' Z: g# o% B5 w
9 N5 L$ c2 J5 I9 a6 e/ c' L; {) o, h
9 {3 L7 A5 e I: ~, D( m% i; S/ \: x, Y0 f
' K7 o8 [! I7 V; I
图1
F, q2 d3 N6 X/ @4 G$ p' s# g R6 S% ]
; Y' m: }( O; E; H 一、cocofly 视觉追踪简介: B. ?: l7 \: W L) O" t. @* W
cocofly 无人机支持视觉追踪,其视觉追踪的功能主要是依托于无人机支架底部的视觉识别模块 OPENMV 实现的,目前已经提供了循线追踪、颜色追踪以及图形码追踪的功能。
- a* | j s0 g" I 二、循线追踪
, v7 A- K3 b( v6 z; V; J# Z' z, F" | cocofly 支持循线追踪功能,实现循线追踪的步骤如下。$ s* E+ D- c8 n9 ^2 r6 I1 }
(1) 检查各个传感器是否正常,例如:光流模块、视觉模块, 如果正常即可打开循线模式:从遥控进入飞控设置打开“8.循线模式”如下图所示:1 [& T: ~" ?$ A2 Z# ^4 ?
@; y' U& k6 {, k' X( n" b
2 H3 L# Y# }9 V( D3 F4 Z% U
图2
# j8 v6 I) m4 }+ f* [3 X! n (2)把飞机放在线上,启动一键起飞后,飞机将会根据线的形状自动判断循线飞行方向,然后自主循线飞行,如果检测不到线,则会自动降落。- i5 z! o: t% _$ a9 [+ H8 f
自主循线过程中,遇到以下情况之一,飞机会自动停止循线并且自动降落:
3 H# a( u8 ]4 z5 O3 `5 u a.收到来自遥控器的自动降落命令;
/ D, ]+ k0 Z( ?% @9 _ b.走到线的尽头;
/ s% e6 n3 B5 V* e2 i$ b- L c.遇到 T 字路口。
' \2 \" K* B' _# |! S 循线地图的线路的形状可以布置成直线、 曲线和直角三者的任意组合, 曲线弯曲半径建议大于 1 米,线宽 2~5 厘米最佳。 Z8 P% D5 `. `& Y$ y4 Q* [
在使用循线追踪模式的时候需要满足一下就几个条件:
( I9 l+ l0 B0 i5 ?' v (1)环境光线良好,地面是白色的,并且有轻微的浅色花纹(建议在浅色的瓷砖地板上使用);
0 c5 s1 K: U( t# O% I9 O6 g (2)需要跟随的线的颜色要跟地面不一样,差别越大越好(最好是纯黑色);& z4 J5 }9 r# c2 u) J' Q# n
(3)需要跟随的线周围 1 米内不能有其他物体;& `6 H# y. r' A. l: a
(4)循线高度不可太高,1 米左右最佳。8 o! n- t9 _9 A6 p5 D) r1 O& m5 f* Q
三、追踪颜色
* ?" `: L3 `/ Q* V- K cocofly 支持跟随追踪颜色功能,但目前只支持追踪黑色,可以在 OPENMV H# }& E l- p; ?0 C) C$ l8 o
的源码里面修改代码实现追踪其它颜色,实现跟随追踪颜色功能的步骤如下。8 O: v. a: E5 R
(1) 检查各个传感器是否正常,例如:光流模块、视觉模块, 如果正常即可打开循线模式:从遥控进入飞控设置打开“5.跟随模式”如下图所示:( S: r" K# D/ Z. x1 X
@5 ~6 P3 r( g; m/ j) u/ |
, c. Q" ^3 y* M& K$ {" j- I
图3: z z9 @- F( p) V
(2)把飞机放在需要跟随的物体旁边,启动一键起飞后,飞机将会自动跟随白色地面上的黑色物体。) m4 t2 i& X! t- M% L, o$ C
使用 COCOFLY 的视觉跟随模式需要满足以下几个条件:/ v8 q( @) x( M4 E/ y$ o( A
(1)环境光线良好,地面是纯色的(最好是纯白色,白色瓷砖地板上也可以);$ z8 y {2 D: i9 n5 E
(2)需要跟随的物体颜色要跟地面不一样,差别越大越好;
8 {1 {9 t# _$ q" g3 j* Q (3)需要跟随的物体周围半径 1 米内不能有其他物体;4 E0 }( n$ t8 S! E1 d7 w! N
(4)跟随高度不可太高,跟随高度 1 米左右最佳。
d$ {! B6 v. N: v/ n: p9 i- F 四、跟随图形码
8 \! ?- `1 M! k5 {# P cocofly 支持跟随图形码功能,这里我们把特别制作了带有图形码的小车, 用来实现跟随小车的功能。9 u U, l3 y: G
cocofly 跟随图形码小车功能目前暂时不能通过遥控器实现,需要配合& r/ i! w( T2 e1 M
cocobit 编程板实现。具体实现方式如下表所示:7 F+ J# M/ k P1 ]- H' y h
" C) Y+ ] T7 l
5 r4 n" l1 R1 _/ A8 b1 ` 表1
. a; a, V! ]' B' ]$ q! {% V cocobit 拖拽的代码示例如下:
. W* a' e/ \+ U) Y0 }2 H' N& s7 p
$ U9 \( O# b( G* N) V0 `5 Q
5 u8 U& }/ i5 C$ }; `/ q. A5 }
图4: ]0 T$ ~9 f' G9 s
下载该代码到 cocobit 后,cocobit 就会自动打开蓝牙,使用壳壳板的 app 会自动连接上或者微信小程序会自动搜索出来点击对应的 coocbit 进入二级菜单, 即可;把 cocobit 编程板插到遥控背后的卡槽,开启遥控器电源以及飞控电源, 等待遥控连接上飞控后,按下遥控上的“cocobit 编程模式”按键,直到 cocobit 编程模式指示灯亮起,则进入了 cocobit 编程模式,如下图所示。) t5 l" C8 C. R( C0 v" ` x( Y& T
% z5 }) B7 a8 N6 ~7 `
1 T4 p6 b" l3 L 图56 z. ]/ {! \% f9 t+ F
在微信小程序下点击蓝牙收发小助手。
* {% I' V! \! p8 d) _0 e
+ g6 u, C9 I; O
. ~3 `* K$ _: Q5 e! i. R2 L2 A; T8 K 图6$ J( a$ U4 c* D1 Z! s
在蓝牙小助手内(如下图所示)根据拖拽生成的指令发送对应的数字即可, 这里以追踪 1 号图形码小车为例,为了实现追踪 1 号图形码小车,先把小车打开电源放在飞机前方 20cm 处,需要发送“1”先让飞机起飞,起飞后发送“4” 让飞机追踪 1 号图形码小车,此时可以遥控小车到飞机底下,然后再遥控小车前往其它地方,会发现飞机在跟随着小车飞行;最后再发送“6”,飞机就会降落。3 W) V1 O; h, S) Y0 s+ {0 U
9 T) ~7 x& V! L3 D! v6 B, q) \) t" L
. R7 a* L1 U, i8 t7 d; ^- f9 c0 J" w 图7- c8 b1 t) {! w/ J, o, v: Y! h0 I& O
, s) O, S9 d0 P; c H. Y7 ]
跟随图像码的实验现象如下图所示。
* {& s$ S' \; _; ^
- v7 I* B8 S) F' E! b7 [- u# B
3 C6 Z- s2 q7 _; u, ~5 h
图8! L/ K3 U9 V- T
当然以上的指令只是一个示例,实际使用完全可以脱离小程序或者 APP,即不使用其无线功能,例如下图所示指令。
# D2 U+ e( D' W: Z& l( E
) `& h: H8 `! N9 n/ ?
# |8 z1 ~- t( E) X2 y1 j
图9( k3 I C! r3 h# V2 Z4 V$ [; O) h
值得注意的是指令下载到 cocobit 内,即使遥控和飞机连接上了而 cocobit 编程板也已经插在了卡槽里,飞机也不会立刻执行这些推拽生成的指令,只有在遥控连接上飞机,且按下了“cocobit 编程模式”按键后,飞机才会执行拖拽的指令。该示例中的现象是飞机会自动起飞然后进入到追踪图像码小车模式。
2 h6 C# s* G/ e7 c3 n# A% C# L6 K# }, X2 ?
3 O n' e( B0 `+ w
/ S- v* `' X0 \5 L* c" d9 H! i7 E7 b
6 ~! J+ P; s9 o0 r! C" R$ b+ _1 ?( f* j! R$ p n' K# ?
. R; [# n+ r/ j1 [3 _
: k8 m' B. f% c7 o4 z! f, {& {
0 ?% |3 |/ n% d# \ 文件下载请点击:
【5】视觉追踪.pdf
(442.06 KB, 下载次数: 2)
0 O( I4 {( U) R+ d1 Y3 O9 r b" e( \# o7 ?7 e+ }
. s; ~) ~, O3 C$ j; a5 T
|
|