Do you wanna learn a good collision avoidance algorithm for robots? Practice with the classic Dynamic Window Approach (DWA). It is similar to Reid Simmons’ CVM algorithm and its original paper can be reached from Dynamic window approach - Wikipedia . It is included in the well known Nav2 navigation stack from Open Navigation LLC (https://opennav.org/) for ROS, in the local navigation part.
This exercise is now available at our Unibotics robot programming website (https://unibotics.org), in Python (soon also in C++ and direct ROS).
Kudos to José Miguel Jiménez https://www.linkedin.com/in/josé-miguel-jiménez-garcía-0b072a406/, who is doing an internship with JdeRobot.