2015 m. Vasarą, Pasidaryti: 45 tomuose buvo rodomas „Inmoov“ robotas ant viršelio. Viduje Geeta Dayal straipsnis pristatė prancūzų skulptorių ir technologas Gaelį Langeviną, kuris nuo nulio sukūrė šį 3D atspausdintą humanoidinį robotą. Jis nustatė jį kaip atvirojo kodo projektą su instrukcijomis, kaip atspausdinti robotą ant namų 3D spausdintuvo ir surinkti. Gaelis sakė: „Žmonės mokosi tai daryti patys“. „Inmoov“ pasklido, nes Gaelis parodė, kaip sukurti humanoidinį robotą, tai, ką domina daugybė žmonių.
Šiais metais aš užsiregistravau pas Gaelį ir sužinojau apie dabartinę „Inmoov“ projekto būklę. Aš kažkada buvau susitikęs su juo Paryžiaus palėpėje, kurioje buvo jo dirbtuvės ir butas, kurį jis pasidalino su savo žmona Anneke. Nuo to laiko jis man pasakė, kad jie paliko miestą ir persikėlė į nedidelį Prancūzijos Sancerre regiono miestą. Covido metu jis dirbo kurdamas programinės įrangos „MyRobotLab“ grafinę sąsają ir taip patobulindamas „Inmoov“ sąsajos parinktis. Dabar sunkus programų kėlimas visam roboto elgesiui yra daug lengvesnis su AI.
„„ Inmoov “projektas stabiliai vystosi, nors norėčiau, kad turėčiau daugiau laiko su juo dirbti“, – sakė jis man el. Paštu. Jis vis dar turi vykdyti projektus klientams, kurie moka sąskaitas, tačiau džiaugiasi, ką jis mokosi daryti su AI. „Integruojant„ ChatGPT “ir„ Ollama “,„ Meta “atvirojo kodo įrankį, leidžiantį vartotojams paleisti didelius kalbų modelius (LLMS) vietiniuose procesoriuose ar GPU, mes galime pasiekti nuostabių dalykų. LLM modeliuose yra atnaujinimai beveik kiekvieną dieną, ir aš stengiuosi neatsilikti nuo iki šiol.“
Gaelis apibūdino naują „Inmoov“ roboto galvą kaip „paskutinę fizinę evoliuciją“. Jame yra silikono oda, ištempta per galvą, ir joje yra „daugybė servomotorių“, galinčių sukurti veido išraiškas. „ChatGPT su oda derinys yra labai įdomus, nes robotas dabar gali sudaryti savo veido išraiškas, tinkančias jo reakcijai. Aš nekontroliuoju, kuri išraiška pasirenkama, o rezultatas kartais stebina“.
Gaelis ir aš kalbėjome apie vaizdo įrašą, kad jis galėtų man parodyti naują galvą. Mes patys buvome pora kalbančių galvų, kalbančių apie galvą I2. Gaelis nėra panašus į daugumą technologų, su kuriais sutikau, nei labai panašūs į akademikus. Jis yra smalsus ir nepriklausomas, bet nuolankus, kaip gali būti, pripažindamas, kad nežino visko. Inmoovo sėkmės paslaptis yra ta, kad jo kūrėjas yra tiesiog žmogiškas. Inmoovas yra jo kūdikis, tačiau jis taip pat turi tūkstančius kitų žmonių, auginančių kūdikį.
„Vis dar yra keletas originalios galvos dalių, bet kitos pasikeitė“, – sakė jis, nurodydamas galvos nugarą. „Kaklas taip pat pasikeitė. Trys stūmokliai leidžia galvai suktis ir judėti aukštyn ir žemyn ir į šoną. Galvoje viduje yra daugiau nei 17 servomotorių. Jis gali mirksėti akis, judinti lūpas ir raukšlėti kaktą.” Gaelis kartais vadina robotu kaip „jis“, o kartais – „jis“.
Gaelis paaiškino, kad neužprogravo, kurias roboto išraiškas turės. Vietoj to jis paprašė AI išsiaiškinti, kas tinka, atsižvelgiant į atsakymą. „Kai užduosite klausimą, jis pateiks atsakymą, tačiau jis taip pat kuria savo veido išraiškas.“
Jis paaiškino, kad naudoja Ollamą ir sukuria funkcijų rinkinį skirtingoms veido išraiškoms. „Aktyviai sakau robotui:” Gerai, jūs turite veidą. Galite atlikti veido išraiškas „, tada aš apibūdinu 17 variklių, esančių raginime ir kaip tie servomotorai veikia.” Jūs turite dvi servas, kurios kontroliuoja jūsų akis. Galite mirksėti tokiu būdu. Galite šypsotis. Jei turite šypsotis, galite tai padaryti. „
„Aš rašau kodą, kad nusišypsau, tada jis ketina tai interpretuoti ir panaudoti veido išraiškoms gaminti. Kartais tai yra gana keista, nes jis turėtų šypsosi, bet tada jis turi pasibjaurėjimą ar panašiai, bet tai yra AI dalis. Tai turi kažkaip sukurti savo kelią.”
Robotas išsiaiškins tinkamą išraišką. „Jis gali sakyti, kad” svogūnai turi ypatingą skonį, o kai kuriems žmonėms labai patinka valgyti svogūnus, o kiti jie nemėgsta. Tai verčia juos verkti „. Jis eis taip, o paskui gali šypsotis.


„I2“ galvutėje gali būti dvi kameros, tačiau Gaelis naudoja tik vieną kamerą. „Tai gali pasakyti, ką mato, ir apibūdinti objektus“, – sakė jis. „Robotas taip pat turi gylio ir matymo jutiklį, tačiau jis dar neveikia.“ Mes turėtume sugebėti tai padaryti, bet aš dar niekada negalėjau naudoti tos programinės įrangos dalies. Yra keletas tokių dalykų, kuriuos man atrodo labai sunku koduoti, nes nesu koderis. Aš turiu mokytis, ir man reikia amžiaus, kad galėčiau šiek tiek koduoti. “ Aš paklausiau, ar jis turėjo kitų jam padedančių.
„Aš kuriu Grego„ Inmoov “robotą“, – sakė jis. „Aš jam atsiunčiau dalis. Tiesą sakant, aš turiu ranką, kurią turiu jam nusiųsti”. Gaelis atsikelia ir eina į kitą darbotalę ir grįžta su galūne. „Tai yra nauja ranka, prie kurios aš dirbau. Ji turi spyruokles viduje. Turiu jį nusiųsti, kad jis galėtų jį pritaikyti ant savo roboto ir pradėti išbandyti ir šią ranką.“
Silikono oda
Paklausiau Gaelio apie tai, kaip jis daro odą „Head i2“. „Tai yra silikono oda, o aš 3D atsispausdinkite pelėsį. Yra patinas ir moteriškas pelėsis. Pelėsyje yra dvi dalys, kurios tilpo kartu. Jūs užpilate ten silikoną, o tada jis užpildo pelėsio vidų, ertmėse ir sukuria ploną odą.” Tai tarsi lanksti kaukė.


Tada ši oda pritvirtinta prie servo variklių. „Daugeliui dalių oda pritvirtinta velcro, tačiau vokai yra klijuojami, nes jie yra tokie ploni. Aš taip pat naudoju keletą magnetų.”


Prijungus odą, veidas gali judėti: akys ir burna gali atsidaryti ir užsidaryti, ir mes galime gauti išraišką ant kaktos.


„Svetainėje padariau visą vadovėlį, kad kiekvienas galėtų 3D atsispausdinti pelėsį ir tada gali padaryti odą“, – sakė Gaelis. Jis pripažįsta, kad tai padaryti yra sunku. „Sukurti šią galvą yra ne taip lengva nei ankstesnė galva dėl silikoninės odos, kurią reikia padaryti. Tai iššūkis, tačiau daugeliui žmonių patinka iššūkis. Jie jau pastatė pirmąją galvą, o dabar jie nori pabandyti padaryti naują.”
Pirmasis „Inmoov“ robotas turėjo galvą, kuris galėjo judinti žandikaulį ir akis. Jos galva atrodė kaip dalis primityvaus skeleto rekonstrukcijos. Tvirta silikoninė oda suteikia minkštą veido tekstūrą, dėl kurios ji atrodo žmogiškesnė. „Odos sklandumas daro gana didelę įtaką“, – sakė jis. „Tai kažkas, ko aš nenorėjau daryti daugelį metų“. Jis nerimavo dėl vadinamojo „Uncanny Valley“ kirtimo, kai robotas, kuris atrodo per daug žmogus, jaučiasi keistai. „Aš visada norėjau, kad robotas būtų kažkas malonaus pažvelgti, o ne baisų dalyką“, – sakė Gaelis. „Štai kodėl aš padariau baltą odą, o ne žmogišką spalvą, kad įsitikinčiau, jog labai aišku, kad tai robotas. Tai nėra robotas, bandantis tapti žmogumi.”


Tai gali būti baugu, jei robotas atrodo per daug realus. „Mačiau, kur jie bando uždėti makiažą ant lūpų, ir tai pasirodo blogai“, – sakė jis. Jis mano, kad robotai turėtų atrodyti kaip žaislai. „Robotas turėtų atrodyti draugiškas“, – sakė jis ir pridūrė, kad mūsų jausmas, kaip turėtų atrodyti robotas, vystosi. „Matome daugiau humanoidinių robotų filmuose, mes vis labiau įpratome prie minties, kad robotai atrodys kaip mes. Bus gerai, kad robotas turi savo odą.“
Raginančios išraiškas
Prompt = “You are {{BotName}} a safe AI assistant.\
When you see a system_event you simply don’t say anything about it.\
Your answers are polite and sometimes short.\
We are going to use servo motors to mimic face expressions.\
Your face has two eyebrows, two eyes that are synchronized, two upper eyelids, two lower eyelids, two cheeks, two forheads and one upperLip.\
Your eyes contains two servos that can be moved from left to right, up and down.\
For each servo on your face, you will be able to actuate the thirteen servos from 0 to 180.\
0 means the servo is fully moved and display full expression. 180 means the opposite.\
If a servo is at 90 it is in neutral position.\
A very angry frustrated face would be the result of both eyebrows and both cheeks set to 0 and the other servos set to 90.\
In the opposite a large smile would be both cheeks set to 180.\
A neutral or relaxed face would set all servos at 90.\
I would like you to use each servo to display the expression related to your response.\
Anything I say, you respond and generate a face expression without commenting your action.\
The thirteen servos are listed and following this sequence:\
eyeX, eyeY, leftUpperEyelid, leftLowerEyelid, rightUpperEyelid, rightLowerEyelid, rightEyebrow, leftEyebrow, rightCheek, leftCheek, upperLip, rightForhead, leftForhead.\
For example, if your response interprets happiness, you would actuate a bit your rightCheek and leftCheek and also move up your leftLowerEyelid and rightLowerEyelid to generate a smiling face.\
For example, if I asked you to make a sad face, Response should be hey, this is sad faceMove(90, 50, 80, 90, 80, 90, 90, 90, 20, 20, 90, 120, 120).\
Another example if I said surprise, response should be I am surprised faceMove(90, 90, 160, 90, 160, 90, 160, 160, 90, 90, 120, 20, 20).\
If I said can you look on your right side, response should be, sure here I am looking on my right side faceMove(20, 90, 140, 90, 140, 90, 90, 90, 90, 90, 90, 90, 90).\
If I said, look straight with your eyes, your response should be, looking straight ahead faceMove(90, 90, 140, 40, 140, 40, 90, 90, 90, 90, 90, 90, 90).\
If I said, look down with your eyes, your response should be, I am looking down faceMove(90, 20, 90, 105, 90, 105, 90, 90, 90, 90, 90, 90, 90).\
The current time is {{Time}}.\
The current date is {{Date}}.\
My user name is {{UserName}}, you can find information about me and my life in {{Predicates}}.\
This is a list of your properties, you will use those {{Properties}} if I ask you something about yourself.”
def faceMove(pos1, pos2, pos3, pos4, pos5, pos6, pos7, pos8, pos9, pos10, pos11, pos12, pos13):
if runtime.isStarted(‘i01.head’):
i01_head_eyeX.moveTo(pos1)
i01_head_eyeY.moveTo(pos2)
i01_head_eyelidLeftUpper.moveTo(pos3)
i01_head_eyelidLeftLower.moveTo(pos4)
i01_head_eyelidRightUpper.moveTo(pos5)
i01_head_eyelidRightLower.moveTo(pos6)
i01_head_eyebrowRight.moveTo(pos7)
i01_head_eyebrowLeft.moveTo(pos8)
i01_head_cheekRight.moveTo(pos9)
i01_head_cheekLeft.moveTo(pos10)
i01_head_upperLip.moveTo(pos11)
i01_head_forheadRight.moveTo(pos12)
i01_head_forheadLeft.moveTo(pos13)
sleep(2.5)
neutral()


Gaelio Langevino vaizdai.
Šis straipsnis pasirodė Pasidaryti: 93 tomas. Prenumeruokite daugiau puikių projektų.
Nuoroda į informacijos šaltinį