2011 Future University Hakodate 2011 System Information Science Practice Group Report Project Name Applied Embedded System Group Name Radio-controlled model helicopter Group /Project No. 15-B /Project Leader b1009030 Mayuki Komaki /Group Leader b1009066 Yoshitaka Ono /Group Member b1009066 Yoshitaka Ono b1009020 Humiya Yokoi b1009070 Tatsuya Kon b1009081 Koutarou Yoshida Advisor Takeshi Nagasaki assaociate professor 2012 1 18 Date of Submission Janualy 18, 2012 Hideki Sato professor
,,,,.,,,, : - i -
Abstract We developed an automous control program of radio-controlled helicopter, which contains image processing program for detecting a destination, a communication program to connect a host computer and a radio-controlled helicopter, a physical model of a radio-controlled helicoputer based on nonlinear multivariate analysis, and an automous control program using simple optimal control. Keyword radio-controlled helicopter, image processing, autonomous control, nonlinear multivariate analysis, simple optimal control : - ii -
1 1 1.1.................................... 1 1.2...................................... 1 2 3 2.1............................ 3 2.1.1.............. 3 2.2.............................. 3 2.2.1.............................. 3 2.2.2.................................... 4 2.2.3............................. 4 2.2.4.......................... 5 2.2.5............................. 5 2.2.6....................... 5 2.2.7.................. 6 2.2.8........................... 6 2.2.9....................... 7 2.2.10........................ 7 2.2.11.......................... 8 2.2.12......................... 8 2.3....................................... 9 2.3.1........................ 9 2.3.2................................. 10 2.3.3.............................. 10 2.3.4............................... 11 2.3.5.............................. 11 2.3.6............................. 13 2.3.7.................................... 16 2.3.8....................... 16 2.3.9..................... 17 2.4.............................. 18 2.4.1........................... 18 2.4.2.......................... 19 2.4.3............................. 20 2.4.4.......................... 20 2.4.5................................. 21 2.4.6................................. 21 2.5............................... 22 - iii -
2.5.1....................... 22 2.5.2.................. 23 2.5.3....................... 24 3 27 3.1.............................. 27 4 37 4.1..................................... 37 4.1.1................................... 37 4.1.2................................... 38 4.1.3..................................... 39 4.1.4.................................. 40 5 41 5.1................................. 41 5.2...................................... 42 5.3................................. 42 5.3.1................................... 43 5.3.2................................... 43 5.3.3..................................... 44 5.3.4.................................. 45 6 47 A 49 B 51 53 - iv -
1,. UFO.,.,,.,.,.,,,,. : 1.1,,,., AR.Drone.,,., iphone, iphone.,,.,. : 1.2,.,.,,,. 2.,,., iphone,,,,,,. iphone,,.,.,,,. Group Report of 2011 SISP - 1 - Group Number 15-B
,,,.,,,.,.,.,.. : Group Report of 2011 SISP - 2 - Group Number 15-B
2 2.1. 3. 1. 2. 3..,. OpenCV, C, C++,,,,,.. : 2.1.1, 1.,.,.,,. : 2.2 2.2.1,,, 4. 3. (1). (2). (3),,. Parrot AR.Drone. 2.1 AR Drone. AR.Drone, (1), AR.Drone Parrot,,. (2), 23 5 299, 3. (3), Group Report of 2011 SISP - 3 - Group Number 15-B
AR.Drone,. (4), 300g. : 2.1 2.2.2. OS windows Vista 32bit. Microsoft Visual C++ 2008 Express Edition. AR.Drone SDK 1.5 version. OpenCV 1.1 pre. Wi-Fi : IEEE 802.11b/g. : 2.2.3,,,, AR.Drone,. 18km/h 6m. 15W 3500rpm. AR.Drone. 90 12.,,.,. 93 640 480. 64 176 144.,., 6m 20cm. 3, 2, 1. Group Report of 2011 SISP - 4 - Group Number 15-B
: 2.2.4. 5. (1),. (2), Microsoft Visual C++ 2008 Express edition. (3),, 4. (4),. (5), Microsoft Visual C++ 2008 Express edition. OS, Windows Vista 32bit., OS., OS., OS,. : 2.2.5 3.... 2..,.. : 2.2.6..,,,. ON OFF..,,.,., ON, OFF., 1 2,. C++, C. : Group Report of 2011 SISP - 5 - Group Number 15-B
2.2.7 AR.Drone open API platform[3]. 3. 3, 2, 1..,., 2.2. switch 2.3. switch 2.3,..,. : 2.2 2.3 switch 2.2.8 DirectX.,.,., OpenCV., DirectX OpenCV. [6]. 6., DirectX OpenCV., 2.4. OpenCV. : Group Report of 2011 SISP - 6 - Group Number 15-B
2.4 2.2.9 DirectX., OpenCV., OpenCV. DirectX OpenCV., OpenCV,., DirectX OpenCV.,., OpenCV DirectX.,, 1 2,. C++, C, OpenCV. : 2.2.10..,,, 2 4.,,.,.,..,,,.,..,, Group Report of 2011 SISP - 7 - Group Number 15-B
1 2,. C++, C, OpenCV. : 2.2.11,..,,, 2. 2,,,., 1 2,. C++, C. : 2.2.12 2.5., 2.6. 2.5. checksum failed.,.,.,.., 2.3 switch. ((uint8 t ) navdata option ptr) + (navdata option ptr->size)., 2.6. : Group Report of 2011 SISP - 8 - Group Number 15-B
2.5 2.6 2.3 2.3.1,..,.,, 1.., Group Report of 2011 SISP - 9 - Group Number 15-B
,.,,..,. C++, C, OpenCV. : 2.3.2.. 0.,. X, Y, X Y.,,.,.,, 1 2,. C++, C, OpenCV. : 2.3.3,.,.,.,,..,,...,.,, web.,., web,.,, 1 2,. C++, C, OpenCV. : Group Report of 2011 SISP - 10 - Group Number 15-B
2.3.4,, 3,..,,,,, 5., 2. 2 2, 1 0..,.,.,.. 2.7.,, 1 2,. C++, C, OpenCV. : 2.7 2.3.5,.,, H 3., 2. 1.. 2..,.., 8 Group Report of 2011 SISP - 11 - Group Number 15-B
Applied Embedded System いためである. グレースケール化した画像から円形が検出されるが, その際, 値は円の半径と中心点 の 2 次元座標 XY としてエンコードされる. 検出した円は元の画像に円と中心点の 2 つを描写す る (図 2.8). 検出は円として認識した部分はすべて描写するため初期状態では多量で大小様々な円 形が検出される (図 2.9). 多量の誤認識を防ぐために検出する円形の最大半径と最小半径を設定し て明らかに違う円形を除外する. しかしこの方法にも限界があり, 近似の円形は誤認識してしまう. 図 2.10 は実際に使用したプログラムの例である. この課題に関係する講義は, 画像工学, プログラ ミング演習 1 2, 情報アーキテクチャ演習の講義である. また C++ 言語, C 言語, OpenCV ライ ブラリの技術が必要である. 文責: 今 竜也 図 2.8 成功例 図 2.9 失敗例 Group Report of 2011 SISP - 12 - Group Number 15-B
2.10 2.3.6 2.3.4 2.3.5. 1, 2., 1 0,., 2,. 2.11 2.12. 2.11 Group Report of 2011 SISP - 13 - Group Number 15-B
2.12 2. 2,. 2. 2. 2.14 2.15. 2.15..,........,, ( 2.13)..,...,,,,. 2.16 4.. 2.,, 1 2,. C++, C, OpenCV Group Report of 2011 SISP - 14 - Group Number 15-B
. : 2.13 2.14 Group Report of 2011 SISP - 15 - Group Number 15-B
2.15 2.16 2.3.7..,.,....,, 1 2,. C++, C, OpenCV. : 2.3.8, OpenCV web. OpenCV., web Group Report of 2011 SISP - 16 - Group Number 15-B
,, OpenCV web.,,.,.,. 2.17.,, 1 2,. C++, C, OpenCV. : 2.17 2.3.9 2. 2 2. 1..,. 2. 2.,.., Group Report of 2011 SISP - 17 - Group Number 15-B
, 1 2,. C++, C, OpenCV. : 2.4 2.4.1 2.18, 2.19, 2.20. c, inv a., a,b..,.,.,,.,.,. 2., 2 2. for.,,. a. for. 2.19 3. c a b. BlueSky lab[8]. inv a.,.,,. : 2.18 2.19 Group Report of 2011 SISP - 18 - Group Number 15-B
2.20 2.4.2,,.,.,. COVxx COV xx 1,. (9) (3), (4),. (9) (10), Group Report of 2011 SISP - 19 - Group Number 15-B
. t.,, C,.,., for, x., x,.,,,.,, x 18,.,., x., 1 2,. C++, C. : 2.4.3,,., 10 x B, b0. (11) z 10, 10 x z.. 10 x B, b0, (11) z.,.,..., 1 2,. C++, C. : 2.4.4,. x (5), (2) z,.,,., 3.0cm.,,., Group Report of 2011 SISP - 20 - Group Number 15-B
1 2,. C++, C. : 2.21 2.4.5, x.,. 6, 7.5cm, 18, 4cm.,,,., 18.,., 0.,. C++, C. : 2.4.6. PID. PID,,,., ON/OFF. ON/OFF Bang-Bang Group Report of 2011 SISP - 21 - Group Number 15-B
. Bang-Bang,, ON/OFF.,. 20, 25.,.,., t. t+1,.. 4., t+1, 3 4. 5.,. : 2.5.,.,,,.. 100.,,., 1 2,. C++, C. : 2.5.1,.,.., Windows API,., old time. new time., new time old time, time. if... 5, 10. 15. 16, 17. 18, 23. 24 Group Report of 2011 SISP - 22 - Group Number 15-B
.,.,,.,,.. : 2.5.2, web. web.,.,,, 4,.. (1),. (2),. (3),. (4), (3),.,. (5),. (6), (3).,. (7),, (2). (8),,.. 2.22. xx yy. pitch roll. copy altitude. ardrone tool set ui pad start().. (1).,. (2). xx, 10,, roll -0.06f., -10, roll +0.06f. (3). (2), yy, 10, pitch -0.06f., -10 pitch +0.06f. (4). copy altitude,. (5). (2) (3), (4),. (2) (3) xx yy 10, 600. Group Report of 2011 SISP - 23 - Group Number 15-B
ardrone tool set ui pad start() 0..,,,,.,, 1 2,. C++, C, OpenCV. : 2.22 2.5.3,., 9, 81.,, Group Report of 2011 SISP - 24 - Group Number 15-B
. 0.4., (6), (1),. 9 2,. 9, (6) 9. (1),. 81 2,. 81 0.8. 11. (1),. (2),. (3),. (4),. (5),. (6), (5) 0.8. (7), (9).. (8),. (9),. (10),. (11),., (1). (1) (2). (2) (3). (3) (4) (5). (5) (6), (7). (8) (9). (8) (9) (10). (10) (8) (9). (10) (11)., 1 2,. C++, C. : Group Report of 2011 SISP - 25 - Group Number 15-B
3 3.1 1.,..,,.,,,. : 2.,.,,.,,.,,.. : 3.,,..,,. [16], 4. TBS.. [15] Parrot AR.Drone, 4.,... windows, ios, LINUX,. Web, iphone windowspc. [7] Web Processing,., Kinect. Kinect, Kinect., Group Report of 2011 SISP - 27 - Group Number 15-B
, Web.,. [17]. [11] : 4..,.,. Microsoft Visual C++ 2008 Express edition (VC++2008). Microsoft Windows SDK Microsoft DirectX SDK. VC++2008 2., SDL-devel-1.2.14-VC8.zip., VC++2008.. ArDrone properties.vsprops, 2 Value., OpenCV. VC++2008.,.,,. : 5. C++ C++.. 3. 1. C., C++. 2.. 3. C C++. : 6. OpenCV OpenCV. OpenCV. OpenCV C, C++, Python. OpenCV Image Processing, Structural Analysis, Motion Analysis and Object Tracking, Pattern Recognition, Camera Calibration and 3D Reconstruction, Machine learning, Group Report of 2011 SISP - 28 - Group Number 15-B
User Interface.,.,,,,,. : 7...,..., 2.,.,,.,,., AR.Drone open API platform[3].,., checksum failed.. : 8., C/C++.,,.,.,,..,,, 4. 4 1-1 3.. 1. 0. : 9.. 3. (1),. (2),. (3),. 1, 0.3. Group Report of 2011 SISP - 29 - Group Number 15-B
.,,. 2,.,.,,.,.,.,. 3.... : 10..,,..,. 200.,.,. 100.,,. : 11., x, 3.1.,. x 6. 3.6cm, 6.9cm. x 10. Group Report of 2011 SISP - 30 - Group Number 15-B
3.5cm, 3.8cm. x 14. 18, 3.7cm, 6.9cm, 2.6cm, 2.8cm. 3.1 : 12. 3.2.,,,.,,. : Group Report of 2011 SISP - 31 - Group Number 15-B
3.2 13..,,.,.,,,,. : 14... 0.25m 10m.. 0m,., 1m, 2m, 3m, 6m 4, 0m, 1, 1 10.,, 160.,.,., 0.25m 4m.. 0m,., 0m 4m 5 1., 2.,. : 15. Group Report of 2011 SISP - 32 - Group Number 15-B
2 2. 4 0.12 m. 1 1. 1. 2 12 0.36 m. 1 1. 1., 2. 3.1, 3.2. 3.1-0.06, 0.06. 3.2-0.06, 0.06. : 3.1 1 2 3 4 5 (m) (m) (m) (m) (m) 0.5-0.06 1.2-0.06 2.7-0.06 0.8-0.06 1.5-0.06 0.6-0.06 1.1-0.06 2.7-0.06 0.8-0.06 1.4-0.06 0.8-0.06 1.1-0.06 2.7-0.06 0.8-0.06 1.4-0.06 1-0.06 1.1-0.06 2.9-0.06 0.8-0.06 1.5-0.06 1.3-0.06 1.2-0.06 3-0.06 0.9-0.06 1.6-0.06 1.7-0.06 1.3-0.06 3.2 0.06 1-0.06 1.7-0.06 1.9-0.06 1.5-0.06 3.2 0.06 1.1-0.06 1.8-0.06 2.2-0.06 1.7-0.06 3.2 0.06 1.3-0.06 2.1-0.06 2.5 0.06 1.8 0.06 3.1 0.06 1.6-0.06 2.3-0.06 2.7 0.06 2 0.06 3 0.06 1.8-0.06 2.5-0.06 2.8 0.06 2.2 0.06 2.9 0.06 2.2-0.06 2.8-0.06 2.8 0.06 2.5 0.06 2.8 0.06 2.3 0.06 3 0.06 2.8 0.06 2.7 0.06 2.6 0.06 2.5 0.06 3.1 0.06 2.8 0.06 2.8 0.06 2.4 0.06 2.5 0.06 3.1 0.06 2.7 0.06 2.8 0.06 2.3 0.06 2.5 0.06 3.1 0.06 2.6 0.06 2.8 0.06 2 0.06 2.5 0.06 3 0.06 2.4 0.06 2.7 0.06 1.8 0.06 2.5 0.06 2.8 0.06 2.2 0.06 1.5 0.06 2.4 0.06 2.7 0.06 2 0.06 1.3 0.06 2.3 0.06 2.4 0.06 1.8 0.06 1 0.06 2.1 0.06 2.3 0.06 1.6 0.06 1.9 0.06 2 0.06 1.4 0.06 1.7 0.06 1.8 0.06 1.6 0.06 1.4 0.06 Group Report of 2011 SISP - 33 - Group Number 15-B
3.2 1 2 3 4 5 (m) (m) (m) (m) (m) 0 0.06 2.1 0.06 1.6 0.06 1.3 0.06 1.3 0.06 0.1 0.06 2 0.06 1.5 0.06 1.3 0.06 1.3 0.06 0.2 0.06 2 0.06 1.4 0.06 1.2 0.06 1.3 0.06 0.4 0.06 2 0.06 1.4 0.06 1.1 0.06 1.3 0.06 0.6 0.06 2 0.06 1.4 0.06 1.1 0.06 1.3 0.06 0.8 0.06 2.2 0.06 1.5 0.06 1.1 0.06 1.3 0.06 1.1 0.06 2.3 0.06 1.6 0.06 1.2 0.06 1.4 0.06 1.3 0.06 2.5 0.06 1.7 0.06 1.3 0.06 1.4 0.06 1.6 0.06 2.7 0.06 1.9 0.06 1.5 0.06 1.6 0.06 2 0.06 2.8 0.06 2.1 0.06 1.6 0.06 1.7 0.06 2.3 0.06 3-0.06 2.3 0.06 1.7 0.06 1.8 0.06 2.7 0.06 3-0.06 2.5 0.06 1.9 0.06 2 0.06 3 0.06 3-0.06 2.7-0.06 2.1 0.06 2.2 0.06 3.2-0.06 2.9-0.06 2.8-0.06 2.4-0.06 2.5 0.06 3.3-0.06 2.8-0.06 2.8-0.06 2.6-0.06 2.7 0.06 3.5-0.06 2.8-0.06 2.8-0.06 2.7-0.06 3-0.06 3.6-0.06 2.7-0.06 2.8-0.06 2.7-0.06 3.2-0.06 3.7-0.06 2.5-0.06 2.7-0.06 2.7-0.06 3.3-0.06 3.7-0.06 2.3-0.06 2.6-0.06 2.7-0.06 3.3-0.06 3.7-0.06 2.1-0.06 2.5-0.06 2.6-0.06 3.4-0.06 3.6-0.06 1.8-0.06 2.3-0.06 2.5-0.06 3.4-0.06 3.5-0.06 2.2-0.06 2.3-0.06 3.4-0.06 3.4-0.06 2-0.06 2.2-0.06 3.4-0.06 3.3-0.06 1.8-0.06 2-0.06 3.3-0.06 3.1-0.06 1.5-0.06 1.9-0.06 3.3-0.06 3-0.06 1.7-0.06 3.2-0.06 2.8-0.06 1.5-0.06 3-0.06 2.7-0.06 2.9-0.06 2.5-0.06 2.8-0.06 2.3-0.06 2.6-0.06 2.3-0.06 2-0.06 1.7-0.06 1.3-0.06 16. 2 Group Report of 2011 SISP - 34 - Group Number 15-B
... 10 10 8, 10 6.. 1 40, 1 60. 2.,,,,.,. : Group Report of 2011 SISP - 35 - Group Number 15-B
4 4.1..,,.,.. : 4.1.1. 4. 5..,... 6, OpenCV. web OpenCV.,..,, 1 2,. C++, C, OpenCV. 7,.. 6.,, 1 2,. C++, C, OpenCV. 8... web.,, 1 2,. C++, C, OpenCV. 9.. OpenCV... Group Report of 2011 SISP - 37 - Group Number 15-B
,.,, 1 2,. C++, C, OpenCV. 10.,.,. 2. 2.,, 1 2,. C++, C, OpenCV. 11,.. 8 OpenCV web..,.,, 1 2,. C++, C, OpenCV. 12.,.. 11.,, 1 2,. C++, C, OpenCV. : 4.1.2. 4. 5..,... 6 C++.,... 7,.. 8... 9. 8 Group Report of 2011 SISP - 38 - Group Number 15-B
,. 10 9..,. 11....,. 12.,.. : 4.1.3. 4. 5..,.. 6. C OpenCV. Web..,. C, C++, OpenCV. 7.. 8,.... 9..., 6. 10.. Web.., 6. 11..., 6. 12..., 6. : Group Report of 2011 SISP - 39 - Group Number 15-B
4.1.4. 4. 5..,... 6 C++.,..., 1 2. C++. 7,.., 1 2. C++. 8....,, 1 2. C++, OpenCV DirectX. 9. 8,., 1 2. C++. 10 9..,. 1 2,,, 1 2. C++,. 11,...,. 1 2,,,,, 1 2. C++,,. 12.,.. C++,,. 1 2,,,,, 1 2. C++,,. : Group Report of 2011 SISP - 40 - Group Number 15-B
5 5.1.,..,,...,.. C C++.,.,,, 4 4.,.,,...., OpenCV. OpenCV web.,. 2. DirectX. OpenCV. OpenCV DirectX. OpenCV, DirectX.., OpenCV., web.,.,.,,,., Group Report of 2011 SISP - 41 - Group Number 15-B
..,,,.,. : 5.2. 7.,,,,,,,.,. OpenCV,..,..,.,,,.,, UFO...,.,..,,..,.,..,. : 5.3 4. 4 2. 2.,,, Group Report of 2011 SISP - 42 - Group Number 15-B
,., web,,. : 5.3.1 1.,. 2.,.,. 3. OpenCV. Web,.,. 4..,,.,. : 5.3.2 1..,,. 2...,. 3.,, C. Group Report of 2011 SISP - 43 - Group Number 15-B
,.,.,.,. 4.. PID, Bang-Bang.,.,.,,.,,.,. 5..,.,.,.,. : 5.3.3 1. Web Web... 2.,.,... 3.,.,.. 4. Group Report of 2011 SISP - 44 - Group Number 15-B
....,,. : 5.3.4 1..,,. 2...,. 3...,.,.. 4.. PID, Bang-Bang.,.,.,,.,,.,. : Group Report of 2011 SISP - 45 - Group Number 15-B
6,.., 1. 2.,.,......, DirectX OpenCV..,., OpenCV.. OpenCV. : Group Report of 2011 SISP - 47 - Group Number 15-B
A AR.Drone. 2010 9 16 Parrot AR. AR.Drone, SDK...,.,,. 2 Group Report of 2011 SISP - 49 - Group Number 15-B
B 1 2 C C++, C C++, C C++, C C++, Group Report of 2011 SISP - 51 - Group Number 15-B
[1] Herbert Schildt. C++ 4.. 2010 [2]. Essential OpenCV programming.. 2009 [3] ARDRONE open API platform. https://projects. ardrone. org/ [4] OpenCV. jp. http://opencv. jp/ [5] opencv. jp - OpenCV - 1. 1 pre. http://opencv. jp/opencv-1. 1. 0/document/index. html [6]. http://floclo. blog20.fc2. com/ [7]. http://kougaku-navi.net/ [8] BlueSky lab. http://thira. plavox. info/blog/2008/06/ c. html [9] AR.Drone. com Japan. http://ardrone. parrot. com/parrot-ar-drone/jp [10] AR.Drone Flyers. http://www. ardrone-flyers. com/ [11] Fenrir s Blog. http://fenrir. naruoka. org/ [12] microsoft corporation http://www.microsoft.com/en-us/default.aspx [13] Microsoft Visual Studio Express http://www.microsoft.com/japan/msdn/vstudio/express/ [14] Simple DirectMedia Layer http://www.libsdl.org/ [15] TBS. http://www.tbs.co.jp/job/ [16] STANFORD UNIVERSITY. http://www.stanford.edu/ [17]. http://leg-ofguy.livedoor.biz/ Group Report of 2011 SISP - 53 - Group Number 15-B