roboticslab-uc3m / teo-main

TEO full-sized humanoid robot: super/meta repository.
http://roboticslab.uc3m.es/roboticslab/robot/teo-humanoid
GNU Lesser General Public License v2.1
4 stars 1 forks source link

Gait demo using iCub's walking controllers #51

Open PeterBowman opened 3 years ago

PeterBowman commented 3 years ago

On 28th September, an attempt was made to launch a gait trajectory @Luis93A had prepared beforehand using https://github.com/robotology/walking-controllers and reworked TEO's SDF/URDF models. The dataset (involving both legs, both arms and the trunk) and the config file are uploaded here: teo-gait-20210927.zip. We used examplePlaybackThread from the tools repo in order to issue the joint commands.

The plan for said session was as follows:

We only managed to fulfill the first point, at least most of it. A control error was triggered in ID4 (right frontal hip). Currently, we are facing other blocking issues, though:

cc @smcdiaz

traversaro commented 3 years ago

Just FYI, another repo you may want to check out (even if I don't know if it is suitable for what you want to do) is https://github.com/ami-iit/bipedal-locomotion-framework .

PeterBowman commented 3 years ago

Thank you, @traversaro! Regarding walking-controllers, we've been inspecting the generated trajectory more closely and found out that certain points result in excessive joint velocities despite having configured much lower velocity limits on the robot. I can see the only places where those limits play a role seem to be the IK controllers: qpOASES and osqp.

traversaro commented 3 years ago

Hi @PeterBowman ! Feel free to open an issue in the specific repo ( https://github.com/robotology/walking-controllers ) with the details of how you use the software and the specific version you use so that it may be easier for mantainers to comment on this, thanks.

PeterBowman commented 3 years ago

We have tested a new trajectory sampled at 20 ms (scaled down from 10 ms): dataset_gait_20ms.txt. Maximum absolute velocity never exceeds 32 deg/s. It is much smoother than the first one, especially at --timeScale 5.0 (--syncPeriod 0.1), as it can be seen in the recorded videos. We still observe the slack problem in the legs. Unless we "help" TEO a bit (during the execution, apply a vertical force on the waist link on the side of the suspended leg), it tends to hit the floor or slide on it, which ultimately results in control errors and crashes.

This trajectory has been generated assuming a step height of 2.5 cm. We know the maximum is somewhere around 5 cm. It has been suggested to generate a new trajectory with steeper ascents and descents (in order to avoid the sliding effect) using this extended height.

PeterBowman commented 2 years ago

cc @ThomasAiraud https://github.com/Luis93A/walking-controllers https://github.com/Luis93A/walking-controllers/commit/f95c2f7e91397e8be353e15e233766c5d545cf46

PeterBowman commented 2 years ago

Nice guides found on Luís' PC:

Additional modified files (besides the repo itself):

There were some extra changes in Luís' fork, I moved them to https://github.com/Luis93A/walking-controllers/compare/master...roboticslab-uc3m:luis-almeida.

PeterBowman commented 2 years ago

I'm uploading here the nice gait log visualizer for TEO coded by @ThomasAiraud: TeoLogVisualizer.zip. I have stripped the /linux-amd64/java/ directory from this ZIP since it's a full JVM and thus way too heavy to be included. The Java version used therein was Temurin-17.0.2+8. I believe that manually installing the appropriate JVM via apt and tweaking the JAVA_HOME and related env vars will be enough to make this work. There is also a full ZIP uploaded to gdrive here.

Guide to Use the TEO Log Visualizer (README.md) # Guide to Use the TEO Log Visualizer This application is created to visualize the data generated by the WalkingLoggerModule of TEO. # Overview - [Directory Structure](#directory-structure) - [Installation](#installation) - [How to Run TEO Log Visualizer](#how-to-run-teo-log-visualizer) - [Graphic User Interface](#graphic-user-interface) - [Uses of TEO Log Visualizer](#uses-of-teo-log-visualizer) # Directory Structure ```markdown 📦TeoLogVisualizer ┣ 📂linux-amd64 ┃ ┣ 📂lib ┃ ┣ 📂source ┃ ┣ 📂java ┃ ┗ 📜TeoLogVisualizer ┣ 📜README.md ┣ 📜Makefile ┣ 📜Button.pde ┣ 📜Data.pde ┣ 📜TeoLogVisualizer.pde ┗ 📜Visualizer.pde ``` 📦TeoLogVisualizer is the main project directory containing the Processing files. 📂linux-amd64 is the directory generated by the Processing project for Linux (Intel 64-bit).\ It contains the bash file 📜TeoLogVisualizer which run the application. # Installation ## Install - Download and extract the archive. - Run `Makefile` ``` sh make install ``` ## Remove - Run `Makefile` ``` sh make remove ``` # How to Run TEO Log Visualizer 1. On a terminal run `TeoLogVisualizer`: ```sh TeoLogVisualizer ``` 2. Choose the file with the data you want to visualize from the file explorer. # Graphic User Interface ![GUI](https://user-images.githubusercontent.com/104557632/180435157-7246f9fe-6724-41b0-8d7f-60da91dd1578.png) ## Buttons □ \*Clear params\*\ Clear all the parameters selected and reset the zoom. □ Add another file\ Allow you to select another data file with the file explorer. □ Match start of movement\ Allow you to select another data file with the file explorer. □ dcm_x\ Example of one parameter from the data file, you can select it to display it on the visualizer. ## Keyboard key binding ▼ Zoom in\ ▲ Zoom out\ ◀ Move to the left\ ▶ Move to the right ## Information displayed - The evolution of the selected parameters. - The ordinate axis is values of the signal. - The abscissa axis is the time of the signal. # Uses of TEO Log Visualizer What you can do with TEO Log Visualizer is: - Display the evolution of parameters from the simulation. - Display the evolution of the same paramenters of two different simulation. - Put the two different signals of the same parameter in phase and compare them. ## Warning You only can match signals from simulation in which TEO walked.

Merci, Thomas !