الأربعاء، 24 أغسطس 2016

خصائص ومميزات الأردوبيلوت - APM - الجزء الاول

بسم الله الرحمن الرحيم






أولا : ازاي تطيير الطيارة بدون إستخدام Remote RC : 

كتير مننا فاكر او بيسمع ان طالما هتجيب APM يبقا لازم تجيب ريموت RC ولازم يكون 6 Channel على الاقل , الكلام دا غير صحيح . هما دايما بيفضلو الريموت ال RC لانه بيبقا كذا قناة يعني يقدر يتحكم او يرسل بيانات في قنوات متعدده بالتوازي يعني يقدر يتحكم في كذا حركة في الطياره في نفس الوقت , لأن لو تم استبدال الريموت دا بأي موديول وايرليس هيبقى قناة واحده يعني يقدر يبعت Byte واحد او ايا كان الحجم ف هو بيبعت أمر واحد في المره والواحده ف بالتالي ممكن يسبب بطء شويه في ال Responce بتاع الطياره , بس كل دا مش بيبقا ملحوظ للدرجه دي . بس تقدر تتحكم في كل حاجه في الطياره بدون استخدام RC remote بإستبدالك ليه بإي وايرليس موديول واي Joystick ودا الي هنعرفه في الجزء الي جاي . 

-------------------------------------------------------------------------------------------------
ثانيا : ازاي تتحكم في الحركة بإستخدام أي Joystick ؟

في الAPM انت ممكن تستبدل ال RC ريموت ب أي جويستيك عندك ( ممكن بتاع البلايستيشن ) المهم انه يكون في 4 Analog عشان ال Throttle , Pitch , Roll , Yaw . كل الي عليك هو انك تخش في Actions تحت على الشمال وبعدها تختار Joystick , شوف الصورة دي :




وهتعمل معايره بس لل Sticks بتاعتك , وبكدا اول ما هتعمل Connect بين ال APM واللاب هتقدر تتحكم في المواتير , بس متنساش حاجه انك لازم تخصص زرار في الدراع انه يعمل Arming وزرار تاني يعمل Disarming للمواتير .

شوف اللينك دا لو عايز تعرف اكتر  :
http://copter.ardupilot.com/wiki/flying-with-a-joystickgamepad-instead-of-rc-controller/

 معنى كدا انك لو خليت ال Connection بين ال APM واللاب توب وايرليس بدل السلك معناها انك تقدر تطير الطياره بشكل كامل Outdoor !!

----------------------------------------------------------------------------------------------
ثالثا : ازاي توصل أي وايرليس موديول لل APM :

لو اخدت بالك في مكان مكتوب عليه telmetry ودا مكان معمول خصيصا لموديول الوايرليس ( الي غالبا بيكون نوعه 3DR ) ودا نوع بتطلع نفس الشركة عشان كدا هو مدعوم من البورده APM . وهو موديول اشبه ما يكون لموديول ال Xbee عباره عن قطعتين والاتنين من نوع ترانسيفر يعني كل واحد يقدر يبعت ويستقبل .  دا لو وصلته في ال APM ووصلت الموديول التاني في اللاب بتاعك هتقدر توصل بال APM اكنك موصلها بسلك بالظبط وتقدر تعمل Connect عليها . 

وتقدر تعرف اكتر من اللينك دا :
http://copter.ardupilot.com/wiki/common-3dr-radio-v1/

طيب هل دا معناه اني لازم اجيب النوع دا ؟؟
الناس هتقولك اه لازم هو , بس في الواقع لأ . انت ممكن تجيب أي نوع وايرليس RF سواء Xbee او RF حتى ال ب 75 جنيه , اي موديول شغال بالسيريال , ليه ؟ لأن ال Pins الموجوده في ال APM هي 4 واحده باور والتانيه GND والاتنين التانيين Tx ,و RX , بس لازم تجيب موديول يكون ترانسيفر عشان تقدر تبعت وتستقبل من وإلى ال APM 

دا لينك بيوريك ازاي توصل Xbee (ملحوظه : هنا كان بيجرب على بورده ال Pixhawk بس هي نفس طريقة الAPM ) : 
http://copter.ardupilot.com/wiki/common-telemetry-xbee/


طيب هل معنى كدا اني ممكن اوصل Bluetooth موديول واتحكم بيه ؟
اه تقدر , لأن البلوتوث بيتحول في الاخر لبروتوكول سيريال يعني Tx, RX وتقدر توصله في نقس المكان .




شوف اللينك دا عشان تفهم اكتر :
http://copter.ardupilot.com/wiki/common-mission-planner-bluetooth-connectivity/


وبكدا يبقا مشكلة ال RC ممكن تتحل بانك تجيب أي موديول وايرليس وأي جوي ستيك . ومش شرط ريموت RC ب 2000 جنيه !!

----------------------------------------------------------------------------------------------------------

رابعا : ازاي تبرمج ال APM وتخلي الطياره Autonomous :

كتير مننا فاكر ان ال APM مينفعش يتبرمج ومينفعش تستخدمه في انك تعمل طياره Autonomous . بس الكلام دا غير حقيقي , عشان تعمل كدا اودامك حل من اتنين :
1- انك تعدل اكواد ال APM الاصليه الي مكتوبه بلغة مقاربه لل C ( بتاعت الأردوينو ) وانا مبنصحكش بكدا لان الموضوع معقد جدا بس لو حبيت تجرب , شوف اللينك دا :
 http://dev.ardupilot.com/wiki/where-to-get-the-code/
ونزل ال library بتاعت ال APM وابدأ امشي معاه وعدل الكود .

2- انك تسيب المكتبات دي زي ماهي وتستخدم خاصية لطيفة جدا في ال APM اسمها Python scripts ودي عباره عن Scripts او اوامر انت بتكتبها بلغة البايثون وبتحملها على ال APM وهو بيعملها Compile وبينفذ البرنامج الي انت كتبته !!

مش كدا وبس ال Python scripts دي بتسمحلك انك تاخد قراءات كل السنسورات وانك تتحكم في سرعات كل المواتير وانك تاخد قراءات ال GPS وتستخدم كل دا في انك تبرمج الطياره مثلا عشان تروح لمكان معين بإحداثيات معينه وارتفاع معين وسرعه معينه , ف كل الي عليك انك تاخد القراءات وتستخدم If statmens في الكود بتاعك فقط لا غير .

شوف كدا اللينك دا ;) :
http://planner.ardupilot.com/wiki/using-python-scripts-in-mission-planner/

وشوف الجدول الي تحت في اخر اللينك هتلاقي كل دي Parameters تقدر تستخدمها في الكود بتاعك . وفي كود في اول الصفحة مثال على ازاي تطير الطياره وتعمل لفه في الجو حولين محول ال X ( هنا بيطبق على طياره Fixed wing بس هي نفس الطريقة )

ال Scripts دي هتلاقيها هنا :

وتقدر تكتب الكود بره في ال Python Idle وبعد كدا تبقا ترفعه من ال Scripts دي . وبكدا تقدر تخلي طيارتك Autonomous بس ملحوظه لازم تكون عامل Connect بين الطياره واللاب توب عن طريق اي وايرليس موديول لأن الكود بيتعمله Compile بشكل شبه متتالي يعني اعتبره اكنه بينفذ امر امر يعني لو ال Connection فصل الكود مش هيكمل فلازم تكون واخد بالك من النقطة دي .

-------------------------------------------------------------------------------------------------------

خامسا : السنسورات الي ممكن تتوصل لل APM :

اولا احنا لازم نعرف ان ال APM هو أردوينو , يعني انت تقدر توصل أي سنسور تقدر توصله للأردوينو العادي . بس هنا هنتكلم عن السنسورات الي انت مش محتاج انك تبرمجها بنفسك وتتعب نفسك فيها .

- سنسور قياس الارتفاع :
ودا ليه 4 انواع من السنسورات اما سنسور Ultrasonic اسمو MaxSonar ودا عباره عن موجات صوتيه لما بتصتدم بالأرض وبترتد بيقدر يحسب المسافه عن طريق مقدار التشوه في الاشاره المنعكسه , أقصى Range للسنسور دا 10 متر بس .



وتوصيله سهل جدا جدا ومجرد انك تعمله Enable في برنامج ال Mission planner هتقدر تشوف ارتفاعك كام , شوف اللينك دا :
http://copter.ardupilot.com/wiki/sonar/

أما النوع التاني دا ف بيستخدم للإرتفاعات الأعلى من كدا شويه واسمه سنسور ال Lidar lite ودا بيستخدم الليزر بدلا من الموجات الصوتيه , ال Range بتاعه 40 متر 

وتوصيله مقارب لتوصيل ال Sonar , شوف اللينك دا ( اللينك بيشرح على ال Pixwak بس التوصيل متقارب ) :
 
http://copter.ardupilot.com/wiki/common-rangefinder-lidarlite/

وفي نوعين كمان زي ال Lidar بس ال range بتاعهم اعلى والدقة افضل :
http://copter.ardupilot.com/wiki/common-rangefinder-landingpage/