Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

I think, as Dan mentions above, arguably the most important detail in relation to simulating real hardware and their corresponding control laws is temporal effects. Sure I can implement a PID controller in Gazebo using many different methods, but it seems that regardless of the dynamic properties that are used, and the route in which PID is implemented, on a model one can't simulate these temporal effects in any real way. If I can design a PID controller that will have 0 s.s. error in Gazebo it is certainly wonderful, but what of rise time? mechanical time constants? These details are arguably just as important, especially because commands will often change before steady state has been reached at all, meaning within a short command sequence a real system and a simulated system in Gazebo will already be behaving fairly differently.

On a similar front, roboticists often come from one of two backgrounds: computer science or control engineering. For those based in controls, like myself, being able to assess my simulated system "open loop" or "closed loop" is very important, but it seems that in Gazebo, neither one can really be simulated. Setting a new velocity, through PID or not, changes this speed instantly. And what if I want my system to have a similar impulse response to the real system? As far as I am aware this really cannot be done as the resulting time history of this actuation will bang on and bang right back off. Any incites on this front would be particularly helpful. Sorry I could not be more help, but I wanted to add my two cents in hopes that some broader attention can be brought to this question.

I think, as Dan mentions above, mentions, arguably the most important detail in relation to simulating real hardware and their corresponding control laws is temporal effects. Sure I can implement a PID controller in Gazebo using many different methods, but it seems that regardless of the dynamic properties that are used, and the route in which PID is implemented, on a model one can't simulate these temporal effects in any real way. If I can design a PID controller that will have 0 s.s. error in Gazebo it is certainly wonderful, but what of rise time? mechanical time constants? These details are arguably just as important, especially because commands will often change before steady state has been reached at all, meaning within a short command sequence a real system and a simulated system in Gazebo will already be behaving fairly differently.

On a similar front, roboticists often come from one of two backgrounds: computer science or control engineering. For those based in controls, like myself, being able to assess my simulated system "open loop" or "closed loop" is very important, but it seems that in Gazebo, neither one can really be simulated. Setting a new velocity, through PID or not, changes this speed instantly. And what if I want my system to have a similar impulse response to the real system? As far as I am aware this really cannot be done as the resulting time history of this actuation will bang on and bang right back off. Any incites on this front would be particularly helpful. Sorry I could not be more help, but I wanted to add my two cents in hopes that some broader attention can be brought to this question.