Motion Simulator!

Gewoon even offtopic praten over van alles en nog wat.

Moderator: Moderators

Plaats reactie
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 12055
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Motion Simulator!

Bericht door hugo stoutjesdijk »

Volgens mij moet je het probleem uitkleden.
Kijk eerst tegen 1 zijkant aan, en probeer dat te berekenen. Vervolgens pak je de volgen zijde, doe je het nog een keer. Uiteindelijk kun je met de 2 aanzichten van 1 draadje de 3D lengte uitrekenen.
En die kubus er tussen in kun je gewoon weg rekenen.
draadjes.jpg
Niet exact op schaal getekend, maar het idee is hoop ik duidelijk.
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
hainjedaf
Donateur
Berichten: 2469
Lid geworden op: 01 aug 2011 10:01
Locatie: Amsterdam
Contacteer:

Re: Motion Simulator!

Bericht door hainjedaf »

@Hugo: Dus eigenlijk eerst in 2 dimensies oplossen.

X-Y, X-Z en Y-Z

en dan de berekeningen koppelen?
Met vriendelijke groet,
Marout Sluijter-Borms,
Amsterdam

Prusa Mini+ Wifi & X1 Carbon met X1Plus
Sparren en tinkeren met iedereen en over alles wat techniek is.
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: Motion Simulator!

Bericht door Swets »

ja in een plat vlak gaat het wel.... maar in een 3D wereld... word het een stuk lastiger.....
eigenlijk heb ik 8 bollen, met verschillende stralen...
http://www.arjan-swets.com (met cnc filmpjes)
Gebruikersavatar
DaBit
Donateur
Berichten: 11041
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: Motion Simulator!

Bericht door DaBit »

Daar een 2D probleem van maken is alleen maar lastiger lijkt me?

Stel: de kubus met motortjes gaat van [-100,-100,-100] tot [100,100,100] (lengte ribben 200, zwaartepunt op [0,0,0] dus) en het bewegende ding is een kubus [-1,-1,-1] .. [1,1,1] (lengte ribben 2, zwaartepunt ook op [0,0,0]).
Dan heb je dus draden van:
1) [-100,-100,-100] -> [-1,-1,1]
2) [-100,-100,100] -> [-1,-1,-1]
3) [100,-100,-100] -> [1,-1,1]
4) [-100,-100,100] -> [1,-1,-1]
5) [-100,100,-100] -> [-1,1,1]
6) [-100,100,100] -> [-1,1,-1]
7) [100,100,-100] -> [1,1,1]
8 ) [-100,100,100] -> [1,1,-1]

De lengte van draad 1 (en alle anderen in dit geval) is dan sqrt[(-100 - -1)^2 + (-100 - -1)^2 + (-100 - 1)^2] = 172.6

Ga ik dan de kubus 1 eenheid riching X- bewegen, dan is de locatie van die kubus [-2,-1,-1] .. [0,1,1].
Dan kan ik vervolgens weer alle lengtes van touwtjes uitrekenen. Het verschil met de vorige situatie is de afstand/het aantal stapjes wat ik moet afleggen.

Doe ik dat rekenwerk botweg per 1 micrometer of desnoods per 1 nanometer, dan hebben de motoren meestal 0 stapjes vooruit of teruguit, en soms 1 stapje. Kijk, da's makkelijk, want 1 grote:

DO
transformeer binnenste kubus met matrixen zoals ik je ooit eerder geleerd heb, dan kan je binnenste kubus ook draaien
kijk welke motoren er een stapje bij of af moet hebben.
doe dat
REPEAT (forever)

doet dan de truuk. Weliswaar knap inefficient, en het gaat op een paar praktische zaken mis, maar dat kun je altijd nog verbeteren.

Of zie ik het nou te simpel?
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 12055
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Motion Simulator!

Bericht door hugo stoutjesdijk »

Nou volgens mij heb je aan 1 vooraanzicht en 1 zijaanzicht voldoende. En dat bereken van die lengte gebeurt precies hetzelfde met kwadraatjes en worteltjes.
Ik hoopte alleen door het probleem plat te slaan het wat begrijpelijker te krijgen. (als je even niet door die matrix heen kijkt)
Uiteindelijk moeten toch al die lengtes berekend worden.
Als het in het platte vlak makkelijk is, doe je 2 simulaties tegelijk, heb je totaal 3 vectoren waar je de lengte van de draad uit kunt halen.
De overeenkomst tussen die zijaanzichten is dat de hoogte bij beide gelijk is.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: Motion Simulator!

Bericht door Swets »

DaBit schreef: 16 nov 2021 15:11 Daar een 2D probleem van maken is alleen maar lastiger lijkt me?

Stel: de kubus met motortjes gaat van [-100,-100,-100] tot [100,100,100] (lengte ribben 200, zwaartepunt op [0,0,0] dus) en het bewegende ding is een kubus [-1,-1,-1] .. [1,1,1] (lengte ribben 2, zwaartepunt ook op [0,0,0]).
Dan heb je dus draden van:
1) [-100,-100,-100] -> [-1,-1,1]
2) [-100,-100,100] -> [-1,-1,-1]
3) [100,-100,-100] -> [1,-1,1]
4) [-100,-100,100] -> [1,-1,-1]
5) [-100,100,-100] -> [-1,1,1]
6) [-100,100,100] -> [-1,1,-1]
7) [100,100,-100] -> [1,1,1]
8 ) [-100,100,100] -> [1,1,-1]

De lengte van draad 1 (en alle anderen in dit geval) is dan sqrt[(-100 - -1)^2 + (-100 - -1)^2 + (-100 - 1)^2] = 172.6

Ga ik dan de kubus 1 eenheid riching X- bewegen, dan is de locatie van die kubus [-2,-1,-1] .. [0,1,1].
Dan kan ik vervolgens weer alle lengtes van touwtjes uitrekenen. Het verschil met de vorige situatie is de afstand/het aantal stapjes wat ik moet afleggen.

Doe ik dat rekenwerk botweg per 1 micrometer of desnoods per 1 nanometer, dan hebben de motoren meestal 0 stapjes vooruit of teruguit, en soms 1 stapje. Kijk, da's makkelijk, want 1 grote:

DO
transformeer binnenste kubus met matrixen zoals ik je ooit eerder geleerd heb, dan kan je binnenste kubus ook draaien
kijk welke motoren er een stapje bij of af moet hebben.
doe dat
REPEAT (forever)

doet dan de truuk. Weliswaar knap inefficient, en het gaat op een paar praktische zaken mis, maar dat kun je altijd nog verbeteren.

Of zie ik het nou te simpel?
Matrixen, ja ik weet nog wel dat ik dat leuk vond.... maar hoe dat precies allemaal ging... :-) maar dat ga ik nog eens bekijken....
eerst nog ff een paar keer lezen om het in te laten dalen... :-)

maar ik begrijp wel , dat ik in iedergeval deze twee nodig heb:

Code: Selecteer alles

Turn Matrix
         0         1          2  3
  0    [ cos(Rot), -sin(Rot), 0, 0]
  1    [ sin(Rot), cos(Rot),  0, 0]
  2    [ 0,        0,         1, 0]
  3    [ 0,        0,         0, 1]

Trans Matrix
         0   1   2  3
  0    [  1,  0,  0, 0]
  1    [  0,  1,  0, 0]
  2    [  0,  0,  1, 0]
  3    [ TX, TY, TZ, 1]
Laatst gewijzigd door Swets op 31 dec 2022 13:06, 1 keer totaal gewijzigd.
http://www.arjan-swets.com (met cnc filmpjes)
Gebruikersavatar
DaBit
Donateur
Berichten: 11041
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: Motion Simulator!

Bericht door DaBit »

Wat ik schrijf is hetzelfde als wat Hugo schrijft, maar dan met 3D-coordinaten ipv 2D.
Als je het in een plat XY vlak snapt, dan lukt het in XYZ ook wel.

Die matrixen komen pas later, als je je binnenste dingetje ook wil laten draaien. En zelfs dan zijn ze niet strikt noodzakelijk, maar zoals ik destijds al zei een heel mooi generieke oplossing voor al dit soort problemen.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: Motion Simulator!

Bericht door Swets »

https://www.dropbox.com/s/mb741pbfk587b ... 1.png?dl=0

Dus dit is even het plaatje war we over praten....

sqrt[(-100 - -1)^2 + (-100 - -1)^2 + (-100 - 1)^2] = 172.6

sorry..maar dit stukje ? ik snap al ff niet hoe je daar zo snel aan komt.... althans... mijn wiskunde gaat niet verder als de stelling van Pythagoras..
maar jij doet het in 1 keer?

ik doe het in 2 keer... ik maak dus eerste een driehoek van bijvoorbeeld boven af... en dan vanaf de zijkant.... maar het kan dus ook zo.. :-)

edit:
ja .. ik doe natuurlijk het zelfde.... sqrt(99^2) + (99^2)= 140 -> sqrt(140^2)+(101^2)=172.63... kortom precies het zelfde.... ik maak alleen een stap meer... :-)

edit 2:

dus als ik het goed begrijp, ehhh ff kijken ...


ik wil zeg maar 20mm over de X-as verschuiven.... dan ga ik niet in 1 keer die 20mm uit reken, maar ik schuif bijvoorbeeld eerst 0,1 mm .... reken dan uit hoelang de 8 draden moet worden.... dan krijgen alle draden maar een paar pulzen, omdat we zo weinig verschuiven....
die voer ik uit.... als hij daar mee klaar is, weet ik waar hij op dat moment is... (0,1 mm verschoven in x-as).... dan verschuif ik hem weer 0,1mm , reken weer alle lengtes uit... doe dat weer.... net zo lang tot dat ik 20 mm verschoven ben....

dat is eigenlijk het verhaal.....? toch?

ga ik eerst eens kijken of ik dat in me arduinootje krijg.....
http://www.arjan-swets.com (met cnc filmpjes)
Floppy
Berichten: 774
Lid geworden op: 11 apr 2007 23:40
Locatie: Zeddam

Re: Motion Simulator!

Bericht door Floppy »

Als je nu eens de onderste 4 kabels op constante spanning houdt met een servomotor achtig iets, hoef je alleen de bovenste 4 kabels aan te sturen om alle bewegingen te maken.
Dat maakt het rekenwerk een stuk eenvoudiger.
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 12055
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Motion Simulator!

Bericht door hugo stoutjesdijk »

Swets schreef: 17 nov 2021 09:30
sqrt[(-100 - -1)^2 + (-100 - -1)^2 + (-100 - 1)^2] = 172.6

sorry..maar dit stukje ? ik snap al ff niet hoe je daar zo snel aan komt.... althans... mijn wiskunde gaat niet verder als de stelling van Pythagoras..
maar jij doet het in 1 keer?
Ja, die Pythagoras kon het ook al in de ruimte. draadlengte = Wortel ( X² + Y² + Z² )

Dus die wiskunde van jouw gaat precies ver genoeg. :lol:

Als je die lengte in XY uitrekent, doe je even niet de wortel, heb je dus R²=(X²+Y²) en die R² zou je in jouw geval weer invullen voor je volgende berekening, draadlengte = wortel (R² + Z²) dus is het dubbelwerk om eerst die R uit te rekenen.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
DaBit
Donateur
Berichten: 11041
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: Motion Simulator!

Bericht door DaBit »

Swets schreef: 17 nov 2021 09:30 dat is eigenlijk het verhaal.....? toch?
Yup. En omdat je de boel opdeelt in kleine stukjes heb je wat minder last van het feit dat de snelheid van de motoren verandert tijdens de beweging.

In feite is dat wat veel CNC-besturingen ook doen. Die hakken alle bewegingen op in rechte stukjes van bijvoorbeeld 1/1000ste seconde en voeden daar de motoren mee.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: Motion Simulator!

Bericht door Swets »

en ik heb vandaag nog eens zitten lezen in het doosjes verhaal....

en ik denk nu ook dat ik snap hoe ik de matrixen moet toepassen.....
als ik de 8 hoekpunten van het object dmv matrixen verschuif of roteer.... weet ik de 8 nieuwe hoekpunten....

maar de rest blijft het zelfde..... als ik de 8 nieuwe hoekpunten weet, kan ik dmv de stelling van Pythagoras de lengte van de draden berekenen....
blijft de rest eigenlijk het zelfde..... ?

ik denk dat ik het nu weer zie.... :-) nu kijken of ik het in de arduino krijg.... :-)


de functie die ik gemaakt had voor de stelling van Pythagoras zal ik ook gelijk wijzigen...... beetje onzinnig om ergens de wortel van te nemen, om het daarna het kwadraat weer uit te rekenen..... dat stapje kan er gewoon tussen uit.... eigenlijk was het me ook al opgevallen op me rekenmachine... dat ik eerst de wortel nam.... en bij de volgende berekening weer het kwadraat zat te doen... :-) terwijl ik wel in de Electro met formules geleerd heb om er een paar aan elkaar te hangen.... zoals P=UxI U=IxR dus P=I^2.R of P=U^2/R
Floppy schreef: 17 nov 2021 11:20 Als je nu eens de onderste 4 kabels op constante spanning houdt met een servomotor achtig iets, hoef je alleen de bovenste 4 kabels aan te sturen om alle bewegingen te maken.
Dat maakt het rekenwerk een stuk eenvoudiger.
elastiekjes , ipv draadjes.... ja dan wordt het wel makkelijker..... of touwtjes, via een katrol, met gewicht er aan... maar gaat het dan strak ook goed met roteren? (en ook een beetje zonde van me hele bouwwerk... :-) ) en ik zou ff niet zo snel weten om een soort elastiek-achtig verhaal in een stappenmotor functie te bouwen....?
http://www.arjan-swets.com (met cnc filmpjes)
Gebruikersavatar
DaBit
Donateur
Berichten: 11041
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: Motion Simulator!

Bericht door DaBit »

Swets schreef: 17 nov 2021 21:48 als ik de 8 hoekpunten van het object dmv matrixen verschuif of roteer.... weet ik de 8 nieuwe hoekpunten....

maar de rest blijft het zelfde.....
Exact! :P
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Floppy
Berichten: 774
Lid geworden op: 11 apr 2007 23:40
Locatie: Zeddam

Re: Motion Simulator!

Bericht door Floppy »

Swets schreef: 17 nov 2021 21:48 elastiekjes , ipv draadjes.... ja dan wordt het wel makkelijker..... of touwtjes, via een katrol, met gewicht er aan... maar gaat het dan strak ook goed met roteren? (en ook een beetje zonde van me hele bouwwerk... :-) ) en ik zou ff niet zo snel weten om een soort elastiek-achtig verhaal in een stappenmotor functie te bouwen....?
Elastiekjes hoeft niet direct en met gewichtjes kan je nooit een versnelling groter dan 1 G halen maar een simpele dc motor die een constante stroom krijgt geeft een constant koppel-> constante spanning.
In een van de eerste filmpjes die in dit topic staan wordt ook gesproken over kabels die onder 1.2 ton voorspanning staan. Met alleen stappenmotoren lukt dat niet er moet dan iest van tension control zijn.
Plaats reactie