resibots / inria_wbc

Generic whole-body controller based on quadratic programming
14 stars 0 forks source link

damage and joint position loader #70

Closed dalinel closed 3 years ago

dalinel commented 3 years ago

This adds the feature to add damages to the robot_dart robot The qp doesn't know that the model has changed and the position command is well filtered to make the damaged robot_dart robot move

It also adds the feature to load a posture trajectory file to be executed directly on the robot_dart robot (without qp). Some examples from crocoddyl are included

jbmouret commented 3 years ago

Minor requests:

dalinel commented 3 years ago

Here the loader is loading external joint position commands and giving it to the robot_dart simulation without any controller/behavior/qp problem solving, maybe I can rename it to --load_external ?

I think that creating a fake behavior would then be misleading

I didn't put a default_value to the --loader option to no call behavior->update(sensor_data) when we want to load a trajectory. But if needed I can change this to make it more ergonomic

I can also completely separate this from the talos.cpp file and have another robot_dart example for it

I can also modify the cartesian_traj behavior to be able to use external posture data as a reference for a qp posture task

jbmouret commented 3 years ago

Ah, yes, right. Maybe a different binary is a good idea in that case. This would be less confusing.

dalinel commented 3 years ago

Ok it will create some code duplication

The other only viable option is to rename it in a less confusing way such as --load_no_wbc or --load_no_qp

jbmouret commented 3 years ago

I think having "small" binaries that are easy to understand is nicer than a huge binary with tons of options (they are like stand-alone examples)

dalinel commented 3 years ago

I have added a talos_load_external binary

dalinel commented 3 years ago

@jbmouret @ivanbergonzani can I merge this one ?

jbmouret commented 3 years ago

yes!