Skip to content

A yarp module for tuning PIDs at the joint level of the icub

Notifications You must be signed in to change notification settings

rlober/pidTuner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#pidTuner

Join the chat at https://gitter.im/rlober/pidTuner

A graphical tool for tuning the PID control gains for each individual joint of the iCub in position, velocity and torque control.

screen shot

This tool consists of 2 separate modules, pidTunerController and pidTunerGui. The controller module talks with the control board devices and manages the control mode states of the robot. Pretty much any control logic is handled in this module. Launch this module FIRST.

The GUI module automatically connects to the Control module and allows the user to manually adjust the PID gains, control mode, excitation signal properties, robot part and joint etc. Launch this module SECOND. It will wait for the controller ports in any case so if you launch them out of order the universe will not implode.

##Authors

##Status Currently the pidTuner has only been tested in simulation and some components remain to be implemented/fixed:

  • control modes:

    • position
    • velocity
    • torque
  • signal types:

    • step
    • sign
    • triangle
    • square
    • dirac

As it is tested on more platforms we will list them here but tentatively...

  • working on:
    • icubGazeboSim
    • icubSim
    • icubParis01
    • icubParis02

###Note on the simulators As of now the Pid interfaces with the icub simulators have not been implemented (velocity in gazebo has been I think but it is giving me problems). These may be implemented at least in gazebo to some degree but for now we have to test on the real robot before debugging some of the pid functions.

##Clone and Compile Navigate to wherever you choose to store this repo and run the following:

git clone https://github.com/rlober/pidTuner.git

Now move into the pidTuner directory and and compile.

cd pidTuner/
mkdir build
cd build
cmake ..
make

##Usage As with all yarp modules there are two ways of going about launching the executables. The hard way and the yarpmanager way. Unfortunately the hard way is the one that works right now (a yarpmanager app is in the works) but have no fear if you have gotten this far you shouldn't have any problem.

Terminal 1

yarpserver

Terminal 2

gazebo

When Gazebo opens, drop in an icub_fixed.

Now in the build directory, pidTuner/build/

Terminal 3

./pidTunerController

Terminal 4

./pidTunerGui

Enjoy!

About

A yarp module for tuning PIDs at the joint level of the icub

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages