211service.com
NASA:s nästa lunar rover kommer att köra öppen källkod
En konstnärs återgivning av VIPER på månen. NASA
År 2023 kommer NASA att lansera VIPER (Volatiles Investigating Polar Exploration Rover), som kommer att vandra över månens yta och jaga vattenis som en dag kan användas för att tillverka raketbränsle. Rovern kommer att vara beväpnad med de bästa instrumenten och verktygen som NASA kan komma med: hjul som kan snurra ordentligt på månens mark, en borr som kan gräva i utomjordisk geologi, hårdvara som kan överleva 14 dagar av en månnatt när temperaturen sjunker till ˗173 °C.
Men medan mycket av HUGGORM är unik, skräddarsydd för uppdraget, mycket av programvaran som den kör är öppen källkod, vilket betyder att den är tillgänglig för användning, modifiering och distribution av vem som helst för alla ändamål. Om det blir framgångsrikt kan uppdraget handla om mer än att bara lägga grunden för en framtida månkoloni – det kan också vara en brytpunkt som får rymdindustrin att tänka annorlunda om hur den utvecklar och driver robotar.
Teknik med öppen källkod kommer sällan att tänka på när vi pratar om rymduppdrag. Det krävs oerhört mycket pengar för att bygga något som kan skjutas upp i rymden, ta sig till sin rätta destination och sedan utföra en specifik uppsättning uppgifter hundratals eller tusentals (eller hundratusentals) mil bort. Att hålla kunskapen för att dra bort dessa saker nära bröstet är en naturlig böjelse. Programvara med öppen källkod förknippas mer vanligtvis med skraplig programmering för mindre projekt, som hackaton eller studentdemos. Koden som fyller onlineförråd som GitHub är ofta en billig lösning för grupper som har ont om pengar och resurser som behövs för att bygga kod från grunden.
Men rymdindustrin ökar, inte en liten del eftersom det finns en efterfrågan på ökad tillgång till rymden. Och det innebär användning av teknik som är billigare och mer tillgänglig, inklusive programvara.
Även för större grupper som NASA, där pengar inte är ett problem, kan tillvägagångssättet med öppen källkod leda till starkare programvara. Flygprogramvara just nu skulle jag säga är ganska medioker i rymden, säger Dylan Taylor, ordförande och VD för Voyager Space Holdings. (Exempel: Boeings Starliner-testflyg misslyckades 2019, vilket var på grund av mjukvarufel .) Om det är öppen källkod kan de smartaste forskarna fortfarande utnyttja ett större communitys expertis och feedback om det stöter på problem, precis som amatörutvecklare gör.
I grund och botten, om det är tillräckligt bra för NASA, borde det förmodligen vara tillräckligt bra för alla andra som försöker använda en robot utanför denna planet. Med ett ständigt ökande antal nya företag och nya nationella byråer runt världen Att försöka skjuta upp sina egna satelliter och sonder ut i rymden och samtidigt hålla kostnaderna nere, billigare robotprogramvara som med säkerhet kan hantera något så riskabelt som ett rymduppdrag är en enorm välsignelse.
Programvara med öppen källkod kan också hjälpa till att göra det billigare att ta sig till utrymmet eftersom det leder till standarder som alla kan anta och arbeta med. Du kan eliminera de höga kostnaderna förknippade med specialiserad kodning. Ramverk med öppen källkod är vanligtvis något nya ingenjörer redan har arbetat med också. Om vi bara kan utnyttja det och öka denna pipeline från vad de har lärt sig i skolan till vad de använder i flyguppdrag, förkortar det inlärningskurvan, säger Terry Fong, chefsrobotiker för Intelligent Robotics Group vid NASA Ames Research Center i Kalifornien , och biträdande roverledare för VIPER-uppdraget. Det gör saker snabbare för oss att ta framsteg från forskarvärlden och sätta dem på flykt.
NASA har använt programvara med öppen källkod i många FoU-projekt i cirka 10 till 15 år nu – byrån håller en mycket omfattande katalog av den öppen källkod som den har använt. Men denna tekniks roll i faktiska robotar som skickas till rymden är fortfarande begynnande. Ett system som byrån har testat är Robot Operating System, en samling ramverk med öppen källkod som underhålls och uppdateras av den ideella organisationen Open Robotics, som också har sitt huvudkontor i Mountain View. ROS används redan i Robonaut 2, den humanoida roboten som har hjälpt till med forskning om den internationella rymdstationen, såväl som den autonoma Astrobee robotar surrar runt ISS för att hjälpa astronauter att utföra dagliga uppgifter.

Astrobee-roboten på den internationella rymdstationen körs på ROS.
NASA
ROS kommer att köra och underlätta uppgifter som är avgörande för något som kallas markflygkontroll. VIPER kommer att köras runt av NASA-personal som kommer att köra saker från jorden. Markflygkontroll kommer att ta data som samlats in av VIPER för att bygga realtidskartor och renderingar av miljön på månen som roverns förare kan använda för att navigera säkert. Andra delar av roverns mjukvara har också rötter med öppen källkod: grundläggande funktioner som telemetri och minneshantering hanteras ombord av ett program som heter kärnflygsystem (cFS) , utvecklad av NASA själv och tillgänglig gratis på GitHub . VIPERs uppdragsverksamhet utanför själva roveren hanteras av Öppna MCT , även skapad av NASA.
Jämfört med Mars är månmiljön mycket svår att efterlikna fysiskt på jorden, vilket betyder att det inte är lätt att testa en rovers hård- och mjukvarukomponenter. För det här uppdraget, säger Fong, var det mer meningsfullt att luta sig mot digitala simuleringar som kunde testa många av roverns komponenter – och som inkluderade programvaran med öppen källkod.
En annan anledning till att uppdraget lämpar sig för användning av mjukvara med öppen källkod är att månen är tillräckligt nära för nästan realtidskontroll av rovern, vilket innebär att en del av mjukvaran inte behöver vara på själva rovern och kan köras på jorden istället.
Vi bestämde oss för att dela robotens hjärnor mellan månen och jorden, säger Fong. Och så fort vi gjorde det öppnade det för möjligheten att vi kan använda programvara som inte är begränsad av strålningshårda flygdatorer – utan istället kan vi bara använda kommersiella datorer från hyllan. Så vi kan använda saker som ROS på marken, något som används av så många människor så regelbundet. Vi behöver inte bara lita på anpassad programvara.
VIPER körs inte på 100 % öppen källkod - dess flygsystem ombord använder till exempel extremt pålitlig proprietär programvara. Men det är lätt att se framtida uppdrag anta och utöka vad VIPER kommer att köra. Jag misstänker att nästa rover från NASA kanske kommer att köra Linux, säger Fong.
Det kommer aldrig att vara möjligt att använda öppen källkod i alla fall. Säkerhetsproblem kan vara ett problem och kan få vissa parter att helt och hållet hålla sig till proprietär teknik (även om ett plus för plattformar med öppen källkod är att utvecklare ofta är mycket offentliga om att hitta brister och föreslå patchar). Och Fong betonar också att vissa uppdrag alltid kommer att vara för specialiserade eller avancerade för att förlita sig mycket på öppen källkodsteknologi.
Ändå är det inte bara NASA som vänder sig till open source-gemenskapen. Blue Origin tillkännagav nyligen ett partnerskap med flera NASA-grupper för att koda robotintelligens och autonomi byggd från ramverk med öppen källkod (företaget avböjde att lämna detaljer). Mindre initiativ som Free Space Foundation baserat i Grekland, som tillhandahåller hårdvara och mjukvara med öppen källkod för små satellitaktiviteter, kommer definitivt att få mer uppmärksamhet när rymdfärder fortsätter att bli billigare. Det finns en dominoeffekt där, säger Brian Gerkey, vd för Open Robotics. När du har en stor organisation som NASA som offentligt säger 'Vi är beroende av den här programvaran', då är andra organisationer villiga att ta en chans och gräva i och göra det arbete som är nödvändigt för att få det att fungera för dem.