0
Answered

Unity Physics and Kinematics

Michael 4 months ago in realvirtual.io Starter and Professional updated by Support 4 months ago 1

I've been using realvirtual.io for a week. But I'm struggling with kinematics links modeling.

As I see in your documentation, you are using either parenting or dynamics on game objects.

The thing is, for certain kinematics chains, neither technique worked...

There is futher example of mechanism i need to model :

There is a way to model complex kinematics chains (Without using mass and force)?

Answer

Answer
Answered

Hi Michael,

There are several approaches you can take to achieve this:

  1. Position Control via End Element: You can manage the positioning by moving only the endpoint. Although this endpoint is not a real drive, you can connect it to the actual drive using Unity Physics joints. This setup ensures precise endpoint control. While the joints in between might exhibit some shaking, this should not affect the overall functionality.
  2. Integrated Drives with Gears or CAMS: Another method involves equipping all joints with drives and synchronizing them through the use of gears or CAMs. This setup mimics the movement based on a "Master" Drive, which aligns with the position of the actual drive. For more details, you might find these resources helpful:

  3. Using Unity Physics for Kinematics: Employ Unity Physics and Unity Joints (details at Unity Joints Documentation) to handle forward kinematics. In cases requiring purely linear movements, consider using Articulation Bodies (Articulation Body Documentation). Be aware that Unity Physics can be somewhat unstable or jittery, which can be mitigated by reducing the Physics fixed timestep at the cost of performance.

For complex scenarios not involving parallel kinematics, which are typically challenging and unstable with Unity Physics, you might explore using AGX from Algoryx (see https://doc.realvirtual.io/extensions/agx-physics9. This is a more robust solution for accurately simulating complex physics interactions, although it is not free and the definition of kinematics is on my point of view more complicated).

In general, whenever feasible, we prefer to resolve these issues using non-physical forward kinematics, whether it’s a straightforward kinematic chain of a robot or something that can be easily managed with defined cams or gears.

I hope this helps! Let me know if you need further assistance.

Best,

Thomas

Answer
Answered

Hi Michael,

There are several approaches you can take to achieve this:

  1. Position Control via End Element: You can manage the positioning by moving only the endpoint. Although this endpoint is not a real drive, you can connect it to the actual drive using Unity Physics joints. This setup ensures precise endpoint control. While the joints in between might exhibit some shaking, this should not affect the overall functionality.
  2. Integrated Drives with Gears or CAMS: Another method involves equipping all joints with drives and synchronizing them through the use of gears or CAMs. This setup mimics the movement based on a "Master" Drive, which aligns with the position of the actual drive. For more details, you might find these resources helpful:

  3. Using Unity Physics for Kinematics: Employ Unity Physics and Unity Joints (details at Unity Joints Documentation) to handle forward kinematics. In cases requiring purely linear movements, consider using Articulation Bodies (Articulation Body Documentation). Be aware that Unity Physics can be somewhat unstable or jittery, which can be mitigated by reducing the Physics fixed timestep at the cost of performance.

For complex scenarios not involving parallel kinematics, which are typically challenging and unstable with Unity Physics, you might explore using AGX from Algoryx (see https://doc.realvirtual.io/extensions/agx-physics9. This is a more robust solution for accurately simulating complex physics interactions, although it is not free and the definition of kinematics is on my point of view more complicated).

In general, whenever feasible, we prefer to resolve these issues using non-physical forward kinematics, whether it’s a straightforward kinematic chain of a robot or something that can be easily managed with defined cams or gears.

I hope this helps! Let me know if you need further assistance.

Best,

Thomas