stack-of-tasks / sot-torque-control

Collection of dynamic-graph entities aimed at implementing torque control on different robots.
Other
9 stars 15 forks source link

Create device for simulation #3

Closed andreadelprete closed 7 years ago

andreadelprete commented 7 years ago

Currently we have no device that is appropriate to test the control framework in simulation.

The RobotSimu device (in sot-core) can be controlled in acceleration, which is good because it's rather similar to torque, but it doesn't have all the output signals of the device we use on the robot (e.g. robotState).

The HRP2DevicePosCtrl (in sot-torque-control) has all the output signals, but only allows for position control.

We need to create another device (maybe inheriting from HRP2DevicePosCtrl) that allows for torque control.

proyan commented 7 years ago

I see there is already an entity called hrp2-device-torque-ctrl, but it is not a part of the CMakeList. Is this issue still valid?

andreadelprete commented 7 years ago

Yes, I had started working on it but never finished it.

andreadelprete commented 7 years ago

More in details: I already implemented the forward dynamics (i.e. computation of accelerations from torques) using pinocchio, and then I integrated the resulting accelerations to get velocities and positions. However, if I remember correctly, the code never worked and I didn't have the time to finish debugging.

Before continuing with this issue though, I'd like to know from @olivier-stasse the status of the new simulator based on OpenHRP. Is that already integrated in the sot as a device? If not, it may be more useful to finish integrating that simulator rather than debugging this entity. Also the opinion of @thomasfla is welcome.

proyan commented 7 years ago

Cool :grin: So I leave this entity (and the debugging) to you and will go searching for another issue.

On June 8, 2017 10:59:51 PM GMT+02:00, Andrea Del Prete notifications@github.com wrote:

More in details: I already implemented the forward dynamics (i.e. computation of accelerations from torques) using pinocchio, and then I integrated the resulting accelerations to get velocities and positions. However, if I remember correctly, the code never worked and I didn't have the time to finish debugging.

Before continuing with this issue though, I'd like to know from @olivier-stasse the status of the new simulator based on OpenHRP. Is that already integrated in the sot as a device? If not, it may be more useful to finish integrating that simulator rather than debugging this entity. Also the opinion of @thomasfla is welcome.

-- You are receiving this because you were assigned. Reply to this email directly or view it on GitHub: https://github.com/stack-of-tasks/sot-torque-control/issues/3#issuecomment-307225885

olivier-stasse commented 7 years ago

Regarding OpenHRP, everything is ready for your to send torques if your device entity allows it. The open package, applicable to any robot, is called openhrp3-wo-rtm. There is one for HRP-2 and it is called openhrp3-hrp2. Of course, this one is closed to the outside. One word of caution so: the simulator includes contact detection and direct dynamics computation. Thus the SoT is embedded inside it. You can not use it as an internal simulator for control.

andreadelprete commented 7 years ago

So if I understand correctly, there is no device for communicating with OpenHRP. This could be maybe more interesting to do than debugging the hrp2-device-torque-ctrl. If you want @proyan you can do that. If that's not clear just ask.

andreadelprete commented 7 years ago

FYI: I am currently debugging the HRP2TorqueCtrlDevice, which I also made robot independent, so we should change its name. The idea is to have a simple device for simulating the robot standing on its two feet, and later extend it to make it work for walking on a flat ground. For more complex scenarios we will rely on OpenHRP.

andreadelprete commented 7 years ago

I finished debugging HRP2TorqueCtrlDevice, which now is called just TorqueCtrlDevice because it can be used to simulate any robot. The device can take torques as inputs (besides joint accelerations or velocities) and it assumes the two robot's feet are attached to the ground. What's the status of the OpenHRPDevice @proyan ?

proyan commented 7 years ago

With openhrp3 simulator working, I am closing this issue.