NASA-ն օգտագործել է Linux և բաց կոդով ծրագրակազմ Ingenuity Mars հրթիռում

NASA տիեզերական գործակալության ներկայացուցիչները Spectrum IEEE-ին տված հարցազրույցում մանրամասներ են բացահայտել Ingenuity ինքնավար հետախուզական ուղղաթիռի ներքին կառուցվածքի մասին, որը երեկ հաջողությամբ վայրէջք է կատարել Մարսի վրա Մարս 2020 առաքելության շրջանակներում։ Նախագծի առանձնահատուկ առանձնահատկությունն էր Qualcomm-ի Snapdragon 801 SoC-ի վրա հիմնված կառավարման տախտակի օգտագործումը, որն օգտագործվում է սմարթֆոնների արտադրության մեջ։ Ingenuity-ի ծրագրային ապահովումը հիմնված է Linux միջուկի և բաց կոդով թռիչքային ծրագրերի վրա: Նշվում է, որ սա Linux-ի առաջին օգտագործումն է Մարս ուղարկված սարքերում։ Ավելին, բաց կոդով ծրագրային ապահովման և լայնորեն հասանելի ապարատային բաղադրիչների օգտագործումը շահագրգիռ էնտուզիաստներին հնարավորություն է տալիս ինքնուրույն հավաքել նմանատիպ անօդաչու սարքեր:

Այս որոշումը պայմանավորված է նրանով, որ թռչող անօդաչու թռչող սարքը կառավարելու համար անհրաժեշտ է զգալիորեն ավելի մեծ հաշվողական ուժ, քան մարսագնացը կառավարելը, որը հագեցած է հատուկ արտադրված չիպերով՝ լրացուցիչ ճառագայթային պաշտպանությամբ։ Օրինակ՝ թռիչքը պահպանելու համար պահանջվում է կառավարման օղակ, որն աշխատում է վայրկյանում 500 ցիկլով և պատկերի վերլուծություն՝ 30 կադր վայրկյանում:

Snapdragon 801 SoC-ը (չորս միջուկ, 2.26 ԳՀց, 2 ԳԲ RAM, 32 ԳԲ Flash) ապահովում է Linux-ի վրա հիմնված հիմնական համակարգի միջավայրը, որը պատասխանատու է բարձր մակարդակի գործողությունների համար, ինչպիսիք են տեսողական նավիգացիան՝ հիմնված տեսախցիկի պատկերի վերլուծության, տվյալների կառավարման, մշակման վրա: հրամաններ, գեներացնող հեռաչափություն և անլար կապի ալիքի պահպանում:

Պրոցեսորը միացված է UART ինտերֆեյսի միջոցով երկու միկրոկարգավորիչների (MCU Texas Instruments TMS570LC43x, ARM Cortex-R5F, 300 ՄՀց, 512 ԿԲ RAM, 4 ՄԲ Flash, UART, SPI, GPIO), որոնք կատարում են թռիչքի կառավարման գործառույթներ։ Խափանման դեպքում ավելորդության համար օգտագործվում են երկու միկրոկոնտրոլերներ և ստանում են նույնական տեղեկատվություն սենսորներից: Ակտիվ է միայն մեկ միկրոկոնտրոլեր, իսկ երկրորդը օգտագործվում է որպես պահեստային և խափանման դեպքում կարողանում է իր վրա վերցնել վերահսկողությունը: MicroSemi ProASIC3L FPGA-ն պատասխանատու է սենսորներից տվյալների փոխանցման համար միկրոկոնտրոլերներին և շեղբերները կառավարող ակտուատորների հետ փոխազդելու համար, որը նաև խափանման դեպքում միանում է պահեստային միկրոկառավարիչին:

NASA-ն օգտագործել է Linux և բաց կոդով ծրագրակազմ Ingenuity Mars հրթիռում

Սարքավորումների շարքում անօդաչու թռչող սարքն օգտագործում է լազերային բարձրաչափ՝ SparkFun Electronics-ից, որը բաց կոդով սարքավորում է արտադրում և հանդիսանում է բաց կոդով սարքաշարի (OSHW) սահմանման ստեղծողներից մեկը։ Այլ բնորոշ բաղադրիչները ներառում են գիմբալ կայունացուցիչը (IMU) և տեսախցիկները, որոնք օգտագործվում են սմարթֆոններում: Մեկ VGA տեսախցիկ օգտագործվում է կադր առ կադր համեմատության միջոցով հետևելու գտնվելու վայրը, ուղղությունը և արագությունը: Երկրորդ 13 մեգապիքսելանոց գունավոր տեսախցիկը օգտագործվում է տարածքը նկարելու համար։

Թռիչքի կառավարման ծրագրային բաղադրիչները մշակվել են NASA JPL-ում (ռեակտիվ շարժիչ լաբորատորիա) փոքր և ծայրահեղ փոքր արհեստական ​​Երկրի արբանյակների համար (cubesats) և մշակվել են մի քանի տարի շարունակ որպես F Prime (F´) բաց պլատֆորմի մաս՝ բաշխված Apache 2.0 լիցենզիա.

F Prime-ն ապահովում է թռիչքների կառավարման համակարգերի և հարակից ներկառուցված հավելվածների արագ զարգացման գործիքներ: Թռիչքի ծրագրակազմը բաժանված է առանձին բաղադրիչների՝ լավ սահմանված ծրագրավորման միջերեսներով: Բացի մասնագիտացված բաղադրիչներից, առաջարկվում է C++ շրջանակ՝ այնպիսի գործառույթների ներդրմամբ, ինչպիսիք են հաղորդագրությունների հերթագրումը և բազմաթելային, ինչպես նաև մոդելավորման գործիքները, որոնք թույլ են տալիս միացնել բաղադրիչները և ինքնաբերաբար ստեղծել կոդ:

NASA-ն օգտագործել է Linux և բաց կոդով ծրագրակազմ Ingenuity Mars հրթիռում


Source: opennet.ru

Добавить комментарий