Famous Curves for Robotics in C++
Robotics is a highly challenging domain where besides certain tasks required from the particular robot or application, users establish high demand for motion, precision, persistence, and durability.
The robot motion, distinguished by smooth robot movement, path precision, repeatability, level of acceleration, or speed requires modeling the robot path by continuous curves (part of these curves).
On the other side, the drive line is also considered (in this article) as all kinds of reduction gears, motors, and brakes. Considering gears for articulated robot applications, the type of planocentric gears are often in use. The components used to design such gearboxes consist of parts in the shape of curves I will discuss in this article.
The following article also refers to one of my previous articles, where I also discussed the curves for robotics, however in the other context.
All curve equations are implemented in C++. The source code you can find on my GitHub.
Plotting requires incorporating the header file which has to be in the same folder as your cpp (a file you can clone from my repository).
Your program can be compiled as follows.
//compile
g++ my_prog.cpp -o my_prog -I/usr/include/python3.8 -lpython3.8//
//run
./my_prog
//folder tree
├── my_prog
├── my_prog.cpp
├── matplotlibcpp.h
Here you can discover a list of mathematically significant curves, which are often used in robotics mechanisms and applications. You can look up the parametric equation, the graphical depiction of the curve, and the name of the mathematician who made it in each of them. For more interesting details I recommend you to visit Wikipedia (I included proper links).
Cardioid
A cardioid (“heart” from Greek) is a curve traced by a point on the perimeter of a circle that is rolling around a fixed circle of the same radius. See how it is created.
The curve can be described by following parametric equations,
Using the above formulas the curves can be plotted as follows,
Astroid
Astroid can be formulated by following, parametric equations,
Here you can see how it is created,
Using the above formulas the curves can be plotted as follows,
Bicorn
Bicorn, can be formulated by following, parametric equations,
Using the above formulas the curves can be plotted as follows,
Cayley’s sextic
Cayley’s sextic, can be formulated by following, parametric equations,
Using the above formulas the curves can be plotted as follows,
Cycloid
Cycloid, is the curve created by a point on a circle as it rolls along a straight line without slipping. Cycloid can be formulated by following, parametric equations,
Here you can see creation details,
Using the above formulas the curves can be plotted as follows,
Devil’s curve
Devil’s Curve, can be formulated by following, parametric equations,
Using the above formulas the curves can be plotted as follows,
Epicycloid
Epicycloid can be formulated by following, parametric equations,
Here you can see creation details,
Using the above formulas the curves can be plotted as follows,
Epitrochoid
Epitrochid can be formulated by following, parametric equations,
Here you can see creation details,
Using the above formulas the curves can be plotted as follows,
Hypocycloid
Hypocycloid can be formulated by following, parametric equations,
Here you can see creation details,
Using the above formulas the curves can be plotted as follows,
Deltoid
Deltoid can be formulated by following, parametric equations,
Here you can see creation details,
Using the above formulas the curves can be plotted as follows,
Thank you for reading.