Publisert Legg igjen en kommentar

Bygge autonom lagerrobot med ROS 2: Fra CAD-design til ferdig løsning

En utvikler har delt sin erfaring med å bygge en komplett autonom mobilrobot (AMR) for lagerautomatisering ved hjelp av ROS 2. Prosjektet dekker alt fra CAD-design i Fusion 360 til avansert navigasjon og presis docking med ArUco-markører.

Utviklingen av autonome lagersystemer blir stadig mer tilgjengelig for hobbyister og mindre bedrifter takket være åpen kildekode-verktøy som ROS 2. La oss se hvordan dette omfattende robotprosjektet ble realisert fra bunn av.

Systemarkitektur og teknisk stack

Roboten bygger på en solid teknisk foundation med ROS 2 som hovedrammeverk. Chassiset ble designet i Fusion 360 før det ble eksportert til URDF-format for bruk i ROS-økosystemet.

Den tekniske stacken består av flere sentrale komponenter:

  • Nav2 for navigasjon og ruteplanning
  • ArUco-basert visuell docking for presis justering ved hyller
  • Tilpasset waypoint-sekvensering for flerhylle-oppgaver
  • Gazebo og RViz for simulering og visualisering

Dette gir roboten mulighet til å autonomt navigere mellom ulike hyller, hente varer og levere dem til angitte soner uten menneskelig inngripen.

Utfordringer med LiDAR og odometri

En kritisk utfordring oppsto da LiDAR-punktskyen roterte sammen med roboten i RViz, noe som ødela kartlegging og navigasjon. Problemet viste seg å være en odom/TF mismatch under svinger.

Løsningen ble å utvikle en Ground TruthOdom-node som bruker Gazebo pose-data for å publisere stabil /odom og konsistent TF, inkludert håndtering av tidsstempel-problemer mellom ROS og Gazebo.

Denne typen debugging og problemløsning er typisk for robotikkprosjekter og viser viktigheten av å forstå TF-systemet i ROS grundig.

Praktisk anvendelse og resultater

Det ferdige systemet demonstrerer imponerende kapasiteter ved autonomt å betjene forespørsler for spesifikke hyller (Hylle B og Hylle C) og levere varene til utleveringssonen. ArUco-markørene sikrer presis posisjonering ved hver hylle, noe som er kritisk for pålitelig varehåndtering.

Prosjektet viser hvordan moderne robotikk-verktøy kan kombineres for å skape sofistikerte automatiseringsløsninger. For hobbyister og studenter representerer dette en excellent læringskilde for avanserte ROS 2-konsepter som transformasjoner, navigasjon og sensorfusjon.

Systemet er fullt kompatibelt med standard ROS 2-distribusjoner og kan tilpasses ulike lagerlavouter og robotplattformer. OpenCV-integrasjonen for ArUco-deteksjon gjør løsningen robust og kostnadseffektiv sammenlignet med proprietære docking-systemer.

Kilde: ROS Discourse

Publisert Legg igjen en kommentar

Hvordan bygge en IK-løser for robotarm i ROS2 – Komplett guide til NERO Arm

Inverse kinematics (IK) er hjørnesteinen i moderne robotstyring, men kan være utfordrende å implementere for redundante 7-DOF robotarmer. En ny tutorial viser hvordan du kan bygge en parametrisk IK-løser for NERO-robotarmen i ROS2, basert på banebrytende forskning fra Tsinghua University.

Hva gjør 7-DOF robotarmer spesielle?

En 7-DOF robotarm med S-R-S konfigurasjon (Spherical Shoulder – Revolute Elbow – Spherical Wrist) har én ekstra redundant frihetsgrad sammenlignet med konvensjonelle 6-DOF manipulatorer. Dette betyr at når end-effektorens posisjon og orientering er fastsatt, finnes det uendelig mange løsninger for leddvinklene.

Denne redundansen er både en fordel og en utfordring. På den ene siden gir den robotarmen større fleksibilitet til å unngå hindringer og operere i trange rom. På den andre siden kompliserer det beregningen av inverse kinematics betydelig.

Parametrisk tilnærming til IK-løsning

Tutorialen presenterer en elegant løsning basert på parametrisk inverse kinematics. Metoden introduserer en redundancy parameter som effektivt reduserer det uendelige løsningsrommet til en håndterbar mengde.

Nøkkelen ligger i å parametrisere redundansen på en måte som gjør det mulig å optimalisere for spesifikke kriterier som leddgrenser, energiforbruk eller hinderunnvikelse.

Implementasjonen består av to hovedkomponenter:

  • ik_solver.py: Kjernealgoritmen som utfører de matematiske beregningene
  • ik_joint_state_publisher.py: ROS2-node for sanntidsoperasjon

Praktisk implementasjon i ROS2

Det som gjør denne tilnærmingen særlig verdifull er integrasjonen med ROS2-økosystemet. Den parametriske IK-løseren kan kjøres som en sanntids-node, noe som gjør den egnet for:

  • Interaktiv robotstyring og telepresens
  • Automatiserte pick-and-place operasjoner
  • Forsknings- og utdanningsprosjekter
  • Industrielle automatiseringsløsninger

Algoritmen tar hensyn til leddgrenser og optimaliserer bevegelsene for å unngå singulariteter – et vanlig problem ved IK-beregninger. Dette gjør løsningen robust nok for praktisk bruk.

For utviklere som jobber med robotikk-prosjekter, representerer denne tutorialen en verdifull ressurs. Den kombinerer solid matematisk fundament med praktisk implementasjon, og viser hvordan avansert robotikk-forskning kan omsettes til brukbare verktøy.

Kilde: ROS Discourse

Publisert Legg igjen en kommentar

Ny algoritme løser komplekse robotbevegelser med Jacobian-styrt partikkelsvermoptimering

Forskere har utviklet en forbedret partikkelsvermoptimering (PSO) som løser komplekse bevegelsesberegninger for robotarmer som mangler analytiske løsninger. Den nye metoden kombinerer ikke-lineære treghetsvekter med Jacobian-veiledning for å oppnå mer presise og jevne robotbevegelser.

Inverse kinematikk er et av de mest utfordrende problemene innen robotikk – å beregne hvilke leddvinkler en robotarm trenger for å nå en ønsket posisjon og orientering. Mens enkle roboter har matematiske formler som gir eksakte svar, må komplekse robotarmer (såkalte ikke-Pieper roboter) løse dette gjennom iterative beregningsmetoder.

Utfordringene med tradisjonell PSO

Partikkelsvermoptimering har lenge vært en populær metode for å løse inverse kinematikk, men konvensjonelle PSO-algoritmer sliter med flere problemer:

Algoritmene konvergerer ofte for tidlig mot suboptimale løsninger, presterer ustabilt nær singulære konfigurasjoner, og gir begrenset jevnhet i robotbanene.

Dette fører til rykkerige bevegelser og redusert nøyaktighet – spesielt problematisk for presisjonskrevende oppgaver som montasje eller kirurgiske inngrep.

Den nye løsningen: Jacobian-styrt PSO

Forskerne har utviklet en forbedret ramme som adresserer disse utfordringene gjennom to hovedinnovasjoner:

To-fase treghetsvektstrategi: Algoritmen tilpasser seg dynamisk – den utforsker bredt i starten for å unngå lokale minimumer, før den fokuserer på fininnstilling når den nærmer seg den optimale løsningen.

Jacobian pseudo-invers veiledning: Ved å integrere gradientbasert retningsinformasjon fra Jacobian-matrisen, får algoritmen bedre «sans» for hvilken retning den skal søke i. Dette gjør konvergensen raskere og mer robust, særlig i utfordrende singulære konfigurasjoner.

Praktiske fordeler og bruksområder

Den nye metoden bruker kvaternion-basert poserepresentasjon kombinert med en «joint continuity penalty» som sikrer jevne overganger mellom bevegelser. Dette er særlig verdifullt for:

Industriroboter: Bedre presisjon i pick-and-place operasjoner
Kollaborative roboter: Jevnere bevegelser som er tryggere rundt mennesker
Forskningsroboter: Håndtering av komplekse geometrier som redundante eller ikke-standard konfigurasjoner
Utdanningsformål: Mer pålitelige resultater for studenter som jobber med robotikksimuleringer

Metoden er kompatibel med eksisterende robotkontrollsystemer og kan implementeres på standard datamaskinvare. For hobbyister og studenter som jobber med Arduino eller Raspberry Pi-baserte robotarmer, kan denne tilnærmingen gi betydelig forbedrede resultater sammenlignet med tradisjonelle metoder.

Kilde: Scientific reports

Publisert Legg igjen en kommentar

Bygg en linjefølgerobot: Komplett prosjektguide

En linjefølgerobot er det perfekte første robotikk-prosjektet! Denne roboten bruker sensorer til å følge en svart linje på gulvet, og kombinerer grunnleggende elektronikk, programmering og mekanikk på en morsom måte.

I denne guiden bygger vi en enkel men effektiv linjefølgerobot fra bunnen av. Du lærer å koble sammen IR-sensorer, kontrollere motorer og programmere intelligent robotadferd.

Hva du trenger

  • Arduino Uno – mikrokontrollen som styrer roboten
  • L298N motordriver – for å kontrollere DC-motorene
  • 2x DC-motorer med hjul – for fremdrift
  • 2-3x IR-sensorer (TCRT5000) – for linjedeteksjon
  • Chassis/ramme – kan være akryl, tre eller 3D-printet
  • Batteripakke (6-9V) – strømforsyning
  • Koblingskabler og breadboard
  • Skruer, bolter og monteringsutstyr
  • Svart tape – for å lage testbane

Slik fungerer en linjefølgerobot

Prinsippet er enkelt: IR-sensorer (infrarød) sender ut lys og måler hvor mye som reflekteres tilbake. Hvite overflater reflekterer mye lys, mens mørke overflater absorberer det. Roboten justerer retning basert på disse målingene.

IR-sensorer består av en IR-LED som sender ut lys, og en fototransistor som mottar det reflekterte lyset. TCRT5000 er en populær modul som gir både analog og digital utgang.

Tips: Start med å teste sensorene på forskjellige overflater før du begynner byggingen. Hold dem 3-10mm fra underlaget for best resultat.

Steg 1: Bygg chassiset

Chassiset er robotens «skjelett» som holder alle komponenter på plass. Du kan bruke:

  • Ferdig chassis – enklest å komme i gang med
  • Akrylplate – lett å bore hull i og tilpasse
  • 3D-printet ramme – full kontroll over design

Plasser motorene i front eller bak, avhengig av design. Arduino og motordriver monteres oppå, mens sensorer festes under chassiset, 5-10mm fra bakken.

Steg 2: Monter sensorene

Sensorplassering er kritisk for god ytelse:

  1. To sensorer: Plasser en på hver side av hvor linjen skal gå
  2. Tre sensorer: En i midten, to på sidene – gir bedre presisjon
  3. Avstand: 2-3 cm mellom sensorene
  4. Høyde: 3-8mm fra bakken

Fest sensorene solid – vibrasjon kan forstyrre målingene.

Steg 3: Koble sammen elektronikken

L298N motordriver er hjertet i motorstyringen. Den tar lave strømssignaler fra Arduino og forsterker dem til å drive motorene.

Arduino Uno D2-PWM D3-PWM A0-A2

L298N IN1-IN4 ENA-ENB OUT1-OUT4

Motor L

Motor R

IR-sensor

Batteri

+12V

GND

Viktige tilkoblinger:

  • Arduino pin 2,3: Til L298N IN1, IN2 (venstre motor)
  • Arduino pin 4,5: Til L298N IN3, IN4 (høyre motor)
  • Arduino A0-A2: Til IR-sensorenes analoge utganger
  • L298N +12V: Til batteriets pluss
  • Felles jord: Koble alle GND sammen

Tips: Bruk forskjellige farger på kablene – rød for strøm (+), svart for jord (GND), og andre farger for signaler. Dette gjør feilsøking mye enklere!

Steg 4: Programmering

Her er grunnkoden for å komme i gang:


// Definer pins
const int sensorLeft = A0;
const int sensorCenter = A1;
const int sensorRight = A2;

const int motorLeftA = 2;
const int motorLeftB = 3;
const int motorRightA = 4;
const int motorRightB = 5;

void setup() {
  pinMode(motorLeftA, OUTPUT);
  pinMode(motorLeftB, OUTPUT);
  pinMode(motorRightA, OUTPUT);
  pinMode(motorRightB, OUTPUT);
}

void loop() {
  int left = analogRead(sensorLeft);
  int center = analogRead(sensorCenter);
  int right = analogRead(sensorRight);

  if (center > 500) {
    // Kjør rett frem
    moveForward();
  } else if (left > 500) {
    // Sving venstre
    turnLeft();
  } else if (right > 500) {
    // Sving høyre
    turnRight();
  }
}

Introduksjon til PID-kontroll

PID (Proportional-Integral-Derivative) er en avansert styringsmetode som gir mykere og mer presise bevegelser. I stedet for brå svinger, justerer PID motorhastigheten gradvis basert på hvor langt roboten er fra ønsket posisjon.

PID beregner en feil (hvor langt fra linjen) og justerer motorene proporsjonalt. Dette gir mindre oscillasjon og raskere kjøring.

Tips: Start med enkel on/off-logikk først. Når roboten følger linjen greit, kan du implementere PID for bedre ytelse.

Vanlige feil og løsninger

  • Roboten reagerer ikke: Sjekk batteriets spenning og alle jordforbindelser
  • Motorene går bare en vei: Bytt om på motortilkoblingene til L298N
  • Sensorene gir rare verdier: Juster høyden og kalibrer grenseverdiene
  • Roboten oscillerer voldsomt: Reduser motorhastigheten eller implementer PID
  • Mister linjen i svinger: Legg til flere sensorer eller øk bredden mellom dem

Neste steg

Når grunnroboten fungerer, kan du utvide med:

  • Hastighetsregulering med PWM
  • LCD-display for debugging
  • Trådløs kommunikasjon
  • Mer avanserte sensorer

Alle komponenter du trenger finner du i nettbutikken vår – fra Arduino-boards til sensorer og motorkomponenter. Lykke til med byggingen!

Publisert Legg igjen en kommentar

Autonom klimaovervåking med droner: Norsk gjennombrudd åpner nye muligheter

Et norsk-ledet EU-prosjekt har utviklet det som kan bli fremtidens løsning for autonom klimaovervåking med droner. Teknologien kombinerer avansert sensorer, AI og autonom navigasjon for kontinuerlig miljødata-innsamling uten menneskelig inngripen.

Klimaovervåking har tradisjonelt krevd manuell datainnsamling eller store, kostbare installerte systemer. Nå viser et norsk-ledet forskningsprosjekt hvordan autonome droner kan revolusjonere måten vi samler inn miljødata på.

Teknisk arkitektur bak suksessen

Kjernen i løsningen ligger i integrasjonen av flere teknologiske komponenter som arbeider sammen:

Sensorsystem: Dronene er utstyrt med høykvalitets miljøsensorer som måler temperatur, luftfuktighet, luftkvalitet og andre klimaparametere. Disse sensorene kommuniserer via I2C eller SPI-protokoller med dronens hovedprosessor.

Autonom navigasjon: GPS-basert waypoint-navigasjon kombineres med avanserte algoritmer for hinderunngåelse. Systemet bruker både LIDAR og kamerabasert computer vision for å navigere trygt i komplekse miljøer.

Nøkkelen er å kombinere pålitelig hardware med intelligent programvare som kan tilpasse seg skiftende miljøforhold

Datainnsamlingen skjer kontinuerlig mens dronen følger forhåndsprogrammerte ruter. All informasjon lagres lokalt på SD-kort og kan også overføres i sanntid via 4G/5G-moduler til cloudbaserte analyseplatformer.

Praktiske bruksområder og spesifikasjoner

Teknologien egner seg for en rekke anvendelser der kontinuerlig miljøovervåking er kritisk:

  • Landbruk: Overvåking av mikroklima i avlinger
  • Forskning: Langvarige klimastudier i utilgjengelige områder
  • Industri: Miljøkontroll rundt industrianlegg
  • Naturforvaltning: Økosystemovervåking i nasjonalparker

Systemet opererer med flytetider på opptil 45 minutter per oppdrag, avhengig av payload og værforhold. Dronene kan fungere i temperaturer ned til -20°C og tåler vindstyrker opp til 15 m/s.

Fremtidsperspektiver for hobbysegmentet

Det interessante med denne utviklingen er hvordan teknologien gradvis blir tilgjengelig for hobbyister og mindre organisasjoner. Mange av komponentene som brukes – som Arduino-kompatible mikrokontrollere, standard miljøsensorer og open-source flygekontrollere – finnes allerede på markedet til overkommelige priser.

For de som ønsker å eksperimentere med lignende løsninger, er det viktig å forstå både de tekniske mulighetene og reguleringskravene. Autonom drift krever grundig planlegging og godkjenninger fra Luftfartstilsynet.

Prosjektet viser at grensen mellom profesjonell forskningsteknologi og hobbyutstyr blir stadig mindre tydelig. Med riktig kunnskap og utstyr kan også mindre aktører bidra til viktig miljøforskning.

Kilde: TU.no (Teknisk Ukeblad)

Publisert Legg igjen en kommentar

Revolusjonære biohybridroboter kombinerer levende muskler med PEDOT-fibre

**Forskere har oppnådd et gjennombrudd innen biohybridrobotikk ved å kombinere levende muskelvev med ultraledende PEDOT-fibre. Systemet muliggjør presis kontroll av robotbevegelser med spenninger så lave som 1V, og åpner for helt nye muligheter innen adaptiv robotikk.**

Naturen har alltid vært den ultimate ingeniøren når det gjelder adaptive bevegelsessystemer. Nå har forskere tatt et betydelig skritt nærmere å gjenskape disse kapasitetene gjennom en revolusjonerende tilnærming som kombinerer det beste fra biologi og elektronikk.

Gjennombrudd i bioelektroniske grensesnitt

Kjernen i denne innovasjonen ligger i bruken av poly(3,4-ethylenedioxythiophene) (PEDOT)-fibre som fungerer som både stimulerings- og sensorgrensesnitt mot levende muskelvev. Disse ultraledende fibrene skaper en sømløs kobling mellom det biologiske vevet og det elektroniske kontrollsystemet.

Tekniske spesifikasjoner som imponerer:

• Driftsspenning: Ned til 1V
• Effektforbruk: 0,376 ± 0,034 mW
• Lang levetid for muskelvev bevart
• Individuell adresserbarhet av fibere

Dette representerer en dramatisk forbedring sammenlignet med tradisjonelle bioelektroniske grensesnitt, som ofte krever høyere spenninger og kan skade det biologiske materialet over tid.

Presis kontroll og tilbakekoblingsmekanismer

Det som virkelig skiller dette systemet fra tidligere forsøk, er implementeringen av lukket sløyfe-regulering. PEDOT-fibrene fungerer ikke bare som aktuatorer, men også som sensorer som kontinuerlig overvåker muskelvevets tilstand og respons.

Forskerne demonstrerte systemets kapasiteter gjennom en to-muskel-drevet gående biohybridrobot som oppnådde presis spatiotemporal kontroll. Hver muskelenhet kan styres uavhengig, noe som muliggjør komplekse bevegelsesmønstre som ligger nærmere naturlige organismer enn tradisjonelle robotsystemer.

Fremtidsperspektiver og anvendelsesområder

Denne teknologien åpner for fascinerende muligheter innen flere områder:

Medisinsk robotikk: Biokompatible robotsystemer for kirurgi eller rehabilitering som kan tilpasse seg biologisk vev på en naturlig måte.

Miljøovervåkning: Adaptive roboter som kan operere i biologiske miljøer uten å forstyrre økosystemer.

Forskning og utvikling: Plattformer for å studere muskel-nerve-interaksjoner og teste nye terapeutiske tilnærminger.

Det lave effektforbruket og den enkle kontrollarkitekturen gjør systemet særlig attraktivt for anvendelser hvor lang driftstid og minimal kompleksitet er kritisk. La oss følge spent med på hvordan denne teknologien utvikler seg fra laboratoriebenken til praktiske implementeringer.

Kilde: bioRxiv : the preprint server for biology

Publisert Legg igjen en kommentar

Mars-roveren Perseverance knuser alle rekorder innen autonom navigasjon

Mars-roveren Perseverance har satt ny standard for autonom kjøring på den røde planeten, med hele 90 prosent selvkjørte distanser sammenlignet med Curiosity-roverens beskjedne 6,2 prosent. Dette gjennombruddet skyldes den revolusjonerende Enhanced Autonomous Navigation (ENav) algoritmen som navigerer det steinete Mars-terrenget med minimal datakraft.

Mens tidligere Mars-oppdrag som Curiosity og Opportunity var avhengige av detaljerte instruksjoner fra Jorden, har Perseverance fundamentalt endret måten vi tenker på robotnavigasjon i rommet. Per 28. oktober 2024 – roverens 1312. dag på Mars – har den tilbakelagt nesten all sin distanse helt selvstendig.

ENav-algoritmen: Hjernen bak suksessen

Det som gjør Perseverance så spesiell er Enhanced Autonomous Navigation-systemet (ENav). Denne algoritmen representerer et kvantesprang fra tidligere navigasjonsløsninger og klarer å behandle komplekse terrengdata i sanntid med overraskende lite datakraft.

Forskjellen er slående: Der Curiosity kun klarte 6,2 prosent autonom kjøring, har Perseverance oppnådd 90 prosent autonomi – en fjorten-dobling av ytelsen.

ENav fungerer ved å kontinuerlig analysere det omkringliggende terrenget gjennom roverens kameraer og sensorer. Algoritmen identifiserer hindringer som steiner, kratre og skrenter, og beregner den sikreste og mest effektive ruten i sanntid. Dette eliminerer den tidkrevende prosessen med å vente på kommandoer fra Jorden, hvor signaler bruker mellom 4-24 minutter hver vei avhengig av planetenes posisjon.

Tekniske spesifikasjoner og ytelse

Det mest imponerende ved ENav er hvordan den oppnår disse resultatene med begrensede dataressurser. Mars-rovere må fungere med mye mindre prosessorkraft enn det vi finner i moderne smartphones, samtidig som de må tåle ekstreme temperaturer, stråling og støv.

Systemet bruker stereoskopisk syn for dybdepersepsjon, kombinert med maskinlæringsalgoritmer som er spesielt tilpasset Mars-miljøet. Algoritmen kan klassifisere terrengtyper og forutsi hvor trygt det er å kjøre på ulike overflater.

Praktiske anvendelser på Jorden

Teknologien som ligger bak ENav har betydelige implikasjoner for autonome systemer her på Jorden. Prinsippene kan anvendes i:

• Selvkjørende biler som må navigere i utfordrende værforhold
• Industriroboter som arbeider i ukjente eller skiftende miljøer
• Droner for søk og redning i vanskelig tilgjengelig terreng
• Undervannsfarkoster for havforskning

For hobbyister og utviklere som arbeider med autonome robotprosjekter, demonstrerer Perseverance at sofistikert navigasjon ikke nødvendigvis krever enorme dataressurser – men heller smarte algoritmer og effektiv programmering.

Suksessen til Perseverance viser at fremtiden for autonom navigasjon ikke bare ligger i kraftigere hardware, men i intelligentere programvare som kan gjøre mer med mindre.

Kilde: IEEE Spectrum Robotics