Robotik 101 Robotik handlar om att bygga maskiner som kan känna, bestämma och agera i den fysiska världen under osäkerhet. En allmänt använd standardram (ISO 8373) beskriver en robot som en programmerad, aktiverad mekan med en viss grad av autonomi, som rör sig inom sin omgivning för att utföra avsedda uppgifter. Föreställ dig en robot som en loop som körs tusentals gånger per minut: Det börjar med att känna av. Kameror, LiDAR, radar, IMU:er, kodare – var och en ger en delvis, bullrig bild av världen och robotens egen kropp. Roboten gör sedan tillståndsuppskattning, vilket är ett fint sätt att säga: "med tanke på bullriga mätningar, var är jag, hur snabbt rör jag mig, och hur osäker är jag på det?" Utan uppskattning byggs varje beslut nedströms på sand. När roboten har en användbar uppskattning gör den perception: den upptäcker objekt, fritt utrymme, hinder och ibland semantiska etiketter ("detta är en pall", "detta är en människa", "detta är en dörr"). Perception är där modern ML hjälper mycket, men det är också där robotik straffas av undantagsfall: reflekterande ytor, damm, regn, rörelseoskärpa, udda geometri. Sedan kommer planeringen. Planeringen är vanligtvis lagerdelad: ➤ En högnivåplanerare bestämmer vad som ska göras härnäst (gå till gång 7, välj punkt A, återvänd till stationen) ➤ En rörelseplanerare bestämmer hur den ska röra sig utan kollisioner och inom fysiska begränsningar ➤ En bangenerator jämnar ut rörelsen så att den faktiskt går att köra (inga omöjliga accelerationer eller ryck) Kontrollen omvandlar den planen till motoriska kommandon. Detta är den del många underskattar: roboten "rör sig inte till en punkt", den måste ständigt korrigera sig själv medan världen trycker tillbaka (hjulslir, lastskiftningar, friktionsförändringar, leder värms upp). Under allt detta ligger hårdvaruverkligheten: mekanik, ställdon, kraft och termiska gränser. En robot med bra mjukvara men svag aktivering eller dålig sensorförmåga blir snabbt opålitlig. Moderna robotar är sällan en enda monolit av mjukvara. De är system bestående av moduler som publicerar och prenumererar på dataströmmar. Detta är en anledning till att ROS 2 används i stor utsträckning som ett systemramverk: det uppmuntrar en "graf av noder" som utbyter meddelanden över ämnen, med justerbar kommunikationstillförlitlighet via QoS-inställningar.