I am building a robot with 4 wheels and i have a problem. I am using PID to set each of my motors to a certain speed as fast as possible however, in doing so the wheels change at different rates causing the direction i want to the robot to go to change. Is there any way to use PID such that each motor arrives at the target speed at the same time but in a fast fashion?
What are you actually trying to do? Soft start the motors so the wheels don’t slip? If so, there is probably a dumber, but more effective way to do this.
If each motor is controlled by a separate PID controller then there will inevitably be some differences in how they respond since the measured feedback (PV) is not deterministic.
The engineered approach to this solution would be to wrap the PID wheel-speed controllers inside a trajectory controller, because I’m assuming the ultimate intent is to follow a certain trajectory. This is not an easy problem.
@Michael_R thank you for the quick response! Yes the ultrimate goal is to follow a certain trajectory as fast as possible. It’s obviously better if the wheels don’t slip but sometimes they will. Can you please elaborate on a trajectory controller?
This is quite an academic task and you are in for many days of research, testing and fun. Unfortunately, I don’t think we’ll be able to cover off on all the details in the forum, but please do keep us updated as you go.
thank you @Graham. But can you tell me where to start so i can begin researching?
What you have described, implemented in full, would be a sizable university project. There are just so many moving parts (no pun intended) and if you wanted to do this in your spare time then start by following your nose with some deep dives on Google.
i do not mind researching deeply into this but may you please give me a starting point to research http://robocup.mi.fu-berlin.de/buch/omnidrive.pdf is the only paper in which is helpful.