Forum: Mikrocontroller und Digitale Elektronik Geschwindigkeit Kettenfahrzeug berechnen


von Panzer (Gast)


Lesenswert?

Hallo Forum!

Wahrscheinlich wäre ich in einem Modellbauer-Forum besser aufgehoben, 
aber ich frage trotzdem mal.

Ich habe mir eine Plattform mit 6 Motoren gebaut, jeweils 3 Motoren 
Links und 3 Motoren rechts .

Jeweils 3 Motoren laufen über eine H-Brücke.

Meine Fernsteuerung liefert mir die Geschwindigkeit und den 
Lenkeinschlag.

Wie kann ich daraus die Drehzahl für die linke und rechte Seite 
berechnen.

Die Plattform soll sich auch im Stand drehen können.

Gruß

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Panzer schrieb:
> Hallo Forum!

Hallo Gast!

> Ich habe mir eine Plattform mit 6 Motoren gebaut, jeweils 3 Motoren
> Links und 3 Motoren rechts .

Warum 3 Motoren für jede Kette?

> Wie kann ich daraus die Drehzahl für die linke und rechte Seite
> berechnen.

Wozu brauchst du die Drehzahl? Um diese regeln zu können benötigst du 
einen Regelkreis.

> Die Plattform soll sich auch im Stand drehen können.

Nimm die Lenkinformation einfach als Differenz zwischen Stellgröße 
linke/rechte Kette. Im Stand (Speed=0) drehen sich die Ketten halt 
einfach entsprechend des Lenkausschlages gegeneinander.

von Panzer (Gast)


Lesenswert?

> Warum 3 Motoren für jede Kette?
>
Ich habe keine Kette, Kettenfahrzeug fand ich aber trotzdem einen 
treffenden
Titel. Es ist eher ein Sechsradantrieb.


> Wozu brauchst du die Drehzahl? Um diese regeln zu können benötigst du
> einen Regelkreis.

Ich will sie nicht regeln sondern nur steuern. Ich brauche eine Formel 
Geschwindigkeit und Einschlag in Drehzahl links und rechts.

von Oliver S. (oliverso)


Lesenswert?

Mal was ganz hoch kompliziertes:

Drehzahl links = Geschwindigkeit + Lenkwert
Drehzahl rechts = Geschwindigkeit - Lenkwert

Oliver

von Amateur (Gast)


Lesenswert?

Ohne genaue Angaben zur Geometrie wird das nichts.

Also welche Räder werden angetrieben welche Räder werden gesteuert, wie 
ist der Radstand in beiden Richtungen und so weiter? Was für Sensoren 
stehen zur Verfügung oder was für Motore sind im Spiel?

Vor allem, verabschiede Dich von Überlegungen wie: Radumfang mal 
Radumdrehungen = Wegstrecke

Das funktioniert noch nicht mal bei Eisenbahnen auf Stahlschienen - bei 
langen Strecken.

von Panzer (Gast)



Lesenswert?

Das Teil sieht ungefähr so aus wie im Anhang.

Wenn die Räder Schlupf haben ist das nicht so tragisch weil der 
Regler(Mensch) das ausgleichen kann.

von Tom K. (ez81)


Lesenswert?

Wenn Du rechnen magst, ist ein simples Zweiradmodell ein guter Anfang:
http://www-home.fh-konstanz.de/~bittel/roboMSI/Vorlesung/04_Lokalisierung.pdf 
S. 6f

Olivers Formel löst ganz einfach das Problem, dass man bei hohen 
Geschwindigkeiten keinen kleinen Wendekreis braucht und will, weil das 
Steuern sonst sehr haarig wird. Wenn der Lenkwert (so wie in der Formel) 
nicht zusätzlich geschwindigkeitsabhängig ist, ist die 
Drehgeschwindigkeit Deines Panzers nur vom Faktor Lenkwert/Einschlag 
anhängig, d.h. drehst Du bei Volleinschlag im Stillstand z.B. 180°/s, 
hat der Wendekreis bei 1m/s einen Durchmesser von 64cm, bei 2m/s 1.3m 
usw.. Das alles gilt nur für geregelte Drehzahl. Wie sich das Fahrzeug 
mit ungeregelten Drehzahlen und der riesigen Reibung  beim Lenken 
verhält und wie das Fahrverhalten in der Praxis ist, ist am sinnvollsten 
auszuprobieren.

von Karl H. (kbuchegg)


Lesenswert?

Panzer schrieb:
> Das Teil sieht ungefähr so aus wie im Anhang.

Na passt doch.

Dann verweise ich mal auf
Beitrag "Re: Geschwindigkeit Kettenfahrzeug berechnen"

(falls das untergegangen sein sollte)
mit dem Zusatz, dass der Lenkwert natürlich so beschaffen ist, dass ein 
Wert von 0 'geradeaus' bedeutet. positive Werte bedeuten 'nach rechts', 
negative 'nach links' (oder umgekehrt, spielt keine große Rolle, da das 
ja nur eine Frage des Vorzeichens ist).
Und zur Not kann man ja den Lenkwert noch mit einem Faktor vergrößern 
oder verkleinern, um ihn in Relation zum Geschwindigkeitswert zu setzen. 
Dieser Faktor darf durchaus ruhig von der Geschwindigkeit abhängen, so 
dass sich die Empfindlichkeit auf Lenkenschläge verringert, je schneller 
grundsätzlich gefahren wird.

Was aber am Prinzip (und ich zitiere)
1
Drehzahl links = Geschwindigkeit + Lenkwert
2
Drehzahl rechts = Geschwindigkeit - Lenkwert
nicht viel ändert.

Eines noch: nimm bitte den Begriff 'Drehzahl' nicht zu ernst. Denn die 
interessiert in Wirklichkeit keinen. Kein Panzerfahrer dieser Welt 
interessiert sich für die genaue Drehzahl der Kette links bzw. rechts.
Wenn er nach rechts will, dann gibt er der linken Kette mehr Gas und 
bremst die rechte Kette. Mehr braucht es nicht. In diesem Sinne ist 
'Drehzahl links' auch einfach nur als ein proportionaler Wert zu sehen. 
Je größer, desto schneller. Bei 0 steht die Kette auf dieser Seite. Und 
wenn der Wert negativ ist, dann drehen die Ketten eben in die andere 
Richtung.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?


von Karl H. (kbuchegg)


Lesenswert?

Magnus M. schrieb:
> Karl Heinz Buchegger schrieb:
>> Dann verweise ich mal auf
>> Beitrag "Re: Geschwindigkeit Kettenfahrzeug berechnen"
>
> Grmmmpf..... und was ist mit
> Beitrag "Re: Geschwindigkeit Kettenfahrzeug berechnen" ?
>
> *schmoll*

Sorry.
Ich darf korrigieren:

Dann verweise ich mal auf die Beiträge ....

von Panzer (Gast)


Lesenswert?

Oliver S. schrieb:
> Drehzahl links = Geschwindigkeit + Lenkwert
> Drehzahl rechts = Geschwindigkeit - Lenkwert

Diesen Ansatz hatte ich auch erst. Nachteil: je schneller das Ding 
fährt, desto weniger hat die Lenkung Einfluß, da der Lenkwert nicht mit 
der Geschwindigkeit skaliert ist.
Vielleicht ist dieser Effekt aber sogar erwünscht, werde ich morgen mal 
testen.

von MaWin (Gast)


Lesenswert?

> Wie kann ich daraus die Drehzahl für die linke und rechte Seite
> berechnen.

Gar nicht, denn der Drehwinkel bei unterschiedlicher Drehzahl hängt vom 
Untergrund und dem Rutschverhalten der Räder ab. Es sei denn, du 
verwendest ein http://de.wikipedia.org/wiki/Mecanum-Rad

Du wirst also schon ein Gyro einbauen müssen.

von Karl H. (kbuchegg)


Lesenswert?

Panzer schrieb:
> Oliver S. schrieb:
>> Drehzahl links = Geschwindigkeit + Lenkwert
>> Drehzahl rechts = Geschwindigkeit - Lenkwert
>
> Diesen Ansatz hatte ich auch erst. Nachteil: je schneller das Ding
> fährt, desto weniger hat die Lenkung Einfluß, da der Lenkwert nicht mit
> der Geschwindigkeit skaliert ist.

Dann skalier ihn halt!

Du bist der Programmierer. Wenn du den Lenkwert mit einem Faktor 
multiplizierst, der sich aus der Geschwindigkeit ergibt - wer will dich 
daran hindern? Der µC bestimmt nicht.

von Panzer (Gast)


Lesenswert?


von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Karl Heinz Buchegger schrieb:
> Sorry.
> Ich darf korrigieren:
>
> Dann verweise ich mal auf die Beiträge ....

Ja, Du darfst. Danke  =)

von Panzer (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Dann skalier ihn halt!

Wenn ich es mit der Geschwindigkeit skaliere, dann dreht das Ding im 
Stand aber nicht.

Ich suche eine Lösung aus der Praxis, ich bin ja bestimmt nicht der 
erste, der so ein Ding steuern will.

von fragender (Gast)


Lesenswert?

MaWin schrieb:
>> Wie kann ich daraus die Drehzahl für die linke und rechte Seite
>> berechnen.
>
> Gar nicht, denn der Drehwinkel bei unterschiedlicher Drehzahl hängt vom
> Untergrund und dem Rutschverhalten der Räder ab. Es sei denn, du
> verwendest ein http://de.wikipedia.org/wiki/Mecanum-Rad
>
> Du wirst also schon ein Gyro einbauen müssen.

versteh ich nicht. Der entstehende Kraftvektor ist doch auch da vom 
Untergrund abhängig, oder?

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Panzer schrieb:
> Wenn ich es mit der Geschwindigkeit skaliere, dann dreht das Ding im
> Stand aber nicht.

Dann addiere zum Betrag der Geschwindigkeit halt von mir aus einen 
Offset.

von MaWin (Gast)


Lesenswert?

fragender schrieb:
> versteh ich nicht. Der entstehende Kraftvektor ist doch auch da vom
> Untergrund abhängig, oder?

Nein, es wird 100% Grip angenommen, weil die Räder nicht rutschen müssen 
(wenn ein zu schweres Fahrzeug eine zu steile Sanddüne rauf muss, tun 
sie das natürlich trotzdem)

von Karl H. (kbuchegg)


Lesenswert?

Panzer schrieb:
> Karl Heinz Buchegger schrieb:
>> Dann skalier ihn halt!
>
> Wenn ich es mit der Geschwindigkeit skaliere, dann dreht das Ding im
> Stand aber nicht.
>
> Ich suche eine Lösung aus der Praxis, ich bin ja bestimmt nicht der
> erste, der so ein Ding steuern will.


Mal ein paar Ideen.

grundprinzip ist, dass du ein k für das hier brauchst
1
Drehzahl links = Geschwindigkeit + k * Lenkwert
2
Drehzahl rechts = Geschwindigkeit - k * Lenkwert
und dieses k soll sich mit der Geschwindigkeit verändern.

Dann lass uns doch mal ein bischen mit Formel 'spielen'.
Du hast eine Geschwindigkeit v und du hast eine maximale Geschwindigkeit 
v_max.

Bildest du
1
      v
2
    -----
3
    v_max
dann kriehst du damit eine Zahl zwischen 0 und 1, die dir im Grunde 
genommen sagt, welchen Prozentsatz der maximalen Geschwindigkeit du 
momentan fährst.

Multiplizierst du den Lenkwert damit, dann hast du bei 0 Geschwindikeit 
keinen Lenkeinfluss mehr, während du bei maximaler Geschwindigkeit den 
vollen Lenkeinschlag hast.

Nicht das was du willst.

Du willst, deiner Idee nach, dass bei Geschwindigkeit 0 der normale 
Lenkeinschlag gilt, und bei maximaler Geschwindigkeit zb das doppelte 
davon.

Was du also erreichen willst ist
1
 bei v gleich 0      soll k gleich 1
2
 bei v gleich v_max  soll k gleich 2
sein. Also Werte von 1 bis 2. Du hast aber aus obigem nur 0 bis 1.

Na dann zähl halt 1 dazu!
1
   k = 1 + ( v / v_max );
und du hast das k, welches dir vorschwebt.

du willst vielleicht nicht Werte von 0 bis 1, sondern von 0.2 bis 1. 
Auch das ist ja kein Problem. Nimm den Quotienten mal 0.8 ( weil 1 minus 
0.2 gleich 0.8 ist) und zähle 0.2 dazu.
1
    k = 0.2 + 0.8 * ( v / v_max );

und du hast Werte die sich von 0.2 bis 1.0 erstrecken.


Jetzt kann es natürlich sein, dass du drauf kommst, das das nicht so 
schlau ist, wenn die Lenkung immer stärker wird, je schneller du fährst. 
Ist ja beim Auto auch so. Beim langsamen fahren, zb Parken, dreht man 
wie wild am Lenkrad, bei 180km/h wird man das tunlichst vermeiden sonst 
macht man einen unfreiwillgen Elchtest.

d.h. du könntest auch probieren, wie es sich anfühlt, wenn die Lenkung 
schwächer wird, je schneller du fährst. Anstatt einem k von 0 bis 1 
willst du ein k von 1 bis 0.
Nichts einfacher als das
1
   k = 1 - ( v / v_max )
wenn du willst. kannst du auch den Teil v / v_max noch mit allerlei 
anderen Dingen beaufschlagen, zb einer Exponentialfunktion, so dass sich 
am Anfang bei kleinen Geschwindigkeitn der k Wert nur wenig ändert und 
bei großen viel. Du kansst auch den Lenkausschlag da selber noch mit 
reinrechnen: kleine Lenkausschläge werden nicht verstärkt, große dafür 
umso mehr.

Du kannst all diese Dinge auch miteinander kombinieren. etc. etc.

es sind alles einfach mathematische Zusammenhänge. Erlaubt ist was 
gefällt und was sich für dich bei der Fahrerprobung gut anfühlt.
Das nennt man dann auch 'entwickeln'. Denn wenn du dir alles vorkauen 
lässt, dann machst du 'malen nach Zahlen'. Ergibt auch schöne Bilder, 
ist aber nichts eigenes. Da hättest du dir auch ein fertiges Fahrzeug 
kaufen können.

Also trau dich! Du bist der Boss. So wie du einen Faktor ausrechnest, so 
ist das ok. Das ist alles kein Hexenwerk.


Und, ach ja: v_max ist natürlich die absolute Geschwindigkeit. Da gibt 
es keine negative Geschw....
Obwohl. Kein Mensch sagt, dass der Faktor für vorwärts und rückwärts 
fahren gleich sein muss!

von Simoel (Gast)


Lesenswert?

Panzer schrieb:
> Ich will sie nicht regeln sondern nur steuern. Ich brauche eine Formel
> Geschwindigkeit und Einschlag in Drehzahl links und rechts.

Warum sollten sich die drei Motoren auf einer Seite gleich schnell 
drehen? Ohne die Drehzahl der Motoren einer Seite anzugleichen, braucht 
man sich um Lenkbewegungen noch keine Gedanken zu machen.

von Karl (Gast)


Lesenswert?

Panzer schrieb:
> Diesen Ansatz hatte ich auch erst. Nachteil: je schneller das Ding
> fährt, desto weniger hat die Lenkung Einfluß, da der Lenkwert nicht mit
> der Geschwindigkeit skaliert ist.

Diese Eigenschaft ist wurde von Automobilherstellern in mühevoller 
Kleinarbeit entwickelt:

http://de.wikipedia.org/wiki/Aktivlenkung

Wenn du es proportional zur Geschwindigkeit machen würdest, würde dein 
Fahrzeug bei Vollgas und vollem Lenkeinschlag eine Seite voll vorwärts 
und eine Seite voll rückwärts drehen. Das willst du bestimmt nicht. Bei 
deinem Problem gilt Versuch macht klug.

von Karl (Gast)


Lesenswert?

Simoel schrieb:
> Warum sollten sich die drei Motoren auf einer Seite gleich schnell
> drehen?

Weil die 3 Räder auf dem gleichen Boden stehen? Und beim Drehen ist es 
besser wenn sie sich nicht gleich schnell drehen.

von Simoel (Gast)


Lesenswert?

Karl schrieb:
>> Warum sollten sich die drei Motoren auf einer Seite gleich schnell
>> drehen?
>
> Weil die 3 Räder auf dem gleichen Boden stehen?

Das nenne ich Effizienz bei Batteriebetrieb. ;-)))

von Blackbird (Gast)


Lesenswert?

Das Ding sieht aus, wie 3 einzelne Hinterteile eines 
Modellautobaukastens zusamengeschraubt. Ohne irgendeine Lenkung. Wenn es 
sich wirklich auf der Stelle drehen sollte, dann im Idealfall nur um das 
mittlere Radpaar. Die anderen müssen quer rutschen. Sowas funktioniert 
bei einem Kettenantrieb, aber nicht bei einem Radantrieb. Da verliert 
man unnötig Haftung, die man doch so gerne haben wollte (siehe 
Radprofile).

6-Rad-Antriebe verwenden 2 gelenkte Achsen (meist die in der 
Hauptfahrrichtung vorn liegenden).
Angetreiben kann man alle Räder, dann aber über Differenziale oder 
belastungsgeregelte Einzelantriebe.


Diese Fahrzeug produziert nur Frust, egal welche "Programmierung" der 
Antrieb man einsetzt. Es ist vom Ansatz her falsch dimensioniert.


Blackbird

von Simoel (Gast)


Lesenswert?

> Angetreiben kann man alle Räder, dann aber über Differenziale oder
> belastungsgeregelte Einzelantriebe.
>
> Diese Fahrzeug produziert nur Frust, egal welche "Programmierung" der
> Antrieb man einsetzt. Es ist vom Ansatz her falsch dimensioniert.

So isses!

von Vlad T. (vlad_tepesch)


Lesenswert?

Blackbird schrieb:
> Das Ding sieht aus, wie 3 einzelne Hinterteile eines
> Modellautobaukastens zusamengeschraubt. Ohne irgendeine Lenkung. Wenn es
> sich wirklich auf der Stelle drehen sollte, dann im Idealfall nur um das
> mittlere Radpaar. Die anderen müssen quer rutschen. Sowas funktioniert
> bei einem Kettenantrieb, aber nicht bei einem Radantrieb.

das habe ich auch gedacht, als ich das Bild gesehen habe.

> 6-Rad-Antriebe verwenden 2 gelenkte Achsen (meist die in der
> Hauptfahrrichtung vorn liegenden).

Bei so einem Fahrzeug (wo die Räder gleich auf die Länge verteilt sind) 
würde ich allerdings die äußeren Achsen lenken und die mittlere starr 
lassen.

Auf der Stelle drehen ist damit aber sowieso nicht zufriedenstellend 
möglich.
Wenn man das will, kann man die äußeren vier Motoren wahrscheinlich auch 
abgeschaltet lassen und nur die mittleren drehen lassen.


> Diese Fahrzeug produziert nur Frust, egal welche "Programmierung" der
> Antrieb man einsetzt. Es ist vom Ansatz her falsch dimensioniert.

Denk ich auch.

von Blackbird (Gast)


Lesenswert?

Vlad Tepesch (vlad_tepesch) schrieb:
> Bei so einem Fahrzeug (wo die Räder gleich auf die Länge verteilt sind)
> würde ich allerdings die äußeren Achsen lenken und die mittlere starr
> lassen.

Naja, dann rutschen die mittleren Räder. Aber viel weniger als bei 
dieser Lösung.

Im Orginal gibt es das ja auch - quer rutschende Räder. Das sieht man 
bei den Tiefladeanhängern mit vielen Radpaaren. Aber die sind auch nicht 
für enge Kurven gmacht.

6-Rad-Antriebe können nicht vernüftig auf der Stelle drehen. Das geht 
nur bei 4- oder 3-Rad-Antrieben.

Und alles nur mit gelenkten Achsen!

Blackbird

von Panzer (Gast)


Lesenswert?

@ Karl Heinz

Danke schon mal für die Ausführung, mittlerweile sehe ich schon viel 
klarer.

Blackbird schrieb:
> Diese Fahrzeug produziert nur Frust, egal welche "Programmierung" der
> Antrieb man einsetzt. Es ist vom Ansatz her falsch dimensioniert.


Bisher hat das Fahrzeug sehr viel Freude produziert.
Ich wollte ein möglichst einfaches Fahrwerk bauen, wenn ich jetzt noch 
gelenkte Achsen hätte, dann wäre das Chassis Faktor 10 aufwendiger 
geworden.

Das Fahrzeug dreht übrigens super auf der Stelle, was soll es auch sonst 
machen, wenn die Motoren gegenseitig laufen.

Alle Motoren einzeln anzusteuern bringt denke ich kein großen Gewinn.

Ich werde nachher mal ein Bild posten.

von Neugierig (Gast)


Lesenswert?

Panzer schrieb:
> Ich werde nachher mal ein Bild posten.

oder ein Video?

von MaWin (Gast)


Lesenswert?

> Das sieht man bei den Tiefladeanhängern mit vielen Radpaaren.

Die besseren von denen haben mitgelenkte Räder.

von HennesB (Gast)


Lesenswert?


von kettenrad (Gast)


Lesenswert?

Im Video erkennt man, das sich die 3 Räder pro Seite wie mit einer 
"Kette"
verbunden verhalten.
Eine 180° Wende lässt die Räder einer Seite stillstehen und die 
drehenden Räder der anderen drücken bzw. schieben die äusseren Räder der 
stehenden Seite.
Der Autor merkt an, neue Bereifung ausprobiert zu haben(mit mehr Grip), 
was das Drehen auf hohem Gras erschwert hat.
Das ist logisch.
Eine Lenkung der ersten bzw./und letzten Radpaare könnte in Abhängigkeit 
des "Ruderausschlags[einer Fernbedienung]der Lenkung" und des 
"Ruderausschlags des Geschwindigkeit/Richtungs- Knüppels" erfolgen.
Seltverständlich ist dann noch die unterschiedliche 
Radialgeschwindigkeit der Räder einer (nicht-starren) Achse zu 
berechnen.

Vielleicht helfen Gyros auf der 1. und 3. Achse, die seitliche 
Lageänderung
bei Kurvenfahrten auf die "Spurstangen" dieser einzumischen.
Diese Werte müssten dann ebenfalls zur Korrektur der 
Umdrehungsgeschwindigkeit der Räder pro "Achse" herangezogen werden .
usw., usw., ...

von kettenrad (Gast)


Lesenswert?

- ach ja, - für eine möglichst schlupffreie Kurvenfahrt müsste sich das 
Fahrzeug mit seinen 3 "Achsen" krümmen können wie eine Raupe(Natur), 
also zwischen den Achsen ebenfalls Gelenke ...

von kettenrad (Gast)


Lesenswert?

- und , wie lenken eigentlich die Gelenkbusse des Stadtverkehrs?
Achtung- Fahrzeug schwenkt aus
muss doch eine Bedeutung haben?!

von Blackbird (Gast)


Lesenswert?

Völlig schlupffrei wird es, wenn die mittlere und eine der äußeren 
Achsen gelenkt werden. Natürlich nur, wenn die Lenkgeometrie beachtet 
wird. Also der Lenkeinschlag jedes ausgelenkten Rades in Abhängigkeit 
des Abstandes von der Mitte der ungelenkten Achse.

Das ist eine rein mechanische Lösung, die seit 1 1/2 Jahrhunderten 
sauber funktioniert und deren Funktionsprinzip in 1 Million Jahren immer 
noch gelten wird.

Für die Odometrie kann eine Erfassung des Gierens nützlich sein, für die 
Lenkung selbst ist sowas nicht notwendig.

Blackbird

von Angeber (Gast)


Angehängte Dateien:

Lesenswert?

Anbei zwei Bilder des Gefährts.

Die Akkus sind LiFePo4 4 Stück in Reihe, 2 H-Brücken, Controller ist ein 
Arduino Nano aber in C programmiert und ein Bluetooth-Modul.

von Panzer (Gast)


Angehängte Dateien:

Lesenswert?

Mittlerweile hat das Ding auch eine Federung :-)

von Panzer (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.