Time Expander: slideshow photograph 1
Time Expander: slideshow photograph 2
Time Expander: slideshow photograph 3
Time Expander: slideshow photograph 4
Time Expander: slideshow photograph 5

Blog

Hold the Front Page !

Jeg har begynt å handle aksjer igjen. Normalt er dette en sikker indikator på et nært forestående økonomisk kollaps og at det er på tide for alle andre å komme seg ut av aksjemarkedet raskast råd.

Investeringsstrategien er basert på følgende erkjennelser:

  1. Konfliktnivået i verden er tiltagende og konfliktene er i all hovedsak asymmetriske.
  2. Tingenes intelligens er tiltagende og tingenes livssyklus er kortere.
  3. Komponentleverandører har et sikrere marked og bærer mindre risiko enn leverandører av sluttprodukter (== ting).
  4. (Det kjedelige, men fremdeles sanne punktet) Kapital aggregerer kapital mer effektivt enn arbeid aggregerer kapital. Risikoen for tap på investeringer er også sannsynligvis lavere enn risikoen for tap av inntekt p.g.a. sykdom, uførhet, eksterne faktorer og død.

Aksjene går så det griner og det har vært mer enn bra vekst, allerede etter noen måneder (selv i et blodrødt marked på en oljesmurt børs). Likevel er jeg litt bekymret.

Kontinuerlig vekst innen forbruk eller produksjon av fysiske ressurser er pr. definisjon ikke bærekraftig. Dette er allmenkunnskap og er kjent av alle som har fullført ungdomsskolen.

Kontinuerlig vekst av teknologisk evne er, til forskjell, ikke bare bærekraftig, den er aksellererende. Effekten er ikke som om du trykker ned gasspedalen. Det er som om du har en gasspedal på en gasspedal, med uendelig lang vandring, i en bil uten turtallssperre, i et univers uten begrensing på lyshastighet og styrken på mekaniske komponenter.

I kombinasjon med menneskers totalt fraværende forståelse av effekten av eksponentiell vekst, så er dette alarmerende. Forbedringer innen AI (som jeg tror har gått mange hus forbi), droneteknologi, missilsystemer, algoritmer, sensorer, integrerte kretser og kommunikasjonsteknologi, samt den totalt ukritiske kåtheten på å integrere alt i kule dingser, som “gjør livet lettere for oss” (inklusive myndigheter), tilsier at vi er ubehagelig nære en singularitet.

Skynet er i praksis bare en beslutning unna å være en realitet. Skal man tjene penger på børs, så må man med andre ord gjøre det før singulariteten inntreffer.

Men det var egentlig ikke dette jeg ville snakke om.

I prosessen, så har jeg også gjort en oppdagelse. Jeg har uforvarende snublet over noe som, hvis det viser seg å være reelt, vil ha store implikasjoner for livskvaliteten til mange mennesker.

For å frigjøre midler til vill spekulasjon på børs, så bestemte jeg meg for å skjære ned på unødvendig forbruk. Jeg har eksempelvis hatt et, hvaskalmansi, – avslappet forhold til prisene på konsumvarer som cola, sjokolade og snus.

Den 19. april, så bestemte jeg meg for å gjøre et økonomisk fundert eksperiment. Jeg sluttet å kjøpe sjokolade og jeg sluttet å kjøpe Cola (Jeg følte med ett en trang til å presisere at jeg snakker om brusen, men nå innser jeg at det også ble litt feil)

Den 20. april, så begynte jeg å legge merke til en del udda sideeffekter av denne beslutningen. Subjektive erfaringer så langt er:

  • En markant avtagende trang til prokrastinering.
  • Jeg (fremdeles subjektivt) kjefter mindre på ungene.
  • Jeg er mindre trøtt. Jeg har eksempelvis ikke lenger behov for å ta en times telling på sofaen etter arbeid.
  • Jeg kjenner konstant på noe som best kan beskrives som en en “merkelig, men energirik buzz”.
  • Hjernen fungerer (målbart) bedre på jobb.

Disse effektene er sticky. De er der fremdeles. Jeg håper inderlig at de ikke skyldes den klassiske positive effekten man gjerne opplever ved enhver endring fra en opplevd negativ setting.

Men så oppdaget jeg den mest dramatiske effekten av alle. Det er litt tidlig å konkludere enda, men trenden er klar.

Jeg har allerede veldig klare indikasjoner, i form av måledata, på at det kan være en viss korrelasjon mellom sjokolade-/Cola-inntak og kroppsvekt!

Jeg må nesten presisere at jeg ikke er på slankern. Jeg styrer fremdeles godt klar av lettprodukter i butikkhyllene og har fremdeles liberalt med sukker i espressoen. Merkelig nok, så føler jeg heller ingen craving etter sjokolade og cola. Det eneste som er litt crap er at jeg nå istedet har økt budsjettpostene for Roquefort, oliven, serranoskinke og melon. Fåglarna må vite hvorfor.

Maker Faire 2015

Ser ut som om jeg kom i skade for å melde på en testprint fra Götterdämmerung II. Tror saktens vi skal få den til å røre litt på seg også. Sees på Maker Faire i Trondheim 28. – 29. august :)

Ornithopter

Vi har bygget ornithopter i påska – med strikkmotor.

Det ser ganske lett ut, men jeg kan skrive under på at det ikke er den enkleste øvelsen man kan gi seg i kast med. Lett inspirert av japanske, superlette ornithopterdesign, så skred jeg til verket.

Designprosessen gikk som vanlig. Jeg startet ut med relativt høye kneløft i Fusion og endte opp med et 4-vingers design, som pent ut, men som i praksis var like flyvedyktig som kuskinnet det hviler på på bildet under.

Etter en runde på vekta, så fant jeg ut at det veide hele 41 gram, hvilket var alt for mye masse i forhold til vingeareal og kraften i strikken. Krankakslingen måtte bøyes for hånd og så ut som om den var konstruert av M.C. Escher. Reality check over og jeg tok så en runde på youtube for å hente videre inspirasjon. Jeg endte opp med å koke et rimelig elegant, japansk design med to triangulære vinger. 4 iterasjoner over dette designet og vi hadde noe som faktisk var flyvedyktig.

Etter noen dager, så er det trygt å konkludere med at ornithopter er noe det er fullt mulig å geeke totalt ut på. Jeg vil tro at en simulering av en slik mekanisme lett resulterer i et sett smått ubehagelige differensialligninger. Med strikkmotor, så har man varierende kraft over tid. Flate, flaksendevinger, gir ikke løft, men fremdrift. Framdriften er en funksjon av utslaget på vingen, samt formen den beskriver når den flekser under bevegelsen. Denne er igjen en funksjon av kraft, vingeutslag og hastigheten den flakser med. Ideelt sett, så burde man hatt en tradisjonell vingeprofil inne ved kroppen og fleksible, flaksende vinger lenger ute. Hastigheten på bevegelsene er en funksjon av kraften fra strikken, luftmotstanden, som vingene opplever når de skal drives opp/ned, samt momentet fra kroppen som pendler. Skal du få et ornithopter med helt flate vinger til å stige, så må du vinkle halen litt. I dette tilfellet, så var sweet-spoten et sted mellom 6- 7 grader, litt avhengig av hvor mye man snurret opp strikken.

Jeg og Hedda klarte til slutt å få ornithopteret til å fly, men vi fikk det ikke til å stige. Med 3D-printet kropp i PLA på 9 gram, karbonfiberstenger, icarex, krok og strikk på tilsammen 8 gram, så ble det fremdeles for tungt. Kanskje hadde vi lyktes bedre med litt mindre vinger og høyere frekvens på flaksinga, eller større utslag på vingen. Jeg tror kanskje vi parkerer dette designet nå, men det er neppe det siste ornithopteret som bygges i heimen.

Eye candy / lesestoff:

  1. Simulering av mekanismen i Fusion 360.
  2. Ornithopter Production Workshop (via google translate)
  3. 18-vingers, japansk ornithopter.
  4. Innendørs ornithopterflyving.
  5. eMotion butterflies.
  6. http://www.ornithopter.org/

Götterdämmerung II – Enda mer testing…

Usminket testprint av Dante, rett fra vaffelpressa. Modellen ble printet i 4 deler (mest fordi jeg ville holde mengden støttemateriale til et minimum). Dimensjoner: 29 x 30 x 26 cm. Printetid: ca 13 timer med 0,8mm dyse og 0,3mm laghøyde. Passformen mellom delene er rimelig bra. Absolutt ingen warp eller lift. Modellen skal limes sammen, pusses og sparkles før den dekkes med et tynt lag gips.

Første iterasjon av Strandbeest ute på plena i vårsola. Dimensjoner er 65 x 50 x 45 cm. Printetid: 80+ timer. Neste versjon blir noe større og skal få seg noen kulelager og litt mindre wobbly bein. Går alt min vei, så blir det en eller to slike å se på MakerFaire 2015.

Jeg har nå kjørt 5+ kilo PLA og nylon gjennom printeren uten problem. Har ikke hatt ett eneste misprint etter at jeg monterte giret ekstruder. Oppløsningen er ikke den beste, men stor dyse og laghøyde gjør at man kan prototype deler rimelig raskt. Jeg begynner nå å bli såpass sikker på at designet er stabilt at jeg har valgt å legge ut alle designfiler, samt materialliste på GitHub. Byggeveiledning mangler, men det kommer, så snart jeg får bygget en til.

Götterdämmerung II – Testing.

(Transhumanist selfie)

(CityBeest under assembly (Jepp, det er 30cm gulvflis i bakgrunnen.))

Götterdämmerung II – lessons learned – del 2

Jeg er ikke helt klar for release enda, men etter litt testing i helga, så er jeg rimelig trygg på både retning og moment. Den versjonen av GD som ble demonstrert på Maker Faire i 2014 hadde en del svakheter. Disse er nå adressert.

  • Power. Mange velger å bruke ATX-power. Disse er lett tilgjengelige, men har en maksspenning på 12V og lar deg derfor ikke utnytte potensialet i steppermotorene og stepperkontrollerne du har. Sannsynligvis klarer både steppere og kontrollere spenninger opp mot 30+V. Ved å doble spenninga til 24V, så vil du kunne kjøre steppermotorene raskere, du kan ha tynnere kabler og du vil kunne drive motorene hardere før du begynner å miste steps. GD2 har to separate strømforsyninger. En 24V på 360W til heatbed og en 24V på 200W til steppermotorer og kontrollerkort.
  • Hotend. Skal du printe stort, så er det en fordel med større dyse enn den tradisjonelle 0.4 mm-dysa. Du må da også ha en hotend som er i stand til å smelte plasten raskt nok. Hotend er den ene delen du ikke kjøper fra kina. De fleste kinahotends bryter sammen og begynner å produsere giftgass straks du beveger deg 10+ grader over ekstruderingstemperatur for ABS Velg en hotend med et bra termisk design, som klarer å printe ved ende høyere temperaturer. Da kan du også printe i fancy materialer som nylon. Jeg har installert en E3D hotend, og denne ser ut til å fungere veldig bra. (Teller litt på knappene om jeg skal handle inn Volcano-hotenden deres også)
  • Belter.  Timingbelter finnes i flere materialer. De hvite, billige du finner på eBay er forsterket med tynne metalltråder. Disse metalltrådene knekker hvis radius blir for liten, eller de blir utsatt for for stor belastning (pga varmgang). Du ender da opp med et belte som etter en stund vil bli ekstremt elastisk. Printkvaliteten degenerer over tid. Dette skjedde på forrige versjon. GD2 benytter glassfiberarmerte polyurethanbelter.
  • Friksjon. Velg en printerkonfigurasjon som beviselig fungerer. GD1 hadde en layout, som jeg hadde rappet fra et Stratayspatent. Dette viste seg å ikke fungere spesielt bra, da det designmessig tvang den ene stepperen opp i dobbelt hastighet for å at printhodet skulle kunne bevege seg med samme hastighet i X og Y.  GD2 har fått CoreXY-layout. Dette halverte antall friksjonspunkter og lengden på beltene i forhold til forrige versjon. Med strømmen av, så er det ikke lenger et tohåndsprosjekt å flytte X/Y-vogna. Det holder faktisk med en finger.
  • Idlere. Bruk kulelager. Store kulelager. Du kan aldri få for mange kulelager.
  • Cable towing chains. Legg kablene dine i slike. En langs x-aksen, og en langs y-aksen. Da har du kontroll på at ingen kabler blir fanget i maskineriet. Samtidig er du garantert en at ingen kabler bøyes under en viss radius. Kabelbrudd er bitchy og potensielt farlig for printer og operatør.
  • Elektronikk. Det er helsikes mange kontrollerkort å velge mellom. Velg et kort som håndterer 24V innspenning, der du kan plugge fornuftige stepperkontrollere på kortet. Rumba + DRV8825 ser ut til å være et bra alternativ, selv for en stor printer. Det finnes 32-bits HW der ute, men det holder lenge med 1/16 mikrostepping og step-frekvenser som en 8-bits AVR klarer å håndtere. Med en Raspberry + kameramodul, så har man også mulighet til å kontrollere printeren, se status og bilder på et nettbrett via wifi. Dette er enda ikke implementert i GD2, men det kommer.
  • Printunderlag. Blåtape er en favoritt for mange som printer PLA, men på store prints, så klarer du ikke løsne objektet fra overflata uten slegge. Glassplate med kaptontape ser ut til å kunne fungere veldig bra for ABS, PLA og Nylon. Med et lag PVA i mellom for PLA og Nylon, så vil man ha heft, så lenge varmeplata står på, men printen vil slippe ganske lett når objektet har kjølnet. Velger du glassplate, så kan du bruke vanlig glass, men det må varmes opp jevnt for at det ikke skal oppstå spenninger i glasset. GD2 har to stk 200x300mm PCB heatere, aluplate som varmespreder og 3mm glass på toppen. 16 mm kork under PCB heaterne isolerer disse fra underlaget.
  • Firmware. Her er det også svært mye å velge i. Gå for noe som er velprøvd og har en bra aktivitet m.h.t. videreutvikling. GD2 kjører Marlin
  • Z-probe. Forrige versjon hadde mekanisk Z-probe, som var kontrollert av en servo. Dette ga mer masse i X/Y-vogna og enda flere kabler som måtte routes. Jeg har venner som eksperimenterer med hall-effect sensorer og induktive sensorer m.t.p. en mer elegant løsning på homing. Inntil videre, så har jeg valgt å holde det enkelt. GD2 har kun en mekanisk endstop ved Zmin. Dette kan være litt scary, men etter initiell kalibrering, så skal det ikke være nødvendig å endre denne.
  • Filament drive. GD2 har ikke Bowden-type drev, da jeg ønsker å også kunne printe fleksible filamenter. Foreløpig er drevet koblet direkte på en steppermotor, men jeg har girede steppere på tur inn og jeg vurderer sterkt å ta i bruk MakerGear sin filament drive. Dette er helt klart den enkleste, mest elegante og gjennomtenkte jeg har sett så langt.
  • Fancy materialer i akslinger. Her er det potensielt mye å hente ved å få ned vekta. Titanrørene mine hadde dessverre ikke presise nok dimensjoner til at rullelagrene passet og nylon glidelagrene ble ikke bra nok til at jeg kunne bruke karbon. GD2 har derfor fremdeles stål i alle bein og armer :)
  • Steppermotorer. Gå for steppermotorer med lavest mulig serieresistans og lavest mulig impedans. Lavere impedans er synonymt med høyere mulig stepfrekvens, og dermed høyere printhastighet. Ikke velg steppere med eksempelvis 30 ohms seriemotstand. GD1 hadde 4 steppere koblet i parallell for å drive z-aksen. Dette viste seg å en svært dårlig ide. Steppere skal ikke kobles i parallell mot samme driver, da de vil jobbe mot hverandre. Stepraten vil også forringes dramatisk *). GD2 benytter nå istedet en stepper for å drive 4 akslinger via et lukket timingbelte.

Jeg skal nå bruke noen uker for videre kalibrering og prøveprints. hvor driftsstabil den nye konfigurasjonen er, får tiden vise. Hvis det ikke dukker opp noen showstoppere, så bygger jeg antakeligvis en printer til rimelig umiddelbart (Man kan aldri få nok 3D-printere). Jeg kommer isåfall også til å tilgjengeliggjøre alle designfiler og materialliste på github.

Slik det ser ut så langt, så kommer delekosten til denne printeren (med et byggevolum på 35x35x40 cm) til å ligge på ca 7500 NOK, gitt at man handler det meste av deler fra Hong Kong via eBay.

*) Det er angivelig en tjuvkobling som “er lov” m.h.t. å drive to steppermotorer fra samme kontroller. Denne benyttes i et par RepRap-printere. Koblingsskjemaet ser ikke spesielt pent ut, dog :)

Silly walks – del 2

Etter å ha sneket meg til noen klokkesykluser på jobbmaskina i natt (dual Xeon med 12 kjerner), så har jeg faktisk noen resultater, hvorav ett er slående likt Jansens eget. Med 12 prosesser, så klarer koden å evaluere ca 17000 individer i sekundet (Jeg har kapasitet til å kjøre 24, men viftestøyen fra maskina blir da litt i overkant voldsom). Koden har nå kjørt i 20 timer. Jeg har plukket ut 6 av de beste resultatene så langt og satt sammen en liten video. I går kveld, så slo det meg forøvrig at jeg har utelatt et element, som burde vært baket inn i score-funksjonen. For at beina skal virke i par, så bør de linkes til samme kamaksel, og da må de nødvendigvis virke i 180-graders motfase. Dvs når et bein er i lufta, så må det andre være på bakken (Hastigheten på foten kan variere som en funksjon av vinkelen på rotasjonsaksen). Skal skjerpe meg og reimplementere etter nyttår.

Ellers, så virker det som om anti-konvergens-tiltakene mine (har bl.a. en “Armageddon”-timer i koden, som “straffer” populasjoner som ikke leverer) virker tålelig bra.

Grafene under viser score-utviklingen som en funksjon av generasjon for to av beregningskjernene. Vi ser at GAen begynner å produsere funksjonelle løsninger rimelig kjapt, men at kurveformen for suksessive forbedringer er rimelig logaritmisk.


Silly walks – del 1

Evolusjon i praksis.

En av mine store helter er Theo Jansen. Han har med sine Strandbeests visket ut grensene mellom kunst og ingeniørdisiplinene. Han konstruerer skapninger som kan bevege seg, lagre energi, reagere på omgivelsene, og ta beslutninger – vinddrevne skapninger, laget av plastrør, zipties og tomflasker.

Det som skiller Strandbeests fra andre kinetiske kunstverk er at bevegelsene oppfattes som organiske. Kunstverkene lever sitt eget liv – i flokk – på strendene.

Det som er fundamentet for den organiske estetikken er den mekaniske koblingen av to statiske triangler og 4 statiske lenker, hvorav to til en kamaksel. Denne er kjent som en “Theo Jansen Linkage”.

(Bildet er en skjermdump fra [3])

Ved å rotere AB rundt punktet B, så vil punktet G beskrive et areal (i praksis et polygon i en diskret simulering). Bunnen av dette er alltid flatt i forhold til de stasjonære punktene A og C. Satt sammen i speilvendte par, så fungerer dette mer effektivt enn hjul, for bevegelse på ikke-asfalterte underlag. Lengdene på segmentene, AB, BD, AC, BH, DF, CF, HC, FE, EH, EG og HG, beskriver Jansen som de “11 magiske tall”. Hvis man endrer kun litt på lengden til en av dem, så vil polygonet tegnet av G, kunne endres dramatisk. Endrer man for mye, så vil ikke sammenkoblingen fungere. Hvis vi for eksempelets skyld antar at hvert segment kan ha lengde 1-100, så vil vi ha 10000000000000000000000 forskjellige måter å kombinere disse segmentene på. Noen vil danne fungerende mekanismer, andre ikke. Jeg anbefaler leseren å modifisere Jansen-eksempelet i [3] manuelt for å forsøke å lage et annet ganglag som fungerer. Du vil mislykkes – grundig.

Hvordan kom så Theo Jansen fram til sine 11 magiske tall ?

Jo, han benyttet seg av evolusjon. Segmentlengdene ble optimalisert av en genetisk algoritme over noen måneder CPU-tid. Han bruker også evolusjonsmodellen som forklaring for det organiske resultat. En genetisk algoritme simulerer evolusjon. Et individ beskrives av sine gener, som i dette tilfellet er en binær representasjon av de 11 parametrene. En populasjon av individer evalueres og de beste individene får reprodusere seg og bringe genene sine videre i form av et eller flere avkom. Individer som ikke når opp, vil dø. I praksis er algoritmen som følger:

  1. Initialiser populasjonen med individer med tilfeldige gener.
  2. Evaluer alle individer.
  3. La de beste få reprodusere seg (Vi ønsker å fremavle “eliten”).
  4. La gjerne noen få tilfeldige få reprodusere seg også (Uten en viss diversitet i genmaterialet, så risikerer man å ende opp med individer som presterer på linje med  Charles II av Spania).
  5. Lek litt med mutasjoner (Vi ønsker ikke å sitte fast i et lokalt minima/maksima i 11-space).
  6. Lek litt med og evolusjonspress (Konvergens er bad. Sannsynligheten for å være i nærheten av det globale maksimum er veldig nær 0. Står du stille, så er du på en lokal topp.).
  7. Lek litt med innvandring (Nye gener).
  8. Gjenta inntil et av individene har tilfredsstillende egenskaper.

Hadde en organismes tilpasningsdyktighet latt seg representere ved en deriverbar og kontinuerlig funksjon, så kunne man enkelt fulgt en partiellderivert “oppover” inntil den andre-deriverte begynte å nærme seg null. Med flere slike i samme område så hadde man vært rimelig trygg på at man var i nærheten av et lokalt maksima. Hadde man ikke vært fornøyd med resultatet, så kunne man startet på nytt fra et annet sted og forsøkt igjen.

Theo Jansen sin mekaniske kobling er ikke videre deriverbar. Et stort antall kombinasjoner av variable har ikke løsninger, så den underliggende funksjonen er ikke engang kontinuerlig. Genetiske algoritmer er her en farbar vei, da man kaster et “nett” over det 11-dimensjonale parameterrommet og beveger seg videre fra de toppene som ser mest lovende ut.

Evolusjon er lite annet enn en optimaliseringsalgoritme for arvemateriale. Scoringfunksjonen er overlevelse. Attractoren er miljøet.

Det som gjerne er utfordringen med genetiske algoritmer er å beskrive miljøet. D.v.s. konstruere en scoringfunksjon som fungerer som en ønsket attractor for evolusjonen.

Imitasjon er den beste form for smiger

(d.v.s. så lenge man ikke imiterer noe som er patent- eller merkevarebeskyttet.)

Jeg er som kjent svanger med Götterdämmerung II, og Maker Faire 2015 nærmer seg med stormskritt. Hva hadde vel vært kulere enn å lage et printbart StrandBeest, som hadde bein konstruert på basis av en annen løsning enn den som Theo Jansen fant ? 11 andre magiske tall ? Er det gjørbart ?

Jeg gikk ned for telling med influensa for et par uker siden og begynte å gruble litt innimellom frostriene. Før dette kunne besvares, så måtte jeg løse følgende problem i de ledige stundene jeg hadde mellom rekonvalesens, julegaveinnkjøp og jakten på den perfekte ribbeoppskrift:

1) Beskriv den mekaniske koblingen ved å rotere AB full sirkel rundt A, gitt punkt C og 11 tilfeldige tall – algebraisk. Funksjonen må returnere “levedyktig” eller “dødfødt”. Det virker tilsynelatende ikke mer komplisert enn å parametrisere ligningene for to sirkler og returnere løsningene for skjæringspunktene. Numerisk er dette en rimelig triviell øvelse. Skal man ha sine parametre intakt, så blir det raskt noe mer involvert. Jeg begynte med penn og papir, men endte opp med å kjøpe en symbolsk algebrapakke til maccen. It’s – hvaskalmansi – verbose ?

2) Beskriv en noenlunde fornuftig scoring-funksjon for gangen. Den må være “flat i bånn”, ikke gå i 8-tall, helst ikke ha noen link-punkter under seg, ha en viss utstrekning og være noenlunde horisontal (Dette er ikke metoder du finner i QPolygonF-implementasjonen i Qt.). Funky mellomtrinn bør være lov. Funksjonen må være lett å beregne, samt gi ett objektivt kriterie ut. (Men hvordan vet man om man kan stole på dommeren man har satt inn ? Kanskje det, som så ut som en kongescoring, faktisk var et selvmål ? Evolusjonen vil gå i retning av det du beskriver uansett om du er på bærtur eller ikke. (Dette gjelder faktisk også innen ledelsesteori (ihvertfall sett fra utsiden). Måler du noe, så er det det, som gauderne som jobber for deg vil optimalisere organisasjonen for. Just sayin’.)

3) Implementer en GA – som virker. How hard can it possibly be ?

4) Gjør den parallelliserbar.

5) Brenn av veldig, veldig mange CPU-sykluser.

6) Se om det kommer noe fornuftig ut…

Når jeg kan svare “ja” på spm 6, så kan jeg jo bare skrive ned mine 11 nye tall på pergament og så mate de inn i Fusion 360, tegne litt, extrude litt og så bare eksportere en printbar STL og gå for total awesomeness på MF. Juhuuu ! Eller..?

Som leser, så lurer du nå sikkert (igjen) på om dette bare er et et halvgjennomtenkt ønskeprosjekt eller om det faktisk vil komme noen del 2 – ever. Jeg skal ærlig innrømme at jeg lurer på det samme. Status er som følger: Maskinparken er på punkt 5 og jeg er på punkt 6. Kildekoden er foreløpig i et privat repo på GitHub (burde la seg snurre på Mac, Linux og Windows++). Antar jeg åpner opp repoet hvis jeg på litt sikt kan svare et rungende “JA” på spm 6. Blir svaret et nølende “eeeeh”, så kan det hende jeg feier alt under teppet. Vi får se.

Det jeg kan si med sikkerhet, er at jeg allerede har sett mange levedyktige løsninger (og også fryktelig mange, som går John Cleese sin “Silly Walk”-sketch en høy gang), men jeg har enda ikke sett noen som er bedre enn Theo Jansen sine 11 magiske tall. Likevel, så skal det noe til at Theo Jansen har funnet det globale maksimum. Jeg setter en mynt på at det er enda mer effektive løsninger der ute. Spørsmålet er vel egentlig bare hvor lang tid det vil ta å finne dem.

Godsaker / Ressurser.

Jeg kan varmt anbefale følgende godsaker til de som måtte være interessert:

[-1] Gakken sitt “Mini Strandbeest kit”. Dette får du hos MakerShed, Adafruit, Amazon etc. Det finnes flere varianter å velge mellom.

[0] PocketCAS – Genial liten mattepakke for iOS og Mac. Koster mindre enn 200 spenn og løser alle dine umiddelbare symbolske algebrahbehov.

[1] “The Great Pretender”, Theo jansen, 010 Publishers, 2009

[2] “The Dream Machines of Theo Jansen”, Lena Herzog, Taschen, 2014

[3] “Linkage Mechanism Designer and Simulator”, v.2.9.13, David M. Rector

Dimension 10

Er du i tvil om hva du skal handle i julegave til mor ? Er du arkitekt ? Er du diorama-/modellbygger eller Warhammer-entusiast, men føler at du savner det lille ekstra m.h.t. realisme ?

Look no further.

Dimension10 åpnet sin butikk på Sirkus kjøpesenter i Trondheim i dag (De holder til ved utgangen i 2. etg). Jeg har en liten følelse av at dette er Norges eneste drop-in 3D scan- og print-tjeneste. Fotorealistiske 3-dimensjonale figurer av deg selv med familie er garantert kulere enn noe som naboen har stående i stua. Med en presis 3D-scan av deg selv, så kan du gjøre uendelig mye annet også. Personlig, så planlegger jeg å importere en scan av mitt eget hode inn i Fusion360, slik at jeg kan designe solbriller og ymse “add-ons” for meg selv – med perfekt passform.

Primus motor, Christer-André Fagerslett, demonstrerer bruk av 3D-printer i proffklassen. Printeren er en Projet 660.

Mini-Christer, som holdes nede i et bad av cyanoakrylat – inntil det ikke lenger bobler opp til overflaten… :D

Printkvaliteten er upåklagelig. Modellene er så livaktige at de nesten er litt spooky.

Uncool Tools ?

Jeg begynner å bli litt mett av å lese “3D-printer” over alt. Teknologi-relaterte bloggposter og artikler der betegnelsen ikke dukker opp, er snart i mindretall.

De fleste teknologier følger Gartners hypekurve, fra “Technology Trigger”, til “Peak of Inflated Expectations”, til “Through of Disillusionment”, til “Slope of Enlightenment”, til “Plateau of Productivity”. Den andre 3D-printerrevolusjonen gikk rett fra teknologitrigger til produktivitetsplatå. Imponerende og relativt unikt. Det er nå et etablert verktøy. Det virker(ish).

Vi har mange leverandører. Det er hard konkurranse og det er bra fart. Faktisk, så har vi såpass bra fart at det kanskje er på tide å løfte blikket litt, for å se hvor vi kjører, og reflektere litt over hvor vi skal ? Jeg vet ikke om alle skribenter og anmeldere der ute, riktig har fått med seg at *ALLE* FDM-baserte 3D-printere, som markedsføres som nye produkter, i praksis er basert på inkorporering og rebranding av eksisterende teknologier. Diskriminanten mellom printerne er en funksjon av hvor bra kassa er skrudd sammen, hvor pen den er og hvor innmaten er rappet fra. Alle kan bygge sin egen printer nå. Det er sannsynligvis lettere enn å sette opp en gjennomsnittlig Märklin modelljernbane.

Alle FDM-printere som virker, benytter åpen kildekode og åpen hardware. Makerbot forsøkte roll-your-own-minimum-viable-product med sine generasjon5-produkter. De glemte å ansette ingeniører, og de testet printerne i “timesvis” før de slapp dem ut på markedet (…). Det gikk ikke særlig bra og jeg regner med de stiller med livvakter på neste CES for å unngå å bli steinet av kunder med lomma full av dysfunksjonelle smartekstrudere.

Når jeg handlet min første 3D-printer, for 4 år siden, så lå det to fantastiske produkter i esken. Den ene var et Thing-O-Matic byggesett, og det andre var en “M3 Ball end hex key”. Jeg har benyttet ToM flittig siden første dag, men jeg har brukt hexnøkkelen mer. Den er et fantastisk verktøy, og har blitt benyttet i alle prosjekter som har involvert mer enn en fysisk del. Vet jeg ikke hvor denne til enhver tid befinner seg, så får jeg ikke sove om natta.

Hexnøkkelen min hadde vært verdiløs hvis ingen hadde tatt kampen med å standardisere hodet. Skruene ville vært verdiløse hvis ingen hadde tatt kampen med å standardisere gjengedimensjonene. Gitt standardene, så er hexnøkkelen rent gull. Den tillater meg å åpne, modifisere, forbedre og reparere alt som er skrudd sammen med M3 hexhead-skruer – som eksempelvis Thing-O-Maticen min :)

Jeg setter penger på det er de åpne teknologiene som vil vinne. D,v,s, de som etablerer og implementerer det som vil bli de åpne standardene. (Jeg taper alltid alle mine veddemål, men går det skeis denne gangen, så forker jeg inn i et parallelt univers). Disse standardene mangler.

M.h.t. 3D-printere, så er det det glade vanvidd der ute. Mye av den kjerneteknologien i dagens 3D-printere har blitt til som et resultat av hva idealister har klart å realisere i form av åpen kildekode og hardware. Alle disse hardwareløsningene produseres nå i kina og selges så billig, og i et slikt volum at de har blitt de facto standarder – før noen rakk å tenke seg om.

Dessverre, så var vi ikke helt i mål før kineserne luktet lunta. Jeg skulle inderlig håpe at “noen” tok seg bryet med å adressere følgende punkter istedet for å publisere lister med de 10 beste 3D-printerne, eller “3D Printers Buyers Guide”:

  1. STL-formatet var der. Det var enkelt. Det ble adoptert. Formatet kan beskrive en vertex/polygonliste og ikke noe annet. Det er ikke tilstrekkelig for å beskrive fargekomponenter. En STL-fil kan beskrive flere solids, men det finnes ingen standard m.h.t. hvordan dette kan gjøres for å beskrive multiextrusionmodeller. Vi trenger et bedre format, eller en standard for hvordan dette gjøres i STL (Det eneste du kan parametrisere er solid-navnet). Enkelte leverandører har proprietære løsninger for dette, men det er ikke tilstrekkelig.
  2. Elektrisk grensesnitt for kontrollere. Det begynner å bli en del kontrollere på markedet. Alle tillater deg å koble til nesten det samme, men det er likevel nervepirrende hver gang. De fleste baserer seg på at du kan plugge inn “standard” Pololu stepperkontrollere, eller har integert disse på kortet. Dette er ikke tilstrekkelig. For å kunne printe i høy hastighet, så er man avhengig av closed loop-kontroll, og da må stepperkontrollerne kunne snakke asynkront med kontrollerkortet. Ingen konsumernivå kontrollerkort der ute støtter en “hack-fri” tilkobling av vilkårlige stepperkontrollere, og ingen støtter closed loop i firmware.
  3. Standardisering av GCode for 3D-printere. Dette gjelder både hvilke kommandoer som må implementeres i firmware, samt lagrings / streamingformat.
  4. Standarder for a) failsafe for reduksjon brannfare og b) utslippskrav m.t.p. avgasser og partikler. M.t.p. den mengde kinaprodusert plast som nå smeltes og også undergår “utilsiktet pyrolyse” i de tusen hjem, så er det nesten et under om ikke halvparten av 3D-printergenerasjonen vil bukke under for det som senere skulle vise seg å være “den nye asbesten”.
  5. Flere små irritasjonsmomenter som manglende sporbarhet og datablad for plast / polymerer. Manglende standard for fysisk grensesnitt for hotend, utover at “det bare ble sånn”-J-head-standard m.m.

PS. Jeg vet at Autodesk i disse dager lanserer “Spark”, som angivelig skal være en åpen standard for “noe” (sannsynligvis kun fokusert på software, men det er lov å håpe på at noen har tenkt ). Det foreligger svært få detaljer enda, men jeg antar at de lanserer et eller annet på CES 2015 i forbindelse med den nye printeren de kommer med.