Inverse Kinematik - Kollisionen mit anderen Objekten auschließen

maddineytsch

Mitglied
Hallo,

ich habe vor kurzem eine Kuka-Schweißroboter nachmodelliert und ihm eine Inverse Kinematik zugewiesen. Das klappt auch alles wunderbar mit beschränkten rotatorischen bzw. translatorischen Bewegungen, allerdings kam die neue Anforderung dazu, dass der Roboter beim Bewegen nicht mit benachbarten Objekten, wie z.B. einem modellierten Menschen o.ä. kollidiert.

Geht das überhaupt mit 3dsmax, bzw. wie würde ich das anstellen?

Danke schonmal,
Martin
 
Das sollte mit Reactor gehen.
Ganz grob gesagt: Rigid Body Collection erstellen, alle Obekte hinzufügen. Reactor aufrufen (unter Utilities), nacheinander die Objekte auswählen und ihre Eigenschaften einstellen. Dabei setzt Du den Roboter auf "unyielding". Wenn Du jetzt die Simulationsvorschau startest (Preview in Window) solltest Du sehen, dass im Weg stehende Objekte "weggeschubst" werden.

Und jetzt wirds etwas schwammig: laut der Hilfe kannst Du diese Kollisionen speichern (Reiter "Collisions" in Reactor) und per Maxscript darauf zugreifen. Über ein entsprechendes Script könntest Du dann wohl das Verhalten des Roboters anpassen. Vielleicht... ;)

Das wäre jetzt mal das, was mir auf die Schnelle einfiele. Vielleicht gibt es ja auch noch einen einfacheren Weg. Möglicherweise geht das aber auch schon zu weit und es reicht Dir, die Position eines Objektes abzufragen und den Roboter entsprechend zu stoppen oder weiterlaufen zu lassen?
Das wäre dann wohl auch eine Aufgabe für ein MaxScript...

Was ist denn eigentlich der Sinn des Ganzen?
 
Zuletzt bearbeitet:
der sinn des ganzen ist, dass der von mir modellierte schweißroboter automatisch vordefinierte schweißnähte abschweißt und dabei nicht in kollision mit anderen objekten kommt, die man eingefügt hat, wie z.b. rumstehende menschen o.ä.

die sache mit dem abfragen der koordinaten per maxscript hört sich gar nicht so schlecht an, obwohl mir noch nicht hunderprozentig klar ist, wie ich dann den einzelnen gelenken das roboters sagen soll, dass sie sich an diesen punkt nicht bewegen sollen. ich probier das bei zeiten einfach mal aus und schreib dann hier meine erkenntnisse rein.

danke schonmal,
martin
 
Zurück