3D-skanner med två kameror. DIY D-skanner

Återigen erbjöd sig butiken att ta något för granskning. Eftersom jag länge har varit intresserad av frågan om att använda denna sak för behoven av dekorativ 3D-utskrift, valde jag en skanner.

Så, skannern i sig har utvecklats av det spanska företaget BQ, som nu har slutat stödja den (sägs på grund av kinesiska förfalskningar, men det är tveksamt. Nu säljs denna skanner även av amerikanska CowTech. Källor för 3D-utskrift av skannerdelar är fritt tillgänglig på (det finns länkar till mjukvara och elektronik).

I satsen har vi denna "lös":

Monteringen är enkel, men det finns några punkter:
1. Det finns ingen anledning att rusa för att dra åt alla muttrar - du måste också justera de geometriska dimensionerna - konvergensen av lasrarna i mitten av platsen, avståndet till skivspelaren.
2. I min monter "vinglade" kameran lite, med en bråkdel av en millimeter - men det räckte för att göra bilden sned. Elimineras genom att lägga till skummaterial.
4. Skivspelaren var genomskinlig och hade ingen beläggning (som i originalet) - jag målade den med plastidip.
5. Kontrollera mönstren för kalibreringsschackbrädet. Jag vet inte hur de skrev ut den från min uppsättning, men rutornas proportioner var dåliga. Jag tog den från Internet och skrev ut den själv.
6. Kamerafokus är inte justerat till avståndet till plattformen. Jag tog av locket och justerade fokus på plats.











Som du kan se är "hjärnan" i skannern en vanlig Arduino Uno kombinerad med en ZUM Scan-sköld och en A4988-stegmotordrivrutin. Gården sköts av inhemsk Horus-programvara från BQ.

Efter montering gick skannern igenom kalibreringsprocedurer i inbyggd Horus-programvara.

Eftersom jag vid det här laget redan visste att kvaliteten på skanningen i hög grad beror på ljusets kvalitet (stabilitet, diffusitet, färgtemperatur), passade jag på att ha en liten ljuslåda i förväg för att åtminstone ge mer eller mindre jämförbara förhållanden för provning.

Efter att ha valt ut "kandidater" för auditions gjorde jag mig redo.

Kraven för objektet är följande:
1. Föremålet måste vara större än 5x5 cm, men mindre än 20x20cm
2. Objektet måste vara ogenomskinligt och orörligt
3. Föremålet får inte väga mer än 3 kg

Svårt att skanna:
1. Blanka, lysande föremål
2. Föremål är för mörka
3. Föremål med suddiga ytor (som gosedjur)

Resultatet av skanningen är ett moln av punkter i PLY-format (som sedan måste omvandlas till en yta). Det är här du förbereder STL-filen.

Efter att ha läst skanningarna bestämde jag mig för att prova med ett enkelt cylindriskt föremål.
Efter flera försök blev jag övertygad om att jag hade ett vanligt problem - punktmolnen från höger och vänster lasrar stämde inte överens, och det var ett problem med proportionerna.



Vi kunde inte hitta något användbart i denna fråga annat än att försöka kalibrera webbkamerainställningarna (de är inte kalibrerade när kalibreringsguiden körs) (en kille som heter Jesus från BQ-supporten har inte svarat på frågor på länge). För att göra detta måste du ta flera bilder med olika positioner av kalibreringsbordet. Jag gjorde. Situationen har förbättrats, men inte helt.
Jag var tvungen att manuellt redigera kalibreringsfilen (calibration.json i Horus-a-mappen) och genom försök och fel skanna ett cylindriskt objekt för att säkerställa att molnen matchade.
Och allt verkar vara okej:



Men nej - på komplexa objekt matchar molnfragment ibland fortfarande inte, och många "blinda" zoner bildas:





Dessutom är det uppenbart att det är omöjligt att skanna ljusröda föremål, åtminstone med vanliga lasrar.

Du kan naturligtvis fortsätta att experimentera med att skanna med separata lasrar och försöka kombinera allt detta i programvara från tredje part och sedan försöka få det till en form som är genomförbar för STL.

Allt detta påminner mig om ett skämt om fartyg på flaskor.

Hur gör man båtar på flaska?
-Jag lägger sand, silikatlim, pinnar i flaskan och skakar den.
Det visar sig alla möjliga skit, och ibland - båtar.


I allmänhet insåg jag att jag inte är en anhängare av den här typen av kreativitet, och jag har en misstanke om att det är lättare att modellera objekt från grunden som ligger inom en skanners makt.

Och komplexa - skannern kan inte klara av komplexa i normalt läge; två lasrar räcker inte för det - blinda fläckar kvarstår. För att eliminera detta problem måste du skanna i andra positioner och sedan igen kämpa med att kombinera molnen. Nej tack.

Som ett resultat är saken endast lämplig för att studera grunderna för laserskanning, för något mer är den helt värdelös. Nej, det är naturligtvis möjligt att få något som liknar den ursprungliga modellen, men det är allt (och detta tar hänsyn till alla tamburiner med molnbearbetning). Det är inte för inte som spanjorerna övergav denna fråga.
Butiken spelade det säkert - beskrivningen säger ärligt att resultatet beror på planeternas position och stämningen hos moster Sonya från tredje våningen. Öppen källkod och allt det där, låt oss dansa tillsammans. Nej tack.

Slutsatsen är att inte ta det, men vill du ha extrem jakt, montera det själv av samma sak som kompisen i skämtet gör båtar av.

Produkten tillhandahålls för att skriva en recension av butiken. Granskningen publicerades i enlighet med paragraf 18 i webbplatsens regler.

Jag planerar att köpa +9 Lägg till i favoriter Jag gillade recensionen +101 +156

FabScan är en öppen källkod, gör-det-själv laser 3D-skanner. Jag satte ihop mina av MDF-skivor och olika tillgängliga material och, som ett exempel, bestämde jag mig för att lägga upp skapelseprocessen för dig.

Steg 1: Vad du behöver




För den officiella FabScan-skannern behöver du:

  • Arduino UNO
  • Stegmotor A4988
  • FabScan-Shield 3D laserskannermodul för Arduino
  • 5mW röd lasermodul
  • Strömförsörjning 12V - 1A
  • Logitech C270 webbkamera

För att skapa en låda behöver du 4 ark MDF som mäter 600*300*5 mm.

I mitt projekt använde jag:

  • Arduino UNO
  • Bipolär stegmotor - NEMA 17 (200 steg)
  • Stegmotor A4988
  • 5mW röd lasermodul
  • Strömförsörjning 12V - 2A
  • Logitech C270 webbkamera

Eftersom vi kommer att använda FabScan-mjukvaran rekommenderar jag att du håller dig till deras reservdelslista; du kan enkelt hitta all dokumentation för FabScan-referens 3D-skannern på Internet.

Steg 2: Montering av gallerilådan för 3D-skannern




Visa ytterligare 4 bilder





Jag använde en Dremel och min fantasi för att sätta ihop skannerlådan. Detta är inte så enkelt, för för att få rätt 3D-bild måste kameran, lasern och stegmotorn vara i rätt positioner. Om du inte vill bry dig kan du bara köpa färdiga delar, men det blir inte billigt.

Steg 3: Ansluta modulerna


Att montera hårdvaran är ganska enkelt:
Anslut FabScan-modulen till Arduino och ställ in A4988-motorn i sitt första stegsläge. Anslut motorn till utgångsstiften och lasermodulen till det analoga stiftet A4. Anslut slutligen strömförsörjningen och USB-kabeln.

Om du bestämmer dig för att montera skannern enligt min reservdelslista:
Sedan måste du ansluta A4988-motorn till stift 10, 11, 9, 8 på Arduino (om så önskas kan stiften ändras), och ansluta lasermodulen till stift A4. I slutet, anslut även strömförsörjningen och USB-kabeln.

Steg 4: Kod för Arduino

Vi kommer att använda den officiella koden från FabScan. Ladda upp den till Arduino och du är klar.

Om du har Codebender-plugin installerad kan du ladda upp koden till Arduino genom att följa den här länken.

Om du sätter ihop skannern enligt min reservdelslista, klicka sedan på knappen Redigera och gör följande:

  • Lägg till rader #include const int stepsPerRevolution = 200;//ändra till antalet steg i din motor Stepper myStepper(stepsPerRevolution, 10, 11,8,9);
  • Ersätt step()-funktionen med följande: void step() ( myStepper.setSpeed(1); myStepper.step(1); )

Steg 5: Datorprogramvara






Vi kommer att använda "FabScan Ubuntu Live DVD"-avbildningen. Du kan ladda ner den. I den här bilden är FabScan-mjukvaran redan förinstallerad. Bilden kan skrivas till en flash-enhet, hur man gör detta finns på Internet.

Viktig notering: Om du valde alternativet "Testa Ubuntu", spara sedan dina filer innan du stänger av din dator!

Titta på de bifogade bilderna och följ stegen:

  • Välj porten i SerialPort
  • Välj kameran i Kamera
  • Arkiv - Kontrollpanelen
  • Klicka på detektera laser (lägg inget i skannern i detta skede) och välj "aktivera"
  • Klicka på "Hämta ram" och se till att den blå horisontella linjen vidrör toppen av skivspelaren och den gula horisontella linjen vidrör botten. Den vertikala gula linjen ska gå genom mitten av skivspelaren. En lös kamera kan orsaka förvrängda skanningar!

Efter inställningen stänger du kontrollpanelens fönster, placerar objektet i skannern och klickar på knappen Starta skanning.

Spara 3D-bild:
När skanningsprocessen är klar kan du spara 3D-objektet till en fil i .pcd- eller .ply-format. Du kan också spara det i stl-format, men det stöds inte på alla plattformar. Du kan också öppna ett tidigare skannat objekt genom att välja Arkiv - OpenPointCloud.

Vad ska man göra med 3D-filer?
Du kan öppna dem i MeshLab och skriva ut dem på en 3D-skrivare.
Så här skriver du ut objekt i MeshLab:

  • Spara objektet i .ply-format
  • Öppna filen i MeshLab
  • I MeshLab, beräkna normaler (Filter/Punktuppsättning/Beräkna normaler för punktuppsättningar)
  • Rekonstruera ytan med hjälp av poissonrekonstruktion (Filter/Point Set/Ytrekonstruktion: Poisson)
  • Redo

FabScan är en öppen källkod, DIY 3D-laserskanner.

Projektet började under utvecklingen av Francis Engelmanns kandidatprojekt. Den officiella projektsidan finns.

Baserat på detta projekt utvecklades en analog, som diskuteras i artikeln. MDF används för boxning. Den elektroniska fyllningen är också något annorlunda.

Arduino-programmet är hämtat från det ursprungliga projektet. Så tack till FabScan-teamet för en utmärkt 3D-skanner med öppen källkod!

Så låt oss börja.

Nödvändiga komponenter

Delar och komponenter för det ursprungliga FabScan-projektet:

  • A4988 stegmotordrivrutin;
  • Shield FabScan;
  • NEMA 17 bipolär stegmotor (200 steg);
  • Strömförsörjning 12 V - 1 A;
  • Logitech C270 webbkamera.

För kroppen behöver du 4 ark MDF. Mått - 600 mm x 300 mm. Tjocklek - 5 mm. Mer detaljerad information.

Delar och sammansättningar som används i denna handbok:

  • (200 steg);
  • Stegmotordrivare L298N;
  • 5 mW lasermodul - tillverkare Röd tråd;
  • Strömförsörjning 12 V - 2 A;
  • Logiteck C270 webbkamera.

Det vill säga, vi kommer helt enkelt inte att använda FabScan-skölden och använda en annan stegmotordrivrutin

Utveckling av ett hölje för en 3D-skanner

Processen och resultatet av att utveckla kroppen av vår 3D-skanner visas på fotografierna. Den största svårigheten är den mest exakta installationen av kameran, lasermodulen och stegmotorn. Om du vill göra ditt liv enklare kan du beställa dessa delar för 35 euro.

3D-skannermontering







1. Med sköld.

Installera FabScan-skölden på Arduino. A4988-stegmotordrivrutinen är installerad på de medföljande skenorna. Stegmotorn är ansluten till motsvarande kontakter på typskylten. Lasermodulen ansluts till analogt stift A4. Efter detta kan du ansluta ström- och USB-kabeln. Mer detaljerade instruktioner finns tillgängliga.

2. Utan sköld.

Om du bestämmer dig för att bygga skannern utan att använda en sköld, anslut L298-stegmotordrivrutinen till stift 10, 11, 9, 8 på Arduino (i princip kan dessa stift ändras med lämpliga redigeringar i skissen). Lasermodulen är ansluten till stift A4 på Arduino. Allt. Du kan ansluta ström och USB-kabel.


Skiss för Arduino

Viktig notering! Om du använder alternativet "Testa Ubuntu", se till att du sparar dina filer innan du stänger av din persondator!

Följ instruktionerna, bilderna av dessa visas nedan:

  • Välj SerialPort;
  • Välj Kamera;
  • Arkiv - Kontrollpanelen;
  • Klicka på detektera laser (placera inga föremål framför skannern för tillfället) och välj "aktivera";
  • Klicka på "Hämta ram" och se till att den blå horisontella linjen rör vid toppen av skivspelaren och den gula horisontella linjen vidrör botten av skivspelaren. Dessutom måste den gula vertikala linjen sammanfalla med mitten av skivspelaren. Om kameran inte är korrekt installerad blir skanningsresultatet inte tydligt!

Efter inställningen, stäng fönstret, placera objektet i 3D-skannern och klicka på knappen Starta skanning.

Obs! Ytterligare material om hur du ställer in filen configuration.xml presenteras i den här guiden.

Spara en 3D-bild

När 3D-skanningsprocessen är klar kan du spara det skannade 3D-objektet med filtillägget .pcd eller .ply. Du kan också spara den som en 3D stl-fil, men den här funktionen är inte tillgänglig på alla plattformar. Du kan öppna ett tidigare skannat och sparat objekt genom att välja Arkiv - OpenPointCloud.

Vad kommer härnäst?

Du kan använda MeshLab för att bearbeta ett 3D-skannat objekt och skriva ut det på en 3D-skrivare!

När du bearbetar en fil i MeshLab:

1. Se till att du sparar objektet som en .ply-fil.

2. Öppna filen med MeshLab.

3. I MeshLab, beräkna normalerna (Filter/Point Set/Compute normals).

4. Bygg sedan om ytan med Poisson-rekonstruktion (Filter/Point Set/Ytrekonstruktion: Poisson)

Den slutliga sammansatta strukturen visas på bilden nedan.


Video av den ursprungliga FabScan 3-D-skannern i drift:

Stort tack till FabScan-teamet för den fantastiska öppen källkodskannern på Arduino!!!

Lämna dina kommentarer, frågor och dela personlig erfarenhet Nedan. Nya idéer och projekt föds ofta i diskussioner!

Det är en analog till den berömda FabScan-laserskannern, som utvecklades av Francis Engelmann. Författaren använde MDF som en låda för en sådan skanner, när det gäller fyllningen skiljer den sig också något från originalet.

Det ursprungliga programmet är för Arduino, det togs från det ursprungliga projektet.

Material och verktyg för att skapa en skanner:

4 ark MDV 600X300 mm, tjocklek 5 mm (de behövs för att skapa fallet);
- Stegmotor (NEMA 17 för 200 steg);
- drivrutin för stegmotor L298N;
- 5 mW lasermodul (används från tillverkaren Red Line);
- för att driva enheten behöver du en källa på 12 V - 2 A;
- webbkamera modell Logiteck C270.






Den ursprungliga hemgjorda produkten använder en A4988 stegmotordrivrutin, och vad gäller stegmotorn är det också NEMA 17. I övrigt är elementen i den hemgjorda produkten exakt desamma som i originalversionen.

Tillverkningsprocess för skanner:

Steg ett. Att göra kroppen
Hela processen med att skapa ett hölje för skannern kan ses på bilden. Det viktigaste i denna fråga är noggrannhet. Lasermodulen, stegmotorn och webbkameran ska vara tydligt placerade på rätt ställen, i enlighet med projektet.













Steg två. Vi kopplar in elektrisk utrustning


Det finns två sätt att ansluta utrustning, med och utan skärm. Låt oss ta en närmare titt på vart och ett av dessa alternativ.

Anslutning utan skärm
Om du bestämmer dig för att montera enheten utan att använda en skärm, är ledningarna till L298-stegmotorn anslutna till Arduino-stiften numrerade 10, 11, 9, 8. I princip kan du använda andra kontakter, men du måste göra ändringar i skissen.
När det gäller lasermodulen måste den anslutas till stift A4 på Arduino-kontrollern. Efter detta kan du ansluta USB-kabeln och strömmen.

Anslutning med skärm
Du måste installera FabScan-skölden på Arduino. När det gäller stegmotordrivrutinen måste den installeras på skenorna som tillhandahålls för detta. Stegmotorns kontakter är anslutna till motsvarande kontakter på typskylten.
Lasermodulen måste anslutas till stift A4 på Arduino. Det är allt, efter det ansluter du ström- och USB-kabeln.

Steg tre. Installation av skissen
Nu måste du ladda ner och installera den officiella skissen för FabScan. För att flasha Arduino måste du ladda ner Codebender-plugin och sedan klicka på knappen "Kör på Arduino". I det här fallet kan skissen installeras direkt via webbläsaren från den officiella webbplatsen.


Om skölden inte användes, måste du klicka på knappen Redigera och sedan lägga till följande rader:

const int stepsPerRevolution = 200; // ändra denna parameter för att justera antalet steg per rotation av din stegmotoraxel

Stepper myStepper(stegPerRevolution, 10, 11,8,9);
Ersätt step()-funktionen:

myStepper.setSpeed(1);

myStepper.step(1);

Steg fyra. Programvara för skanner
För att installera programmet måste du ladda ner "FabScan Ubuntu Live DVD"-avbildningen, efter installationen visas den programvara FabScan.

Du måste göra några inställningar i programmet:

Först måste du välja SerialPort;
- välj sedan Kamera;
- efter det fil - Kontrollpanelen;
- klicka sedan på detektera laser och välj "aktivera" (det finns inget behov av att placera några föremål framför lasern);
- Tja, klicka nu på "Hämta ram", medan den blå horisontella linjen ska röra vid botten av det roterande bordet. Den gula linjen ska vara i mitten av bordet. Om kameran inte är korrekt installerad blir bilden Dålig kvalitét.












Det är allt, programmet är konfigurerat. Nu kan du lägga in ett objekt i skannern och sedan trycka på knappen Starta skanning.

Steg fem. Spara bilden
När skanningen av objektet är klar kan bilden sparas i .pcd- eller .ply-format. Du kan också spara den i stl-format, men det beror på vilken plattform du använder.
För att öppna ett objekt som tidigare sparats måste du välja Arkiv - OpenPointCloud.

) bestämde vi oss för att försöka montera den och, om möjligt, förbättra dess design. Vi kunde inte ens föreställa oss vad som skulle komma av det, än mindre föreställa oss att vi skulle vinna flera vetenskapliga och tekniska utställningar med det. Men i ordning. Den som är intresserad av att veta resultatet, välkommen till katten (många bilder).

Första prototypen

Först bestämde vi oss för att samla laseravståndsmätare. Den gjordes baserat på en artikel på ett amatörradioforum. Bara en laserpekare och en kamera. Ett program skrevs i Java för att bearbeta bilder. För en mätning togs två fotografier: med och utan laser. Efter att ha jämfört dem kunde vi definitivt hitta laserpunkten. När detta väl fungerade monterades avståndsmätaren på en plattform som kunde rotera i två plan. Innan jag visar er vad jag har, måste jag varna er - det finns inte mycket material på sommarskolan, så vi satte ihop en prototyp från det vi hade:

Kameran är omedelbart synlig, och lasern är den där mässingscylindern ovanför den. För att rotera plattformen använde vi två stegmotorer, som i sin tur var kopplade till ett styrkort på en Atmega32 mikrokontroller. Lasern var kopplad till den. Själva kortet var anslutet till datorn via en USB->UART-adapter. Programmet på datorn tog bilder, bearbetade dem, skrev in koordinaterna för de erhållna punkterna i en fil och skickade kommandon till kontrollkortet.

Resultatet var intressant. Ja, vi hittade avståndet. Ja, vi kan "rikta" vilken punkt som helst i halvklotet ovanför skannern. Och vår glädje visste inga gränser. Men när vi bedömde skanningstiden för denna halvklot visade det sig vara 48 timmar. Och det handlar inte om kameran. Och inte ens i Java. Problemet var att installationen var så tunn att den vinglade efter varje varv i fem sekunder. Jag fick göra en mätning, vända mig om och vänta fem sekunder tills det slutade gunga. Och dessutom slog biblioteket för kameran på och av den innan varje tagning. Detta tog 1-2 sekunder. Men sommarskolan höll på att ta slut, och det fanns ingen tid att göra om den: det var redan kvällen innan projektet skulle planeras. Eller snarare morgon. Dagen efter presenterade vi vårt projekt vid en tävling inför en vetenskaplig jury och vann oväntat. Det var förmodligen på grund av denna seger som vi bestämde oss för att fortsätta vårt arbete med detta projekt.

Version två

Faktum är att sommaren är över och läsåret har börjat. Arbetslusten försvann. Installationen var planerad att vara klar till nästa tävling, som var en hel månad bort. Månad. Och så plötsligt tre dagar. Men inom en månad bestämde vi oss för att ändra inställningen. Montera den tätt, installera en lins på laserpekaren, vilket kommer att skapa en laserlinje. Detta skulle göra det möjligt att skanna 720 punkter på en gång (skannern hade en HD-kamera). Bara tre dagar har gjort sina egna justeringar:

Den andra skannern är sammansatt av plastlinjaler, lim, maskeringstejp och hålls endast på plats av blå eltejp. Istället för en lins finns ett provrör. En grön laser lyser på detta provrör. Den reflekterade strålen skapar en mer eller mindre enhetlig laserremsa på skärmen. Avståndsmätaren är ansluten till endast en motor, som roterar den i ett horisontellt plan. Styrkortet ersattes med STM32VLDiscovery. Det är bara det att jag känner till STM32 bättre, och dessutom brändes Atmega ut och programmeraren gick förlorad för länge sedan. Det ser inte särskilt bra ut, men det fungerar! Vibrationerna minskade och hastigheten ökade därefter. Men inte mycket. En mycket intressant fångst upptäcktes här - den kinesiska laserpekaren slog inte på omedelbart, utan ökade gradvis sin kraft under loppet av en sekund. Alltså en sekund för att oscillera, en sekund för att värma upp lasern, en sekund för att ta en bild, och det finns två av dem. Så vi får 4 sekunder. Men i en mätning hittar vi avstånd på upp till 720 poäng! Skanningsprocessen såg ut ungefär så här:

Och resultatet är så här:

Bilden ser inte särskilt intressant ut, men muggen var voluminös i programmet. Man kan se det från olika vinklar.

Vad är den faktiska konkurrensen? Men inget! Vi avslutade med att skanna allt vid 4-tiden och vid 9-tiden vid montern upptäckte vi att lasern hade brunnit ut. Som det visade sig, medan vi bar den från hotellet till montern, kom det regn in i den, och när den slogs på brann den ut. Och när det inte fungerar ser det så illa ut att det är svårt att tro på orden "det fungerade för 5 timmar sedan." Vi var upprörda. Lusten att fortsätta försvann med röken från lasern. Men det samlades ändå...

Tredje versionen

Och den monterades igen för tävlingen. Dessutom förberedde vi oss länge och noggrant. Mer än en vecka. Och här är resultatet:

Det första som fångar ditt öga är att nu skannar vi inte området runt skannern, utan ett föremål som roterar på plattformen. Vi fick också det objektiv som krävs, monterade allt korrekt, skrev om programmet och bytte även ut felsökningstavlan mot en hemmagjord. Och nu tar vi bara ett foto per mätning. Lasern är tillräckligt kraftfull och linsen är tillräckligt bra för att unikt lokalisera lasern i ett fotografi. Tack vare detta väntar vi inte på att lasern ska värmas upp - den är alltid på. Och nu sätter vi bara på kameran en gång. Det vill säga att tiden ägnas mest åt att rotera plattformen och bearbeta bilden. En meny för val av noggrannhet har lagts till i programmet. Skanningstiden är från två till tio minuter. Beroende på vald noggrannhet. Med maximal noggrannhet visar det sig att plattformen roterar 0,5 grader per steg, och avståndet bestäms med en noggrannhet på 0,33 mm. Plattformen drivs av en stegmotor genom en växellåda. Själva plattformen är en stor skiva, och gummirullen på motoraxeln är liten. Motorn och lasern styrdes av en STM32F050F4 mikrokontroller via fälteffekttransistorer. Allra i början av artikeln är en skanning av leksaken som erhållits med denna skanner. Eftersom skannern producerar ett punktmoln i .obj-format kan vi efter triangulering skriva ut det skannade objektet på en 3D-skrivare, vilket kan ses på samma fotografi. På skärmen kan vi se modellen efter triangulering. Inget manuellt arbete utfördes på modellen.

Vi vann tävlingen. Och han gav tillträde till den internationella tävlingen Intel ISEF. Så vi började jobba på nästa skanner.

Fjärde versionen

det här ögonblicket Detta senaste versionen scanner som vi satt ihop. Som jämförelse finns det en andra version på plattformen. Vi försökte närma oss utvecklingen av den fjärde skannern så noggrant vi kunde. Installationen ritades i CAD, delarna var laserskurna, allt var målat, inget onödigt stack ut från utsidan. Förändringar: Plattformen är nu faktiskt en växel. Den är skuren i plexiglas och har 652 tänder längs kanterna. Detta löser ett problem som allvarligt skadade skannar i den tidigare skannern: gummirullen skulle glida lite, varför plattformen ofta inte roterade 360 ​​grader. Skanningarna var antingen "klippta ut" eller överlappade. Här visste vi alltid exakt hur roterad plattformen var. Laserkraften gjordes justerbar av mjukvara. Tack vare detta var det möjligt att ändra lasereffekten i farten, vilket undviker belysning av onödiga delar i svagt ljus. För att kontrollera all elektronik bestämde vi oss för att inte separera ny styrelse, utan använd helt enkelt felsökningen F401RE-Nucleo. Den har ST-LinkV2.1 installerad, som fungerar som en debugger och USB->UART-adapter.

Noggrannheten var fantastisk: vinkelupplösning 0,14 grader. På ett avstånd av 0,125 mm. Skanningsområdet är en cylinder med en höjd av 20 cm och en diameter på 30 cm. Priset på alla delar och laserskärning vid tidpunkten för dess skapelse (maj 2014) var mindre än 4 000 rubel.

Under användning ställer vi bara in den på maximal noggrannhet en gång. Skanningen varade 15-20 minuter. Vi fick nästan 2 miljoner poäng. Den bärbara datorn vägrade att beräkna modellen från punktmolnet. Experimentet upprepades inte.

Slutsats

Inom en snar framtid planerar vi att återuppta arbetet med projektet, och därför kommer vi att slutföra både programmet och installationen. Jag hoppas att vi skriver om det snart steg för steg montering, vi kommer att lägga upp ritningar, program och allt annat. Detta kommer inte längre att passa in i den här artikeln.

Tack till alla som läser till slutet!

UPD:
En kollega hittade en video om hur skannern fungerar som vi filmade på ISEF:

Ja, det mesta av videon är inte intressant, men i slutet finns det en modell på en bärbar dator.

Och här är exempel på skannade objekt. Men de tillhör alla den tredje versionen av skannern.
Dropbox
I filen model.obj kan du tydligt se vad som händer när denna gummirulle slirar på motorn - hunden har tre ögon. Skanningen avbröts, vilket orsakade en utskärning. Alla filer är punktmoln. Du kan öppna den med MeshLab. Modellerna bearbetades inte för hand. Helt rådata. Från ovan kan du se "vita fläckar" - områden utan prickar. Kameran ser dem inte. Vita fläckar kan också ses på andra ställen. De visas antingen i områden som är för mörka eller när ytor överlappar varandra. Till exempel i filen stn_10.obj överlappar getens horn varandra, varför hornens insida inte skannades.




Topp