Gruppe 3 – Blogg 7


Spider Manufacturers (Maskin):

Denne uken har Spider Manufacture ferdigstilt en komplett 3D modell, produsert komponenter og montert en komplett prototype.

Fra forrige uke ble det fordelt slik på 3D modelleringen:

  • Ole Martin (Systems engineer): Demping
  • Kristian (Expert): Bein
  • Vinay (Expert): Kropp

Under monteringen ble det støtt på noen utfordringer slik som:

  • Sprekker i PLA
  • For tynt gods
  • Feil dimensjoner
  • Manglende festehull
  • Manglende batterisikring

De fleste utfordringene ble løst med ulike modifikasjoner.

Selv om det ble møtt på noen utfordringer, fikk Spider Manufacturs ferdigstilt en komplett prototype, slik at Creepy Coders kan starte med testingen.

Her er bilder fra dagen som ble brukt til monteringen:

Etter monteringen, ble det bestemt at vi skal kjøre en design review av alle komponenter, for å se på mulige forbedringspotensialer.

Creepy Coders (Data):

Etter mange uker med stort sett bare testing så har vi denne kommet i gang med å strukturere koden slik at vi skal ha et grunnlag til å 1. skape bevegelser og 2. kunne gjenbruke koden på forskjellige ben. Dette kommer til å bli en iterativ prosess der både koding og diagrammer kommer til å forandre seg. Oppdaterte versjoner av diagrammer og kode ligger ute på https://github.com/martintara/creepy

Vi prøvde oss også på å få til kommunikasjon mellom en Xbox-kontroller og Raspberry Pi uten hell. Vi skal prøve igjen med en dongle senere. Viser seg at drivere til xbox-kontroller er problematisk på Raspberri Pi.

Individuelle innlegg

Ole Martin: 

Enda en uke har gått, og modellen som ble påbegynt forrige uke er nå ferdigstilt, og delene er produsert. En av de mer komplekse utfordringene i designet var å utvikle en bryter i den nedre delen av armen, som kunne aktivere mikro-bryteren og deretter returnere til startposisjonen etter kontakt med bakken. Løsningen jeg kom frem til, var å lage en ramme for bryteren og deretter bygge et hus rundt denne rammen, slik at det var plass til et fjærbelastet stempel. (Bilder følger).

Etter montering testet jeg mekanismen, og den fungerte som den skulle. Mikrobryteren ble komprimert, kretsen ble brutt, og systemet responderte som forventet.

Resten av den nedre armen ble da montert sammen, demperene har også mulighet til å skures opp for å skifte eller legge til ekstra fjærer etter behov.

Resten av den nedre armen ble deretter satt sammen. Demperne har også mulighet for justering, slik at man kan stramme dem opp eller legge til ekstra fjærer etter behov. Sammen med resten av gruppen fikk vi også montert V4 av testplattformen vår – og den ble skikkelig kul!

Det er imidlertid noen deler som ikke helt opp til standar, så i løpet av neste uke vil vi sette av tid til å gå gjennom designet på nytt. Målet er å forbedre kvaliteten og sikre bedre samkjøring av komponentene for et mer helhetlig og funksjonelt design fremover.

Vinay:

Denne uken har jeg fullført 3D modellering av en komplett kropp til roboten. Dette er bilde av kroppen hvor alle krettskort og bein med servomotorer skal monteres på:

(Komponentholder)

Siden det var ønskelig med lavt tyngdepunkt, valgte jeg å plassere batteriet på “en etasje” under platen, ved hjelp av en batteriholder og en ekstra holder. Ledningene til batteriet kan føres opp gjennom slissene i midten av komponentholderen.

(Batteriholder)

(Ekstra holder)

Slik ser sammenstillingen av batteriholderen, ekstra holderen og komponentholder ut:

(Sammenstilling 1)

Slik ser modellen ut med kretskort og hvordan beinene som Kristian har modellert skal monteres på:

(Sammenstilling 2)

For å heve kretskortene er det enkle spacere under festehullene til kretskortene.

I tillegg til å ferdigstille kroppen, har jeg 3D printet de fleste delene jeg og Kristian har modellert i PLA. Her er bilde av en av print platene:

Til slutt har jeg vært med på å montere alle delene til en komplett robot.

Under monteringen, så møtte jeg på noen problemer med 3D modellene jeg hadde modellert. Blant annet så hadde jeg glemt å tegne opp skruehull til 2 av servomotorene, feil dimensjon på noen hull og glemt å sikre batteriholder i en retning.

Ettersom vi ønsket å ferdigstille en komplett prototype, slik at Creepy Coders kan starte med testing. Jeg valgte i enighet med Kristian og Ole Martin å borre opp hull og bruke strip/teip for å holde batteriet. Løsningene er fungerende.

Til neste iterasjon med iterasjon med 3D modellering vil jeg fokusere på:

  • Nøyaktighet
  • Monteringstid
  • Styrke på print

Kristian:

Etter Vinay og Ole Martin 3D printet delene våre, satte vi sammen den nye prototypen. Underveis oppdaget vi noen ting jeg kunne forbedret. Forrige iterasjon var noen av delene mine for store og tunge, noe som jeg overkompenserte for denne gangen. Noen kritiske punkter var for tynne og sprakk. I tillegg var det noen detaljer som gjorde modellen vanskelig å montere. Videre skal jeg oppdatere designene mine for å fikse dette.

Martin:

Denne uken startet jeg oppgaven med strukturere koden vår. Idéen er å ha en objektorientert tilnærming der hovedklassen består av en liste med “leg” objekter. Hvert leg objekt skal ha en liste med 3 servoer. Jeg driver fortsatt å børster støv av pythonkunnskaper, men det jeg har testet av kode så langt har fungert. Koden er fortsatt i infantilstadiet, men jeg har troen på at dette skal fungere. Koden finner du på https://github.com/martintara/creepy/tree/main/src. I skrivende stund er det bare servo.py som det er noe vits å se på. Denne klassen er så og si ferdig funksjonelt og jeg har dokumentert koden så den burde være forståelig.

Ida:

Denne uken har gått til å sette opp og å lære meg ROS2, slik at vi kan bruke dette til å kontrollere robotens bevegelser. Jeg har gått gjennom en turtlesim-tutorial som er et enkelt program hvor man simulerer en skilpadderobot. Ved dette har jeg lært litt om hvordan jeg kan sende kommandoer via ROS2-kommunikasjonsarkitekturen. Jeg har også sett på RQT, et grafisk verktøy som gir en oversikt over aktive nodes, topics og services som kjører i systemet. Videre vil jeg lære meg Gazebo til å simulere roboten.

Didrik:

Denne uke så har jeg og Martin diskutert og laget et tidlig utdrag av et class diagram på  hvordan vi kan sette opp koden til roboten vår på en objektorientert måte før vi i neste uke forhåpentligvis vil kunne få den ferdigmonterte modellen av roboten slik at vi kan begynne å skrive kode som er spesifisert til systemet vi lager.

Vi prøvde oss også på å koble sammen Raspberry Pi til en Xbox kontroller slik at i framtiden vi skal ha muligheten til å kontrollere roboten manuelt, men etter mye prøving (som å gå ut til et parkeringshus for å minske antall andre bluetooth signaler) så kom vi ingen vei. 

Bjørn Ole:

Denne uken har jeg jobbet med å lære meg og forstå koden som Martin har laget til systemet. I tillegg har jeg fortsatt å se litt på hvordan ROS2 (Robot Operating System) fungerer, da vi stadig vurdere å ta dette i bruk med tanke på å implementere machine learning i vårt system. Jeg har også jobbet litt med UML. Har da laget ett veldig enkelt Use Case diagram, for å vise de helt grunnleggende funksjonene til vårt system og hvordan samhandlingen med bruker fungerer.

I tillegg til dette har jeg begynt å finne dokumentasjon og datablad på alle delene vi tar i bruk, og legger dette inn i vårt GitRepo.


Leave a Reply