robotology / whole-body-controllers

Simulink-based whole body controllers for humanoid robots.
114 stars 43 forks source link

Create a library of controller blocks out of the multiple models in this repo and integrate them in those models #113

Closed nunoguedelha closed 6 months ago

nunoguedelha commented 3 years ago

This repository implements a multitude of controllers that can be connected either to Gazebo, either to the real robot iCub. In order to facilitate the reuse of such controllers on other humanoid robots or their integration in other simulation frameworks that implement specific robot dynamics simulators like matlab-whole-body-simulator, we should create a library of controller blocks out of the models implemented in this repository:

Once the library created, we shall integrate its blocks in the controller models implemented in this repository.

A first example of integration in an external framework, which motivated this task, can be found in https://github.com/dic-iit/matlab-whole-body-simulator/issues/32. This is also in line with what @gabrielenava wanted to do in https://github.com/robotology/whole-body-controllers/issues/95. The simulator in https://github.com/dic-iit/matlab-whole-body-simulator matches the requirements listed by @gabrielenava in that issue.

nunoguedelha commented 3 years ago

We held a kick-off meeting for this activity.

Discuss about creating a library of controller blocks out of the multiples models in whole-body-controllers

Meeting Minutes 16/04/2021

Attendees: Nuno Guedelha, Gabriele Nava

After discussing with Gabriele, we agreed on the following terms:

Actions for Gabriele:

  1. Rename the repository whole-body-controllers.
  2. Integrate the new controller (minimum jerk controller) in the framework.
  3. Update the documentation

Actions for Nuno:

  1. Nuno shall open, in an epic, an issue for each of the following steps. (#113) :white_check_mark:

  2. Create the first controller block of the library: the YOGA++ controller #114 . (High priority, dependency of matlab-whole-body-simulator#32.

  3. Define the granularity used in grouping the simulink blocks into library sub-system blocks. These sub-system blocks would populate the controllers library as well as the Kinematics and the Dynamics libraries.

  4. Review it with Gabriele and Silvio.

  5. Convert the remaining controllers into blocks in the controllers library and propagate it to the main models.

  6. Implement the Kinematics library and propagate it to the other libraries and models.

  7. Implement the Dynamics library and propagate it to the other libraries and models.

    Notes:

    • Each of the three libraries (controllers, Dynamics, Kinematcis) would be defined by a single *.slx file in the folder library/simulink-library.
    • The controller models in controllers folder, e.g. whole-body-controllers/controllers/floating-base-balancing-torque-control, are model examples integrating a controller block from the controllers library, eventually multiple blocks from the Kinematics or Dynamics libraries, with interface blocks for communicating either with the robot simulated on Gazebo, either with the robot simulated in matlab-whole-body-simulator, either with the real robot.
  8. Add a mask to each controller for clearly defining its interface (Config structure etc).

nunoguedelha commented 3 years ago

@gabrielenava , could you assign this to me, as we agreed, such that I convert it to an epic and add the sub-issues? Thx

IMPORTANT

The first step...

Create the first controller block of the library: the YOGA++ controller. (High priority, dependency of matlab-whole-body-simulator#32.

is top priority since we want to use the YOGA++ as a showcase for the matlab-whole-body-simulator simulator (https://github.com/dic-iit/element_software-engineering/issues/24) which deadline is the 30th April.

It shall be the first issue (#114 ) under this Epic.

CC @traversaro , @DanielePucci

nunoguedelha commented 3 years ago

@gabrielenava could you please also assign #114 to me, and authorize me to add this repo to the board of https://github.com/dic-iit/matlab-whole-body-simulator.

traversaro commented 3 years ago

@gabrielenava could you please also assign #114 to me, and authorize me to add this repo to the board of https://github.com/dic-iit/matlab-whole-body-simulator.

Done!

gabrielenava commented 6 months ago

hello @traversaro

as nuno left the team some time ago and I am not aware of any plan for carrying on this activity, can I close this epic and all the associated issues for now?

traversaro commented 6 months ago

Sure!