การเขียนโปรแกรม Quadrotor พื้นฐาน ,การบินอากาศยาน 4 ใบพัด ,โดรน drone ,โดรนคอร์ดคอปเตอร์ Drone QuadCopter ,อากาศยานไร้คนขับ
เรียบเรียงโดย ทินกร เขียวรี
https://sites.google.com/site/tinnakonkheowree/
และรวมเนื้อหาการเขียนโปรแกรม Quadrotor, Quadcopter พื้นฐาน และความรู้จากที่มีโปรเจคและวิจัยทำในไทยและต่างประเทศ
////////////////////////////////////////////////////////////////////////////
โครงการถ่ายทอดความรู้เครื่องบินสี่ใบพัดและควบคุมตำแหน่งเบื้องต้น สาขาวิชาวิศวกรรมเมคคาทรอนิกส์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเทคโนโลยีราชมงคลอีสาน วิทยาเขตขอนแก่น วันที่ 7-8 พฤษภาคม 2559 ดาวน์โหลดเอกสาร
/////////////////////////////////////////////////////////////////////////////
เอกสารที่ใช้อบรมการประกวดแข่งขันนักบินน้อย มทร.สุวรรณภูมิ RUS-IE Young Pilot Competition 2015 วันที่ 20-21 มกราคม 2558
https://drive.google.com/file/d/0B4UGzNJoSnKmMGlFTXp1em1jdEk/view?usp=sharing
v2
https://drive.google.com/file/d/0B4UGzNJoSnKmUUxqUWlwcmIwUTA/view?usp=sharing
//////////////////////////////////////////////////////////////////////////////////////////
หัวข้อที่ต้องรู้ในการเขียนโปรแกรม บอร์ด MEGAWAP_V2_AIO
หัวข้อที่ต้องรู้ในการเขียนโปรแกรม
หัวข้อที่ต้องรู้ในการเขียนโปรแกรม
บอร์ด Arduino MEGA 2560 กับ เซนเซอร์ GY-86 10DOF
อธิบาย Code QuadX_2560GY86_PIDAuto_V1
1.การกำหนดความเร็วลูป 100 Hz, 50 Hz, 20 Hz, 10 Hz, 5 Hz, 1 Hz
100 Hz ทำ อ่านเซนเซอร์ gyro,acc, ควบคุม PID , Filter
50 Hz ทำ อ่านค่ารีโมท
20 Hz อ่านค่า Ultrasonic ,ทำ Filter
10 Hz ทำ Automatic Takeoff และ Landing อ่านค่า
Magnetometer และ Chack_Command, By Remote idle-up settings 0,1,2
5 Hz คำนวณ GPS ควบคุมต่ำแหน่ง
1 Hz แสดงสถานะหลอดไฟ LED ทำ Accelerometers trim โดยใช้ รีโมท
2.การสร้างตัวแปรเพื่อเก็บค่า int 16 bit, long 32 bit ,uint8_t, unsigned long , float 32bit,
3.การอ่านค่าเซนเซอร์ gyroscope , accelerometer, magnetometer
4.การอ่านค่าบาโรเพื่อมาคำนวณค่าความสูงจากเซนเซอร์ MS5611
5.การทำตัวสังเกตเพื่อประมาณค่าความสูง ,State estimation with Kalman Filter
6.การอ่านค่าเซนเซอร์ Ultrasonic , Trigger, Echo
7.การอ่านค่าเซนเซอร์ GPS ใช้ NMEA_BINARY settings ของ MultiWii
8.การอ่านค่ารีโมท PWM 1-1.9 ms แบบ CPPM สายเส้นเดียว ได้ 6 CH
9.การกำหนดค่าเริ่มต้นใน setup()
-ค่าเริ่มต้นการอ่านรีโมท
-ค่าเริ่มต้นสั่งมอเตอร์
-ค่าเริ่มต้น GPS
-ค่าเริ่มต้น I2C เปลี่ยน I2C clock rate to 400kHz
-ค่าเริ่มต้นเซนเซอร์ GY-86 , mpu6050 HMC5883 MS561101BA
-ค่าเริ่มต้นอัลตร้าโซนิค
-การอ่านเซนเซอร์เริ่มต้น
-การทำคาริเบตเซนเซอร์
-ตั้งค่าเริ่มต้นการหามุม AHRS (An attitude and heading reference system , AHRS)
-กำหนดเวลาเริ่มต้น
10.การทำ sensor Calibration และการแปลงหน่วย rad/s , deg/s , m/s^2
11.การลดสัญญานรบกวน sensor , Moving average filter , Low pass filter
12.วิธีการหาค่ามุม AHRS, Quaternion , direction cosine matrix , Euler angles, Rotation matrix Body Fixed Frame, Earth-Fixed frame
13.การอ่านค่า GPS latitude and longitude , ความเร็วการเคลื่อนที่ Earth-Fixed frame
14.การควบคุม PIDA , P-PID , Roll, Pitch, Yaw
-คำนวณหาค่ามุมรีโมท
-การดิฟหาความเร็วจากมุมรีโมท
-การคำนวณค่า error
-การคำนวณกฏการควบคุมมุมและ Rate Gyro
15.การควบคุมความสูงใช้ State feedback control หรือ PID
16.เทคนิคการจูนค่า Gain ที่ใช้ควบคุม
17.เงื่อนไขการทำ Automatic Takeoff และ Landing
18.การควบคุมต่ำแหน่ง GPS ใช้ PID control
19.การทำ Motor mixing theory, Quad +,x
20.การสั่ง PWM 1-1.9 ms ให้มอเตอร์หมุน
21.การทำ Electronic Speed Controllers Calibration 1 - 1.9 ms
22.การทำ Accelerometers trim โดยใช้ รีโมท
23.การทำ Calibration sensor Magnetometer หาค่า Max , Min
24.การทำ ARM and DISARM มอเตอร์ไม่หมุนและหมุน
บอร์ด ET-EASY MEGA1280 (DUINO MEGA)
2.1. ความเร็วลูป 20 Hz, 10 Hz, 5 Hz
20 Hz อ่านค่า Ultrasonic ,ทำ Filter , ตรวจสอบการเชื่อมต่อ GPS 2 ตัว ,ส่งค่าความสูงและGPS ไปบอร์ด MEGAWAP_V2_AIO
10 Hz ปริ้นค่าดู 5 Hz อ่านค่า GPS
2.2. การอ่านค่าเซนเซอร์ Ultrasonic_HC-SR04, Trigger, Echo
2.3. การอ่านค่าเซนเซอร์ GPS ใช้ NMEA_BINARYxx settings ของ MultiWii
2.4. การกำหนดค่าเริ่มต้นใน setup()
2.5. การลดสัญญานรบกวน sensor , Low pass filter
2.6. การส่งข้อมูล RS232 data 22 byte
โหลด Code ที่
https://github.com/QuadTinnakon?tab=repositories
เอกสาร
https://drive.google.com/file/d/0B4UGzNJoSnKmVlNFeFpnNTFiZzA/view?usp=sharing
สอนสร้าง QUADCOPTER ด้วยตนเอง ตอนที่ 1 แนะนำอุปกรณ์
สอนสร้าง QUADCOPTER ด้วยตนเอง การสอนเชิงปฏิบัติการเรียนรู้และฝึกทักษะด้านระบบสมองกลฝังตัวของอากาศยาน (Quadrotor Controller) เพื่อมีความรู้พื้นฐานในการเขียนโปรแกรมพื้นฐานด้าน UAV เบื้องต้น
ของเครื่องบิน 4 ใบพัด โดยใช้ Arduino เพื่อให้ทำงานอัตโนมัติด้านระบบสมองกลฝังตัวของอากาศยาน 4 ใบพัดขนาดเล็ก สามารถทำเงื่อนไข 1. Automatic Takeoff 2. Landing 3. GPS Position Hold
4. Altitude Hold 5. 1 Waypoint Navigation
ประเภทหลักสูตร : E-learning เรียน Online
http://crowdemy.org/campaigns/
เนื้อหาที่เกี่ยงข้องกับการพัฒนา
อ.บุญเลิศ เจยาคม .โครงการฝึกอบรมอากาศยานไร้คนขับ VTOL UAV.สำนักงานวิจัยและพัฒนาการทางทหารกองทัพเรือ
https://drive.google.com/file/d/0B4UGzNJoSnKmSTFqYzJHNjkwRlk/view?usp=sharing
อัครพันธุ์ สังข์วงษ์, จิตพล ศรีสว่าง และ สรวิศ ไพฑูรย์วงศ์ . เครื่องบินอัตโนมัติแบบสี่ใบพัดสำหรับการถ่ายภาพทางอากาศ. คณะวิศวกรรมศาสตร์ (Engineering) มหาวิทยาลัยเทคโนโลยีราชมงคลธัญบุรี. ปี 2555
http://www.research.rmutt.ac.th/archives/10158
http://www.research.rmutt.ac.th/wp-content/uploads/2014/03/133141.pdf
จักรพรรณ ดีสุด และจักรกริช หล่อประโคน. Multi Rotor Flying Object. Logbook ครั้งที่ 3 ประจำปีการศึกษา 2554 ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น.
http://www.slideserve.com/fahim/multi-rotor-flying-object
SCHOOL OF ELECTRICAL, ELECTRONIC AND COMPUTER ENGINEERING
QUAD-ROTOR FLYING OBJECT
http://du-preez.com/other/Qfo_Report.pdf
ชงควัฒน์ และคณะ. อากาศยาน ปีกหมุน 4 ใบพัด. ภาควิชาวิศวกรรมเครื่องกล คณะวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น พ.ศ. 2556
http://mis.en.kku.ac.th/administrator/doc_upload/20140318123929.pdf
สถิตพงศ์ จงรักตระกูล และคณะ.การออกแบบและพัฒนาอากาศยาน 4 ใบพัด รักษาเสถียรภาพด้วยการควบคุมแบบป้อนกลับ.ภาควิชาครุศาสตร์เครื่องกล คณะครุศาสตร์อุตสาหกกรม มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าพระนครเหนือ.
นายณัฐพงศ์ และคณะ โครงงานยานบินบังคับ 4 ใบพัด . สาขาวิชาเทคโนโลยีอุตสาหกรรม ( เทคโนโลยีอิเล็กทรอนิกส์ ) คณะวิทยาศาสตร์ มหาวิทยาลัยราชภัฏจันทรเกษม .
http://www.elecnet.chandra.ac.th/paper/255505.pdf
ASTVผู้จัดการออนไลน์7 กันยายน 2557 .สำรวจ “อากาศยานไร้นักบิน” ผลงานไทย .
http://www.manager.co.th/Science/ViewNews.aspx?NewsID=9570000101785
สมบูรณ์ ธีรวิสิฐพงศ์, ประเสริฐ ปิ่นปฐมรัฐ,และคณะ. การพัฒนาอากาศยานไร้นักบินต้นทุนต่ําเพื่อกิจการทางทหาร. สาขาครุศาสตรอิเล็กทรอนิกสและโทรคมนาคมภาควิชาครุศาสตรอุตสาหกรม คณะครุศาสตรอุตสาหกรม มหาวิทยาลัยเทคโนโลยีราชมงคลธัญบุรี.
http://journal.rmutp.ac.th/wp-content/uploads/2014/08/Special-Engineering-27.pdf
คฑาพิสิษฐ์ คูเพชรรัตน์ และอนุมัติ อิงคนินันท์.ระบบควบคุมความสมดุลอตัโนมตัิของอากาศยาน 4 โรเตอร์.วศิวกรรมคอมพิวเตอร์คณะวศิวกรรมศาสตร์กา แพงแสน มหาวิทยาลัยเกษตรศาสตร์
http://cpe.eng.kps.ku.ac.th/db_cpeproj/fileupload/project_IdDoc69_IdPro68.pdf
Optical flow-based เรียบเรียงโดย น.ต.วัชรพงษ์ เข็มเพ็ชร
http://www.dae.mi.th/aeroblog/?p=2796
Kalman Filter
แนวคิดพื้นฐานและหลักการทํางานของ Kalman Filter Algorithm น.ต.ดร. กฤษฎา แสงเพ็ชรสอง
http://library.rtna.ac.th/web/RTNA_Journal/y.4c.4/05.pdf
น.ต.ดร. กฤษฎา แสงเพ็ชร์ส่อง "การแสดงมุมเอียงและการเปลี่ยนแกนอ้างอิง" อาจารย์ฝ่ายศึกษา โรงเรียนนายเรือ.
https://drive.google.com/file/d/0B4UGzNJoSnKmZ2tiRVUwaWU0bUE/view?usp=sharing
http://www.cmmakerclub.com/2014/11/667
Quadcopter Parts List | What You Need to Build a DIY Quadcopter
http://quadcoptergarage.com/quadcopter-parts-list-what-you-need-to-build-a-diy-quadcopter/
MultiWii http://www.multiwii.com/ http://witespyquad.gostorego.com/
AeroQuad http://aeroquad.com/content.php
MegaPirateNG https://github.com/MegaPirateNG/ardupilot-mpng
APM Open source autopilot http://planner.ardupilot.com/
http://ardupilot.com/
OpenPilot CC3D http://www.openpilot.org/
UAVX-ARM32 Full Sensors http://www.quadroufo.com/
AutoQuad is an Open Source firmware project http://autoquad.org/
ทินกร เขียวรี . การควบคุมความสูงระดับเพดานบินโดยใช้ตัวควบคุมแบบปรับตัวเองได้ร่วมกับตัวสังเกตคาลมานสำหรับเครื่องบิน 4 ใบพัดขนาดเล็ก. สาขาวิชาวิศวกรรมเครื่องกล คณะวิศวกรรมศาสตร์และสถาปัตยกรรมศาสตร์ มหาวิทยาลัยเทคโนโลยีราชมงคลสุวรรณภูมิ. ปี 2557
https://drive.google.com/file/d/0B4UGzNJoSnKma1FxX3JuY09lbFU/view?usp=sharing
Adaptive Dynamic Surface control of An electrohydraulic Actuator with Friction Compensation,
http://onlinelibrary.wiley.com/doi/10.1002/asjc.935/abstract
วีดีโอ https://www.youtube.com/watch?v=eqkmHAK_s9A
Paper งานวิจัยต่างประเทศ
https://drive.google.com/file/d/0B4UGzNJoSnKmVmttQktuLTB2Szg/view?usp=sharing
MATTHEW WATSON
. "The Design and Implementation of a Robust AHRS for
Integration into a Quadrotor Platform. MENG ELECTRONIC ENGINEERING
DEPARTMENT OF ELECTRONIC & ELECTRICAL ENGINEERING .MAY 2013.
https://drive.google.com/file/d/0B4UGzNJoSnKmZTZSY2lxMHZfRHc/view?usp=sharing
หนังสืออ่านเพิ่มเติม
https://sites.google.com/site/suwatkd/textbooks/automatic-control-engineering-texts
https://sites.google.com/site/suwatkd/textbooks/introduction-to-nonlinear-control-text