With this ROS package you can tune automatically your PID ROS-based controllers simultaneously, for both one joint at a time or all the joints of your robot at the same time, in an easy way. This ROS package tackles the problem of pid tuning using as approach a Constrained Numerical Optimization Problem (CNOP) solved by bio-inspired algorithms, that are the baselines of this package (ready to use). You only need a set of joint trajectories and optionally cartesian space trajectories of the robot for a specific task.
NOTE: This package is intended to be used for Gazebo simulations and has not been adapted for real robots at the moment.
The pid_tuning package can be used with different robot morphologies:
a) Legged Robots
b) Differential Robots (Wheeled Robots)
c) Robot Manipulators
Where J and M are the discrete trajectories of the joint and cartesian space respectively needed for the implementation.
This package works for specific ros_control. Here is a list of the controllers that you can use with this package:
- velocity_controllers:
- joint_position_controller.h
- effort_controllers
- joint_group_position_controller.h
- joint_position_controller.h
- joint_velocity_controller.h
- In the terminal, move to the catkin workspace in which you have your robot description package.
cd ~/<workspace_name>/src
- Clone the github package repository
git clone https://github.com/We-R22/pid_tuning.git
- Return to your workspace
cd ~/<workspace_name>
- Compile the workspace
catkin_make
- Add to the bash
source devel/setup.bash
You can find tutorials and more information of how you can implement this package for your robots here(link).