View Single Post
Jeg tror dere vil oppleve det som for messy atm. Builden som opprinnelig funket (2 install scripts som installerer ROS-dependencies og bygger workspace samt starter demo simulering) er for øyeblikket ødelagt. Linken er her. Er det noe sted det gir mening at jeg begynner å forklare?

Har aldri brukt git før. Har ikke pushet siste versjon. Legger ut video som kanskje gir noe mer mening, brb.

Hvis det er sånn at dere gir det én sjanse så vil jeg at dere venter med å se på det til jeg har forberedt det litt minimalt.

https://github.com/bjortech/tb

For å installere og kjøre korrekt versjon av ROS MÅ du begynne med en fresh install av 18.04. Ikke prøv å down/upgrade, installer desktop versjon 18.04 fra USB disk (brenn med f.eks SD-formatter eller rufus).

https://youtu.be/o8T3sQ2_7-Q

Sjekk da. Dette er et forsøk på å vise såvidt hvordan tingene fungerer. Vi får inn punktene fra sensorer, eller i vårt tilfelle, de "simulerte" sensorene. Disse er simulert av roscpp- og rospy-noder i tb_simulate. Simuleringen er basert på et høydekart hentet fra hoydedata.no. Det er ikke relevant at dataene er feil, utfordringene vi ser på er knyttet til veldig høyt nivå av abstraksjon. Altså er sensordataene filtrert, sannsynlighetsfordelt og deretter konvertert til euklidiske avstandsfelt som igjen danner setpointene en inspeksjon nødvendigvis må besøke. Utfordringen er å finne en dynamisk måte å reagere til omgivelsene som danner et forutsigbart, men enda fleksibelt atferdsmønster. Vi ønsker ikke å hardkode spesifikk atferd, men å la enkle regler definere en generisk type atferd. Akkurat som en enkelt agent i en svermintelligens. Dette har sine grunner, hirr hirr.

https://www.youtube.com/watch?v=iuS_t5tjIQc

Sånn ble den. God natt. Kommer tilbake om litt, når jeg har fått på plass en minimal introduksjon og fikset install-og-build scripts. Dere som ikke har det må få dere en dual-boot partisjon med Ubuntu 18.04. Det er helt rett frem å fikse, masse gode tutorials.

Det er det eneste dere må gjøre selv for å få installert og testet systemet. Lover. Og med det så kommer pointcloud library (PCL), OpenCV 3.1, tf2 osv osv. Man kan gjøre nesten alt i ROS uten å faktisk kunne kode; det viktigste er egentlig konfigurasjonen for launching av andres programvare. Men man kommer selvfølgelig fort til kort om man har spesifikke problem som må løses.

Sånn som her. Hele systemet må redefineres etter ROS2 sine prinsipper. Jeg aner ikke om det er noen andre i Norge som holder på med det, jeg skal høre litt rundt. Men ja, om noen klarer å gjøre mening ut av koden min så er det jo helt fantastisk.

La meg presisere at jeg ikke er noen abstrakt mattematiker eller phd i knotete kode. Det er ingenting mattematisk som er over videregående-nivå. Styrken til systemet er nettopp simplisiteten. Nå er riktignok filen jeg sitter å jobber i 2300 linjer lang, men som dere ser på git så har jeg gjort et heltemodig forsøk på å segmentere systemet. Det kan derfor virke ekstra "merkelig" bygd opp. Har måttet kutte noen corners.

Sitat av Myoxocephalus Vis innlegg
Kikker gjerne på koden din, jeg. Har da noe erfaring med både python og C++, antakelig nok til å kunne gjøre noe nyttig her og der hvis det du skriver her er en noenlunde rettferdig beskrivelse av situasjonen. Jeg tar følgende forbehold:
1) Jeg lover ingenting. Ne rien, null, zilch nix og nada. Ingen forpliktelser. Jeg er busy af, jeg har mine ting å stri med på flere fronter, hvis jeg skal delta i noe free softwareutvikling, så skal jeg ha mulighet til å gjøre så lite jeg gidder og trekke meg når som helst uten gnål.
2) Koden jeg må forholde meg til er fri programvare og jeg slipper å forholde meg til lisenspiss og jus.
3) Jeg forblir anonym.

Hvis deltakelse under de premissene er interessant for deg, så er jeg villig til å gi det et forsøk. Kanskje er hele greia milevis over hodet på meg og jeg kan ikke bidra med noe. Kanskje er det for messy til at jeg orker å investere noe særlig tid til å prøve veldig hardt. Men jeg er villig til å stille med et åpent sinn, og det jeg måtte besitte av realfagskompetanse.
Vis hele sitatet...
Alt er så absolutt helt ok for meg! Da ønsker jeg deg velkommen ombord, som første mann

***************Automatisk sammenslåing kommer, innlegg av tirsdag 09:00*******
God morgen!

Som tilsvar til STH's fundamentale forespørsel om roadmap:

Jeg kommer nå til å sette opp en konkret tidslinje for gjennomgang av de forskjellige pakkene systemet baseres på. Målet er å gjøre det tydelig hva som trengs for å oppnå hvilken funksjonalitet. Tenker det kan gi mening å spille inn litt forklaringer på norsk og, siden språk kan være en barriere for mange (selv uten at en grautete bergenser snakker upresist fagspråk).

Innen rimelig kort tid vil vi ha kommet dithen at de aktuelle problemstillingene kan adresseres. Den tid den glede. Enn så lenge fokuserer vi på å gi en grunnleggende innføring.

Er ikke vits at jeg sitter her og snakker om hvordan dette skal bli, jeg ser for meg at vi finner ut av ting as we go. Forslag til plattformer, samarbeidsverktøy osv mottas med et åpent sinn.

Nå lager jeg en ny branch, noe jeg ikke vet hva egentlig betyr, men jeg håper det betyr at jeg kan slette alt som ikke er nødvendig og bygge opp alt fra det grunnleggende og helt opp til det abstrakte.

Nå kan alle bare få på plass ubuntu 18.04 og vente til jeg sier fra om at den grunnleggende delen er klar for automatisk installasjon-bygging-starting (Det tar noen dager, toppen).

Med denne håndfullen pakker vil dere kunne starte robotsimulering og trykke rundt på kartet dere vil roboten skal bevege seg. Dere vil også kunne stille inn aktuatorer slik at de bevegelige delene i systemet beveger på seg. Allerede her vil dere utnytte state of the art robot funksjonalitet i form av ROS-navigation.

1) tb_robot: Dette er den mest fundamentale pakke som inneholder noen av de absolutte forutsetningene for at en robot skal utnytte ROS sin kjernefunksjonalitet.

2) tb_cmd: For å sende kommandoer til autopilot eller simulator trengs denne pakken. I denne pakken finnes også et lite triks for å utnytte en av de store fundamentale robot-byggeklossene - Move Base.

3) tb_simulate: Verdens enkleste simulator. Det denne gjør er så enkelt som å integrere hastighetskommandoene på tid og så sende ut lokalisasjon og rotasjon over samme "topic"* som DJI sitt ROS-interface gjør. I tillegg til dette utnyttes høydekartet som jeg tror jeg nevnte i går til å imiterere sensordata. Også tilstandsmelding sendt fra servoer simuleres i henhold til gitte kommandoer.

4) tb_bringup: Den viktigste pakken av dem alle - pakken som starter alt sammen. Launchfiles, konfigurasjoner etc.
Her er også hoveddelen av systemet, som tross alt ikke er utviklet av meg. Kommer til å dokumentere bedre, men kort oppsumert snakker vi om hardwaredrivere, filtere, robot_state_publisher, move_base, tf, URDF(Universal Robot Description File)(+xacro) og map_server. Innunder move_base har vi igjen et utvalg av forskjellige pathplanners- og costmap-plugns.

Oppsummert: Jeg kommer tilbake til dere så fort som mulig med en minimalistisk men dokumentert utgangspunkt-konfigurasjon.

Jeg vil også formulere litt mer konkret rundt hva jeg ser for meg i tiden fremover. Høres dette greit ut? Dere må bare skrike ut - jeg vet virkelig ikke hva som er riktig tilnærming her.


**************Automatisk sammenslåing - Tirsdag kl 11:15*************************
"Noen dager" var veldig pessimistisk.

Her har dere en ny branch - "freak". Så fort Ubuntu 18.04 er på plass skal script som laster ned og kjører demoen fungere! Alt ligger i readme på git. Si fra hvis noe er uklart.

https://github.com/bjortech/tb/tree/freak
Sist endret av Tøffetom; 22. september 2020 kl. 11:17. Grunn: Automatisk sammenslåing med etterfølgende innlegg.