Skip to content

Trajectory following using cartesian velocity controller #7

@sachinkundu

Description

@sachinkundu

I can't seem to get a basic trajectory follower to work.

I have a block(prop.Block()) which I place in the scene along with Panda and install an extra sensor to get the block pose. I calculate a 100 step Cartesian trajectory of SE(3) matrices from TCP to the Block.

In step I get the current TCP pose from dm.Timestep and expected TCP pose from the trajectory above. If the current TCP pose is at the expected pose then I consider the step complete and increment to next step. If not then I do not consider the step complete. The velocity action is (expected - actual) / 0.1 (since the control timestep is 0.1)

(just setting action x,y,z and not setting any angular velocity components)

It almost seems to work except it is unstable. Looks like a classic case of wrong gains but can't seem to get it right.

Would you have any ideas?

Here is the code and the video

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions