RoboComp Logo

A simple robotics framework.

GSoC’21 RoboComp project: Simultaneous path planning and following using Model Predictive Control (SPAF)

19th August, 2021


MPC has the ability to systematically consider nonlinearity, future predictions and operating constraints of the control system framework. It uses a mathematical dynamic process model of the system to predict future values and optimize control process performance. We discussed earlier how to implement MPC using CasADi optimizer. Both point stabilization and Path Following were implemented. Also, an additional mode was added to switch between omni-directional robot to differential robot.

What’s next?

  • Dynamic Obstacle Avoidance:

    Dynamic Obstacle Avoidance is when the trajectory has been predetermined and the controller must be able to autonomously avoid static obstacles on the road and can track the desired trajectory by controlling the front steering angle of the vehicle.That’s why it is an important feature to be added.

  • Tuning Parameters:

    Fine-Tuning weights is not an easy task. That’s why we should look for a systematic algorithm to follow in order to reach the best values for the optimization process.

  • C++:

    C++ has more privileges than Python in the performance. It will be better to use CasADi C++ API specially for the dynamic obstacle avoidance to improve the real-time performance of the simulation.


No words can describe how grateful I am for getting through such an amazing experience. It was a great honor to participate in GSoC with Robocomp under the supervision of my mentors. I’m thankful for their guidance and support. This topic is challenging; however, I really enjoyed learning, reading articles, and implementing the equations in code.