For et godt stykke tid siden faldt jeg over en vis lille iPhone-robot på Amazon. Den virkede interessant og velkendt på samme tid. Jeg huskede at have set en kickstarter-kampagne for netop den samme robot. Tilsyneladende var projektet blevet finansieret og havde haft en vis succes, og det var derfor, jeg kunne finde den til salg på Amazon.
Efter lidt kort research fandt jeg ud af, at Romotive, firmaet bag, ikke længere eksisterede, hvilket kunne betyde, at robotten ikke ville blive understøttet. Lang historie kort, den var for spændende til at modstå, så ordren blev lagt.
Prisen ville bogstavelig talt være et røverkøb, HVIS robotten ville virke. Det var det store spørgsmål i mit sind i betragtning af manglen på information online. Et par dage senere ankom pakken, Romo blev pakket ud, og der kom det første problem.
Størrelse
Størrelsen betyder åbenbart noget, når det drejer sig om robotter. Romo var lavet til iPhone 5, en betydeligt mindre enhed end din nuværende iPhone X. Jeg havde en iPhone 5S liggende, som som som forventet passede perfekt. Jeg havde også en iPhone 6S, som var større, men som efterhånden også passede med lidt klemmearbejde. Ikke rigtig et problem. Så langt så godt!
App
Den anden skuffelse kom kort tid efter, da den annoncerede app ikke længere var i App Store. Jeg gætter på, at Romotives Apple-konto ikke blev fornyet, efter at firmaet gik konkurs, og dermed blev appsene taget ned fra App Store.
Det var en stor blokering. Min første idé var at forsøge at finde en gammel IPA. Dette ikke en øl, men i stedet en iOS app’s eksekverbare fil. Det er lettere sagt end gjort, for på iOS er det svært at få fat i IPA-filer, og selv hvis du gør, ville det kræve en jailbroken telefon for at kunne køre den på din enhed.
En anden vej, som jeg ville udforske, var at finde måske noget open source på GitHub eller et andet sted. Efter lidt fifleri med uvedligeholdte eller ufuldstændige repos lykkedes det mig at samle den komplette kildekode til Romo-appen og SDK’et! Tilsyneladende gjorde Romotive, inden de lukkede ned, venligt dette:
“We’ve decided to completely open-source every last bit of Romo’s smarts. Alle vores projekter bor i denne repo, og du er fri til at bruge dem som du vil.”
Hurra! Endelig begynder tingene at se godt ud.
Ikke så hurtigt… Hvad jeg havde i mine hænder en temmelig forældet og massiv kodebase med masser af fejl, advarsler og inkompatibiliteter. Heldigvis er jeg en iOS-udvikler, så jeg kunne gøre brug af det, jeg havde i hænderne. Det ville ikke være nogen nem opgave, og der var ingen garanti for, at det rent faktisk ville virke til sidst.
Fast forward to today
Efter mange timers arbejde og opdeling af opgaven i mindre bidder lykkedes det mig at rydde op i rodet og få næsten alt til at virke!
Nu er alle gamle og nyere iOS-versioner understøttet. Du kan bruge Romo med alle iOS fra iOS 6 til iOS 12! Der blev lagt betydeligt arbejde i netop bagudkompatibilitet, så I alle kunne bruge jeres gamle 30 pin Romo’er og gamle iPhones.
Du kan bruge alle enheder op til iPhone 8! Det havde Romo-producenterne nok ikke forudset 😎
Du kan bruge Romo X Control til at styre din Romo-robot fra en anden iOS-enhed i det samme netværk.
Der blev foretaget store oprydninger og optimeringer, og appen er nu så let, at selv en iPhone 3GS kan håndtere den.
Romo-udviklere
Det endelige mål var at gøre det muligt for eksisterende eller nye fællesskaber af beslutningstagere, undervisere og forskere at engagere sig aktivt i Romo-platformen og smartphone-robotik i almindelighed.
Jeg ser et stort potentiale med den hardware, der er pakket i smartphones på det seneste. Og at have disse hestekræfter på hjul åbner helt sikkert op for nye muligheder.
Jeg ønskede at gøre det nemt for udviklere at tage Romo til sig og begynde at skrive apps til den på ingen tid. Derfor er Romo SDK’et nu open source og tilbydes på CocoaPods.
Vi har allerede set andre Romo-projekter som dette seje projekt, der sætter Romo i augmented reality.
Jeg håber, at vedtagelsen af CocoaPods vil bidrage til at se flere og flere projekter som dette!
Hvad er det næste
Det er korrekt at sige, at jeg har næsten alting til at fungere, men jeg ville ønske, at jeg kunne fjerne ordet næsten fra min sætning. Det eneste, der mangler, er telepresence, dvs. muligheden for at logge ind på afstand på din Romo og styre den. Det er en cool og nyttig funktion, som mange brugere har bedt om.
Hvis du ønsker at se det ske lige så meget som jeg gør, så besøg min Patreon-side, og vær venlig at støtte mig. Du kan se de mål, der er sat, og hvor langt vi er fra dem. Du kan finde Romo X og Romo X Control i App Store.