Hello! I am studying the problem of robot tracking a desired trajectory. I have designed my implementation as following description:
I have my robot frame, \robot_frame, and desired position frame, \goal. I write a ROS node to make the \goal run on a desired trajectory. I use tf to calculate the position errors (i.e. transforms between \goal and \robot_frame). By minimizing the position errors, the robot can track the desired trajectory.
However, when the robot bypass the desired position (overshoot), it will try to turn back because my \goal frame runs slowly on the desired trajectory. It will make my robot unstable. I can improve my position controller for better performance but it is not good way to go.
Does anyone have any idea how to eliminate the turning back?
Thanks
Originally posted by tn0432 on ROS Answers with karma: 60 on 2016-01-20
Post score: 0
Original comments
Comment by jarvisschultz on 2016-01-20:
This doesn't seem like it is really a ROS question, it seems more like a control systems question. There are likely better sources for help. That said, anyone that would want to help you needs to know a little bit about your robot.
Comment by jarvisschultz on 2016-01-20:
The specifics of the kinematic (or dynamic) model are going to have a serious impact on what types of controllers will be effective for your system. Based on your reference to "turning back", I think you may be have a differential drive robot or some other sort of kinematic mobile robot. Correct?
Comment by tn0432 on 2016-01-20:
My robot is quadrotor. PID is good enough. Actually, I want to find out the best way to provide the desired trajectory and desired position? Or other anyway to provide desired trajectory in ROS?