|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
COCOFLY教程 ——疯壳·无人机·系列 视觉追踪
! h0 S% z' I! y% \' M- T4 H* b6 J) @* F6 O+ m4 h; Z0 i3 E
" H F3 _+ J; a3 W3 i8 g2 F! ~
8 q4 g/ Y5 J% _) F8 H0 C
) b! b) t/ G1 {9 }' l5 [1 \
图1 D5 ^% H' Z2 p4 {9 m
3 G8 @& W/ m. r7 t$ ?7 c, I. D& C/ {% c" q3 A4 [
一、cocofly 视觉追踪简介
1 y5 X) x6 {* ~2 R9 F cocofly 无人机支持视觉追踪,其视觉追踪的功能主要是依托于无人机支架底部的视觉识别模块 OPENMV 实现的,目前已经提供了循线追踪、颜色追踪以及图形码追踪的功能。
i" ~( B$ ^0 ~/ b 二、循线追踪
) t& }. l- Z- j) R+ G cocofly 支持循线追踪功能,实现循线追踪的步骤如下。' f0 Y) M% R5 T% f4 s
(1) 检查各个传感器是否正常,例如:光流模块、视觉模块, 如果正常即可打开循线模式:从遥控进入飞控设置打开“8.循线模式”如下图所示:
* z$ m( w& P+ Y% P: A
# B! |, K$ _# F* c9 E
r1 s; D5 E* F) [
图2
; x5 m' l( P2 V1 U, A( [ c4 M (2)把飞机放在线上,启动一键起飞后,飞机将会根据线的形状自动判断循线飞行方向,然后自主循线飞行,如果检测不到线,则会自动降落。- ^( p/ G4 B6 ^
自主循线过程中,遇到以下情况之一,飞机会自动停止循线并且自动降落:
: x: y' ~# O/ j& t2 b3 ?( g a.收到来自遥控器的自动降落命令; 4 W# V' L: |# S& X! S: o$ L, {/ { ^; j
b.走到线的尽头;; s; \3 H- T8 z" ]: X1 y8 v$ }+ C
c.遇到 T 字路口。
( Y7 p' g1 E1 z2 P 循线地图的线路的形状可以布置成直线、 曲线和直角三者的任意组合, 曲线弯曲半径建议大于 1 米,线宽 2~5 厘米最佳。! |8 [) Y F5 p2 S: b& V% L
在使用循线追踪模式的时候需要满足一下就几个条件:3 ~8 K3 a" y6 Z; T0 [0 _. e- Q
(1)环境光线良好,地面是白色的,并且有轻微的浅色花纹(建议在浅色的瓷砖地板上使用);
) y6 r3 K$ b/ X1 F; h9 v' q* i5 Z (2)需要跟随的线的颜色要跟地面不一样,差别越大越好(最好是纯黑色);' f! @: C1 e; d9 K( m4 r
(3)需要跟随的线周围 1 米内不能有其他物体;4 p5 j4 D. ^' @ _- r: \ R0 |
(4)循线高度不可太高,1 米左右最佳。# d! }& M) C5 {# H5 ]
三、追踪颜色
4 q. F, c/ K# {$ {5 U cocofly 支持跟随追踪颜色功能,但目前只支持追踪黑色,可以在 OPENMV1 Y9 ^/ a7 ^8 V* q! v) m9 S
的源码里面修改代码实现追踪其它颜色,实现跟随追踪颜色功能的步骤如下。
( _ B4 t4 f/ {; S* H) o8 B* l (1) 检查各个传感器是否正常,例如:光流模块、视觉模块, 如果正常即可打开循线模式:从遥控进入飞控设置打开“5.跟随模式”如下图所示:
8 I/ A! ~# R" x, v3 g1 a: q( w2 ]* B' Z3 M |+ K
4 E1 c7 ]& g2 A# V 图3
$ B6 h0 _1 b' @8 U# S; ~; w (2)把飞机放在需要跟随的物体旁边,启动一键起飞后,飞机将会自动跟随白色地面上的黑色物体。6 }8 e6 } x' _4 F2 i
使用 COCOFLY 的视觉跟随模式需要满足以下几个条件:
- t! X; R( c3 x& m9 a (1)环境光线良好,地面是纯色的(最好是纯白色,白色瓷砖地板上也可以);+ E+ c9 z9 k k1 ?( O Z* K
(2)需要跟随的物体颜色要跟地面不一样,差别越大越好;
% g: _. s4 Y+ v2 K9 B( I: E% F- Z2 ~ (3)需要跟随的物体周围半径 1 米内不能有其他物体;
2 ]% b# `& S0 ]4 o! w8 ^6 R (4)跟随高度不可太高,跟随高度 1 米左右最佳。5 B7 R9 [1 T$ }" }! b3 O6 l& p" d
四、跟随图形码
2 Q. [) @) x/ t! Q5 q; e L cocofly 支持跟随图形码功能,这里我们把特别制作了带有图形码的小车, 用来实现跟随小车的功能。
' k0 s0 M/ C& y: X! n, G cocofly 跟随图形码小车功能目前暂时不能通过遥控器实现,需要配合' U- Y8 T; @0 A
cocobit 编程板实现。具体实现方式如下表所示:! A) P, Q8 C; \+ z8 g; U
: {1 b5 U" o" B
( W6 r) Z1 b% |0 i5 r6 p 表1- X- z7 ? V5 H6 n
cocobit 拖拽的代码示例如下:
: c9 [, j% j8 i5 r
; E& q: r0 g) F. B, y9 g- ^: Z
7 O2 B# B0 q( \ K# A0 ]
图4
8 V, ], [) p; P8 ?# }' \& S 下载该代码到 cocobit 后,cocobit 就会自动打开蓝牙,使用壳壳板的 app 会自动连接上或者微信小程序会自动搜索出来点击对应的 coocbit 进入二级菜单, 即可;把 cocobit 编程板插到遥控背后的卡槽,开启遥控器电源以及飞控电源, 等待遥控连接上飞控后,按下遥控上的“cocobit 编程模式”按键,直到 cocobit 编程模式指示灯亮起,则进入了 cocobit 编程模式,如下图所示。9 C' p* Q( M0 l9 ?
" Q. U) U' ^1 @/ J* {. _
! s S+ h3 V$ w* B5 P 图5
* \2 t( m2 E7 l% F% ^ 在微信小程序下点击蓝牙收发小助手。
; T, W/ j) ^: Y, Z" X' w- l( L! Q$ e3 c
& U3 d" Z. d8 x# R
图62 X r: o! F) H% ^; T/ U
在蓝牙小助手内(如下图所示)根据拖拽生成的指令发送对应的数字即可, 这里以追踪 1 号图形码小车为例,为了实现追踪 1 号图形码小车,先把小车打开电源放在飞机前方 20cm 处,需要发送“1”先让飞机起飞,起飞后发送“4” 让飞机追踪 1 号图形码小车,此时可以遥控小车到飞机底下,然后再遥控小车前往其它地方,会发现飞机在跟随着小车飞行;最后再发送“6”,飞机就会降落。
3 a# L( ~6 X3 p+ G- o& L5 Y; S q& |3 G. P- M
2 n: \8 I, A1 ]% O
图7. T. n8 R Q" u, j7 ]. e2 M9 j! ?
# W& r( G' H+ D) E
跟随图像码的实验现象如下图所示。* O! {& [$ d& H+ w" Q7 N H' D
- V0 L1 v# \! @4 C
& y3 @; A( `- b& x
图8
z5 b- L8 U# M8 E0 ] 当然以上的指令只是一个示例,实际使用完全可以脱离小程序或者 APP,即不使用其无线功能,例如下图所示指令。& M/ `+ `3 f" ? k/ p
' J+ n& f/ a, _/ {
5 z; g. H4 g' T9 @+ I# J 图9
. v8 X1 G- d4 G) P: s 值得注意的是指令下载到 cocobit 内,即使遥控和飞机连接上了而 cocobit 编程板也已经插在了卡槽里,飞机也不会立刻执行这些推拽生成的指令,只有在遥控连接上飞机,且按下了“cocobit 编程模式”按键后,飞机才会执行拖拽的指令。该示例中的现象是飞机会自动起飞然后进入到追踪图像码小车模式。6 s- W* ~5 }& B% ~) | q
N2 \; y( L) D7 G
+ k' O6 C3 N) x- u3 i: u& B2 G! p" ~) _( |
' _4 e+ m l7 c, M" L# g
2 q3 n' Q+ E3 Q; x: U, y$ k6 F' z% c; D
0 _ y7 }# W) i7 W1 o
) M9 _! {& z' k5 w1 n 文件下载请点击:
【5】视觉追踪.pdf
(442.06 KB, 下载次数: 2)
, W# F2 p; u) i3 h7 r- E5 n. x1 q
, c/ g1 J( F% A1 l- p, j$ R( c: Q9 ~4 i. q4 m1 d
|
|