Få de daglige nyheder fra Version2 og Ingeniøren. Læs mere om nyhedsbrevene her.

close
Ved at tilmelde dig accepterer du vores Brugerbetingelser, og du accepterer, at Teknologiens Mediehus og IDA-gruppen lejlighedsvis kan kontakte dig om arrangementer, analyser, nyheder, job og tilbud m.m. via telefon og e-mail. I nyhedsbreve, e-mails fra Teknologiens Mediehus kan der forefindes markedsføring fra samarbejdspartnere.
fablab ruc bloghoved

Reverse kinematics, te og dåser

Mange tak for alle de gode input, Open-Source-makerbevægelse-robot-arm-projektet skrider frem!

Vi har fået de dåser, robotten skal flytte. Vi har jo heldigvis fundet ud af - ved lateral tænkning- at vi kan slippe for at robotten skal vende dåserne om - vi placerer bare kassen med dåserne i på hovedet og åbner bunden i stedet for toppen. Men, minor setback: bunden på dåserne er ikke plan, men mærkeligformet. Det kan vi heldigvis løse ved at speciallaserskære en elektromagnet form som passer til bunden på dåserne.

Illustration: Privatfoto

Her ser vi den elektromagnet vi skar i sidste uge. Som det ses er størrelsen på magneten ca. passende - dåserne er ca. 65mm Ø. Men den har dårlig pasform da dåsernes bund ikke er plane.

Således ser dåsernes bunde ud.

Vi skærer derfor en ny elektromagnetkerne, som har pasform med dåsen. Her kan det siges at være en fordel, at vi laserskar elektromagnetkernen - så tager det kun få minutter at skære en ny, tilpasset. Ellers er de muligheder vi kan se 1) hvis nogen solgte en elektromagnet med "ekstra unødvendig lang kerne", så kunne vi have sat den på drejebænken og drejede den ned så den passede til formen eller 2) vi skulle have taget en standard elektromagnet og så lavet passtykker.

Her ses det nye, tilpasset design på skærmen.

Her ses laserskærerens videoovervågningsskærm mens den skærer.

Resultetet, skåret ud af 3mm stålplade.

Her med dåsen. Tandhjulene man kan se i baggrunden er til vores intern Jason's spændende plastgenbrugsprojekt - det fortæller jeg mere om en anden gang :)

Her ses pasformen. Den kommer ikke til at passe helt perfekt, for vi har kun lavet ét design, selv om dåsens runding betyder at der jo er en lille forskel mellem formen målt ved diameter og den der er målt 3 mm ved siden af diameter, men det forventer vi er uvæsentlig i den virkelige verden - det må en test afgøre :)

Vi har ikke afprøvet endnu - jeg tænker vi snart afprøver hele gribe-løfte-slippe processen, med selve robotarmen som den testudførende. Én af grundene er - som nogle af jer har gjort opmærksom på - at vi ikke kan være sikker på de magnetiske egenskaber, når nu vi bare har taget noget tilfældigt jernplade vi havde liggende. Vi er spændte på om den giver slip, også efter en uges konstant drift, eller om den er blevet magnatiseret og skal degausses med store spoler som en anden 2. verdenskrig krigsskib :)

Samtidig med det projekt, er Bo gået i gang med at programmere reverse kinematics for en vilkårlig, parametrisk specificeret robotarm, i en Arduino. Det er noget af det dejlige ved folkene på FabLab RUC - han gik bare i gang fordi han synes det var sjovt og nyttigt, der var egentlig ikke nogen der krævede det af ham :) Ind til videre har vi (mis)brugt det Open Source Arduino firmware GRBL, som egentlig kun kan håndtere XYZ, ikke roterende akser. Det vil jo være en rigtig fed bidrag til Open Source robotverdenen hvis vi kan enten komme med et nyt firmware, som kan håndtere 3-4 aksede arme, eller modificere GRBL så det kan håndtere reverse kinematics. GRBL har jo allerede en G-code fortolker, og det er alt andet lige en fordel da G-code er standarden til at beskrive bevægelser for robotter. Det vil også være dejligt hvis det hele kan køres i en Arduino (f.eks. ved at læse instrukser, evt. i G-code, fra et SD kort) - sparer man computeren væk og kører alt i en microcontroller, er det erfaringsmæssigt meget mere pålideligt :)

Her ses Bo og den lille, model robotarm. Programmering Bo Thorning, video Johan Bichel Lindegaard, laserskåret arm Nikolaj Møbius, inspireret af denne kickstarter.

Her ses model robotarmen tættere på - hvis du selv vli lave sådanen derhjemme står der lidt om det på ingeniøren her, og der findes open source tegninger, både til laserskæring og 3D printning.

Her ses modelrobotarmen i gang med at lave te til to hjemme hos Bo. Den grimme hakkende bevægelse hænger sammen med at det er små billige radiofjernstyret bil servoer - men det er jo lige meget i forhold til forsøgets formål, nemlig at regne matematikken for bevægelserne ud.

Et af de næste skridt bliver at håndtere en process dåserne p.t. udsættes for af et menneske. Her kommer opgaverne og vores tanker om hvordan de evt. kan løses - jeres konstruktiv input er meget velkommen!

  • Dåsens ventil bliver presset ned imod en studs, som aktiverer ventilen. Man kan i hænderne mærke, om fjederen i ventilen fungerer rigtigt - der skal vi nok noget med at måle med en strain gauge målebro eller en fjeder og optisk afstand...

  • Hvis der er overtryk i dåsen (det er der sjældent, men det hænder nogle gange) så skal man vente til overtrykket er udlignet. Vi skal altså have målt, om der er overtryk, og vente med at fjerne dåsen fra studsen lidt længere. Vi skal altså måle airflow... måske noget med en lille impeller, CNC skåret eller 3d printet, og så en sensor, måske Hall eller magnetisk eller optisk, som bemærker at impelleren drejer rundt? En anden mulighed er at måle afkøling - vi har også på lageret fundet nogle fine målere som vi kunne bruge (billed nedenunder) men de virker måske unødvendige store, komplekse og præcise...

  • Hvis der er vand i dåsen (det er der sjældent) så skal den kasseres. Vi skal altså også have målt om der kommer vand/vandtåge ud - her tænker vi på at måle elektrisk modstand mellem to ledninger/net/"gafler" som stikker ind i hinanden.

Har I nogle gode/bedre bud på hvordan vi løser de tre måleudfordringer? :) Skriv løs...

Her ses en prof. airflow måler inkl datablad/diagram. Vi har 4 af dem på depotet (tak, Dan) og elsker jo upcycling -det virker dog overkill, hvis eneste formål er at opdage om der overtryk, ikke måle hvor meget flow der er.

sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først

ja, det har I vel spurgt om? Som jeg husker den oprindelige video jeg så af den manuelle process, så blev dåserne vendt om flere gange. Den sidste gang lignede noget med at fordele noget inden i dåsen. Måske det havde et formål?

  • 1
  • 0

To underspørgsmål til vandmålingen er:

1) Hvad er mon den optimal sensor form? Vi kunne jo bare have to ledningsender tæt på hinanden, lige ved ventiludmundingen, og vi måler elektrisk modstand imellem. Eller det kunne være gafler, så der er flere ledere, tæt på hinanden. Eller det kunne være på en printplade, så der er ingen mulighed for kortslutninger samtidig med at der er meget kort imellem de ledende elemeneter. Eller andre forslag?

2) Kan det betale sig at skifte hviken pol der er positiv og hvilken der er negativ? Det vil måske øge målenøjagtigheden og spare noget galvanisk tæring/andre kemiske processer? På den anden side forventes denne måler jo ikke at være vådt særlig tit - så måske ville det være unødvendig komplekst og spild af tid?

  • 0
  • 0

Det er et godt spørgmål :) Heldigvis har Flemming (ingeniøren fra firmaet) allerede i denne kommentar http://ing.dk/blog/brugt-6-kr-4994-kr-tilb... bekræftet, at det kan man godt, og det er noget de allerede selv havde overvejet. Dåserne er på dette tidspunkt i processen tomme.

Når det så er sagt - den bevægelse de gør mens de vender - inkluderer flere delprocesser:

  • fjerne hætten fra dåsen
  • mærke om ventilen føles glad m.h.t. fjedertryk
  • tjek om der er overtryk
  • tjek om der er vand i

Så på den måde har du ret - der er flere ting, der skal tjekkes/løses af robotopstillingen på en anden måde end det sker i dag med mennesket :)

  • 0
  • 0

"Hvis der er overtryk i dåsen (det er der sjældent, men det hænder nogle gange) så skal man vente til overtrykket er udlignet. Vi skal altså have målt, om der er overtryk, og vente med at fjerne dåsen fra studsen lidt længere. Vi skal altså måle airflow... mås [SNIP].."

Hvorfor måle airflow? Har i tænkt på at måle lyden fra gassen istedet? En lille microfon ganske tæt på studsen burde være nok (?)

  • 1
  • 0

Jeg sad og kiggede på jeres 'mærkeligformet' magnet (dejligt ord) og tænkte, om man ikke kunne lave en slags ballon med jernspåner/pulver i, som kan formes efter bunden på dåsen? Jeg tænker på en slags lejetøj jeg har set, som er en ballon med mel i, der kan bruges til at forme f.eks. sjoveansigter osv. med - og samme princip kunne man måske bruge til en magnet?

Bare en søndagmorgen-idé :)

Mvh David

  • 2
  • 0

Hvorfor måle airflow? Har i tænkt på at måle lyden fra gassen istedet? En lille microfon

Det er en interessant ide, og lige sådannoget vi kunne finde på. Sidste semester var der nogle Humtek studerende som ville måle hvor lang tid folk vasker hænder efter toiletbesøg. Deres første indskydelse var at ville indskyde en vandmåler i VVS installationen - noget der er relativ dyrt, besværligt, ikke flytbar, kræver tilladelse. Der foreslog vi dem også en mikrofon, og det kunne godt bruges. Tid frem for flow giver faktisk også en bedre måling - Anne som er meget miljøbevidst og kun lukker lidt op for vandhanen, men skrubber i 15 sekunder har vasket hænder mere end Børge som lukker helt op for vandet men kun i 3 sekunder, men de bruger måske samme vandmængde... :)

Nå, men eneste betænkelighed ved den løsning er at denne robot skal stå midt i en fabrik, hvor der er en del andre lyde, så det kan måske være vanskelig at skelne, selv med omhyggelig placering og signalbehandling. Men bestemt et interessant ide.

  • 0
  • 0

Interessant ide! Vi har nogle forskellige slags jernpulver og jernkugler, og må prøve det hvis vi får tid. Jeg har mine tvivl om magnet-felt-overførslen vil ske effektivt, men det kunne være spændende at finde ud af. Det kunne måske støbes til en fast masse med rette form, eller vi kunne prøve at sammensvejse det med laser eller strøm fra et svejseværk. Man kunne også 3D printe en form, lave en negativ af støbesand, og så smelte jernpulver i formen - vi har en ovn der går op til 1700°. Måske et hold kunne eksperimentere med dét til næste byggedag :)

Er der nogen der ved hvor man køber støbesand? Er der nogen der har et bud på de magnetiske egenskaber ved de foreslåede fremgangsmåder?

  • 0
  • 0

1) Hvad er mon den optimal sensor form? Vi kunne jo bare have to ledningsender tæt på hinanden, lige ved ventiludmundingen, og vi måler elektrisk modstand imellem. Eller det kunne være gafler, så der er flere ledere, tæt på hinanden. Eller det kunne være på en printplade, så der er ingen mulighed for kortslutninger samtidig med at der er meget kort imellem de ledende elemeneter. Eller andre forslag?


Du skal nok overveje dit måleprincip. Når der kommer en dåse med vand i og din vandsensor er blevet våd, så vil det tage tid før vandsensoren bliver tør. I den periode står systemet stille. Det er der jo flere løsninger på, men den simple er vel at monterer en trykluftdyse således at vandsensoren kan blæses tør. Vand kan også detekteres på andre måder end via konduktivitet: https://en.wikipedia.org/wiki/Rain_sensor

  • 0
  • 0

Igen angående overtryk i dåsen - er jeres robot løsning tids kritisk ? Ellers kan i også bare som default antage at der er gas i dåsen og lade den sidde som det ville tage at tømme?

  • 0
  • 0

Hej Nicolas, fed blog :)

Jeg har brugt kvartssand blandet med vandglas til at lave støbeforme til aluminium. Vandglasset giver støbeformen en ok stivhed og gør det rimelig let at efterbehandle.
Jern kræver højere temperaturer, men jeg mener kvarts/SiO2 smelter omkring 1700-1800 grader, og støbejern omkring 1200-1300 grader.

Jeg håber det kan bruges :)

  • 0
  • 0

"Samtidig med det projekt, er Bo gået i gang med at programmere reverse kinematics for en vilkårlig, parametrisk specificeret robotarm, i en Arduino."

Hvorfor i alvideste verden genopfinder i EMC2 ?

  • 1
  • 0

Hehe det er et godt spørgsmål, som jeg kan give nogle bud på - uden at det skal forstås som en afvisning af din pointe, som er relevant nok :)

  • Bo gik bare i gang fordi han synes det var sjovt og lærerigt - der er altså ikke taget en bevidst beslutning om at fravælge EMC2 (som så vidt jeg ved nu kalder sig LinuxCNC). Det er mere drevet af iver og nysgerrighed.

  • Man kunne jo lære noget af det.

  • Det er ikke en meget omfattende opgave. Vi havde forleden nogle studerende som løste det i Processing som en mindre del af en 8 dages workshop, og på f.eks. denne kursus løste tusindvis af studerende det parallelt (dog for en toakses, i Matlab).

  • Det kan blive en stor fordel (strømforbrug, kompleksistet, pålidelighed) at kunne køre det hele i en (Arduino) microcontroller og kunne spare PCen helt væk. Det kan man så vidt jeg ved ikke med EMC. Det eneste EMC microcontroller projekt jeg kender til er EMC2 Arduino, som blot gør en Arduino til hardware interfacet for LinuxCNC - en PC der kører LinuxCNC er stadig påkrævet. Jeg vil meget gerne rettes hvis der er projekter jeg har overset :)

  • Der er også andre relevante OS projekter som har løst dele af det, f.eks. uArm - men de taler til rc bil servoer, ikke steppermotorer, og har deres eget comm protokol, de tolker ikke G-code.

  • Det Open Source GRBL Arduino firmware vi p.t. "misbruger" til formålet (det tager imod G-code og omsætter det til XYZ steppermotorbevægelser) er en udbredt OS succes og bruges i mange selvbyg og semiprof CNC maskiner og laserskærere. Desværre har de ikke (vi har kigget i koden) lavet et sted med "kroge" hvor man nemt kan udføre udregninger - men kunne man forestille sig at vi kan indbygge vores udregninger i GRBL så vil det være en forbedring af et velkørende OS projekt og således et godt bidrag til OS software verdenen, ikke bare dobbeltarbejde. Dét kræver microcontroller kode, ikke en stor PC program med kroge til linux realtime kerne.

  • Jeg prøvede engang at konfigurere LinuxCNC til en flerakset robot, og blev aldrig færdig. Det har en kompleksistet ikke usammenlignelig med at programmere udregningerne selv.

  • <humor>Men vigtigst: som alle ved, så skal alt hvad vi producerer på RUC indeholde omfattende henvisninger til Marx. Det havde simpelthen taget så lang tid at tilføje alle Marx referancerne i EMC kildekoden at det er nemmere at starte forfra.</humor>

  • 0
  • 0

Andre løsninger som kunne være værd at overveje er LinuxCNC på en Beaglebone eller måske Raspberry Pi. Det er ikke microcontrollere, men det er relativ pålideligt hardware uden bevægelige dele.

Det skal her siges at hvis nogen har lyst til at hjælpe med en bestemt setup så kan det sagtens være det, der bliver udslagsgivende - vi er jo her (Ingeniørens blogunivers) for kollaborativt og i fællesskab at få hjælp til at bygge den :)

  • 0
  • 0

Har I overvejet at benytte ROS?

Herved får i både invers kinematik (ikke reverse...), planlægning og visualisering af arbejdspladsen.

  • 0
  • 0

Dette tjek af dåserne sker som kontrol før fyldning af dåsen, hvorfor der ikke er noget indhold at fordele. At dåsen vendes sker blot for at sikre at evt. vandindhold opdages (en sjælden fejltype).

Der blev spurgt til om det er en tidskritisk løsning. Hertil må svares både-og... Vi har p.t. med de efterfølgende manuelle håndteringer og den nuværende omsætning/bemanding en takttid på ca 30 sekunder per dåse. Så i realiteten kunne man blot vente til man var sikker på at evt. overtryk var afblæst. Vi er dog i gang med at automatisere de efterfølgende læktests m.v., så det vil være lidt synd at indsætte en ny funktion som værende det langsomste led i kæden.

God idé med mikrofonen, men som Nicolas påpeger er vi i et produktionsmiljø, og skal helst ikke forstyrres af en forbikørende truck eller lignende.

Idéen med en formbar magnet er fed - er det muligt at have en 'flydende/modellerbar' kerne, der tager form efter emnet der skal samles op? Sjov tanke, omend effektiviteten nok vil lide kraftigt ja ...hvis det overhovedet kan virke. Samtidig er det nok overkill med en sådan løsning.
Det fremgår ikke helt om den gamle magnet kerne virkede? Hvis den gjorde, og der ikke holdes på den dåse, der er vist på billedet, hvorfor så skære en ny kerne? Faktisk er jeg ikke sikker på om den nye formskårne kerne er bedre end den gamle, idet den jo kræver en mere præcis positionering for at komme ned i dåsebundens fordybninger.

  • 1
  • 0

Jeg sad lige og kiggede efter, om der findes magnetiske væsker - og kom frem til 'ferrofluid'.

Så, man kunne lave en vandballon (eller i dette tilfælde en ferrofluid-ballon), som sidder på 'spidsen' af robotarmen. Når ballonen lægges oven på toppen af dåsen, formes ballonen og væsken efter dåsens bånd - så tændes der for magnetfeltet, væsken bliver formfast (som jeg har forstået det) - og, voilà, dåsen kan løftes :)

Mvh David

  • 0
  • 0

"Almindelige magneter er lavet af jern eller andre metaller som nikkel og kobolt. Også visse iltholdige jernforbindelser kan anvendes som magneter. Men der findes faktisk også flydende magneter. De kan laves ved at opslæmme mikroskopiske partikler af det naturlige mineral magnetit i olie til en homogen væske.

Når væsken, der kaldes ferrofluid, placeres i et magnetisk felt, vil alle de små partikler orientere sig på samme måde, så selve væsken bliver til én stor flydende magnet. Hvis man holder en anden magnet henover, vil væsken rejse sig som et springvand, men alligevel syne lige så fast og metallisk som en jernskulptur. Når man rører ved den med fingrene, kan man imidlertid tydeligt mærke, at den vitterligt er flydende.

Flydende magneter har mange praktiske anvendelsesmuligheder i industrien, fordi ferrofluid er et aktivt materiale, som kan ændre form under forskellige elektromagnetiske påvirkninger. Det kan man for eksempel udnytte til at lave en slags variabel stødpude, som kan reguleres til at svulme op eller flade ud og derved give optimal afdæmpning af resonans og rystelser i højttalere samt cd- og dvd-afspillere."

http://illvid.dk/fysik/kan-en-vaeske-vaere...

  • 0
  • 0

Ville det ikke være enklere at veje dåsen? Hvis dåsen er for tung er der enten vand eller anseelige mængder drivgas. samme vejecelle vil kunne bruges til at teste dåsens ventilfjeder.

  • 1
  • 0

Jo, man kunne måske registrere et overtryks lille udslag på vægten, men det er fine tolerancer vi så snakker om. Alt efter hvor stort tryk der haves, vil variansen i dåsernes vægt være større (1L Dåse => 1,3 gram/Bar overtryk). En vejning kan heller ikke afgøre om der er anseelige mængder drivgas eller blot en smule kondensvand. Vi er ikke interesserede i at skrotte dåser med overtryk, så ventilen skal aktiveres uanset for at afblæse.

  • 0
  • 0

Det var nu ikke et spørgsmål om at undlade udblæsning/aktivering af ventilen. Min tanke var blot at montere en vejecelle mellem magnet-griber og robotarm. Dåser der er "for tunge" frasorteres (med antagelse om at de indeholder vand) inden de afblæses. Hvis vægten er indenfor normalen trykker robotarmen dåsen ned for afblæsning. Varigheden af afblæsningen afgøres enten af en simpel (worst case) timer eller med mikrofon el. lign.

Efter afblæsningen vejer vi dåsen igen - mens ventilen stadig er påvirket. Ventilfjederen skulle gerne påvirke vejecellen i opadgående retning. Hvis denne påvirkning er for lav er der et problem med ventilfjederen.

  • 0
  • 0
Bidrag med din viden – log ind og deltag i debatten