ethz-asl / robot_control

1 stars 2 forks source link

Cartesian velocity controller #19

Open fjulian opened 4 years ago

fjulian commented 4 years ago

For some tests for the drawer opening project, I needed a cartesian task space velocity controller. So I implemented one here.

Three comments:

  1. I tested it within my project repo, using the python bindings to command an end effector velocity, which works. If you think it would be useful, I can add a minimal python example in this repo.
  2. This implementation here takes as an input a desired velocity expressed in the robot arm's base frame. For my project, I need to command velocities in the end effector frame. This conversion is currently done in python, before the command is passed to this controller. In the future, this controller could be extended to accept velocities in either frame.
  3. Currently, this is not using pinocchio, but orocos-kdl. The reason for this is that I found the pinocchio documentation quite confusing and incomplete. While the kdl documentation is not much better, at least the API is super simple and straight forward to use. Maybe you could point me to some useful pinocchio resources or we can do a walk through of your task space controller. Then I could make a pinocchio version of this.
ethzasl-jenkins commented 4 years ago

Can one of the admins verify this patch?

fjulian commented 4 years ago

Also, we should probably merge the ts_controller branch first, since I branched off that and most changes in this PR are currently from that branch.

grizzi commented 4 years ago

it looks good to me. I would try to make the test run on the jenkins server and check if the dependencies are all correctly installed and after we can merge. The next step could be to wrap this into a ros controller.

fjulian commented 4 years ago

Right now there is a dependency on the moma_description package (see here: https://github.com/ethz-asl/robot_control/issues/18). So this would be needed on the Jenkins server as well.