Doing inverse dynamics and then actuating the delta robot from 'Pick and Place Robot' does not give the correct trajectory

13 views (last 30 days)
Filip Zítek
Filip Zítek on 16 Sep 2021
Edited: Filip Zítek on 16 Sep 2021
Using the delta robot from 'Pick and Place Robot' example, I'm trying to make it move along my own trajectory while using the torque actuation on the actuator joints. I have computed the actuator positions, velocities and accelerations to achieve this trajectory (stored in variable Q) and when I use it as input to the actuator joints, the robot moves as it should. To get the needed torques, I sense them in the actuator joints and log them using a scope. Then I change joint's input from Motion to Torque and use the logged ones. But the motion is not the same as in the first run, it gets worse over time (see the plots).
What am I doing wrong? Is it even possible to do it like this (sense the torques and then use them as inputs without any feedback loop to control it, as in the original example)? I guess the sensed torques are not that precise and when I am using them as inputs the error gets cumulatively bigger. What settings should I change to make it even more precise? I've tried to change 'dt_solver' (step size of solver) and 'Consistency tolerance' in the 'Solver Configuration' block. The torques sensed in the second run are identical to the ones in the first run. I have set the State Targets for both position and velocity to match the first row of data in Q.
End effector position
Positions of actuators

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by