Making the Robot follow Bézier Curves and/or Cubic Bézier Curves

Hey everyone,
I recently just finished an Odometry tracking system that uses encoders and inertial sensors to return X and Y coordinates for the robot. I can see a solution using two points to create linear movement, but I was wondering if anyone know a way for the robot to follow a Bézier Curve or Cubic Bézier Curve rather than a linear one.
Thanks,
Kobe Sam

One method would be to determine the tangent vector at the nearest point on the path.

Depending on how you’ve generated your path (e.g. curve), that process may already have wheel velocities, poses, and other such data embedded in the data structure. For example: GitHub - baylessj/robotsquiggles: A library for generating spline-based paths for robots.

Generally speaking, this is where “Path Followers” come to play, most commonly you’ll hear “Pure Pursuit” which has a slightly different approach but still achieves the basic goal of “Follow the path as closely as possible”.

This video has some useful information about bezier curves (especially the section about curvature):

EDIT: The section about curvatures is from 6:15 to 11:01

This paper is where I got most of the information about the pure pursuit controller. After reading this, I was able to make a functional pure pursuit controller that followed bezier curve paths.