====== Example with Path Planners ======
You can find various path planners under [[eeros_architecture:control_system:available_blocks|]]. In the EEROS library you will find a directory with examples.
===== Constant Acceleration =====
For the first example using a [[eeros_architecture:control_system:available_blocks:pathplannerconstacc|]] see [[https://github.com/eeros-project/eeros-framework/blob/master/examples/block/PathPlannerTest1.cpp|PathPlannerTest1.cpp]].
Open a shell in the build directory of your EEROS library and run
$ ./examples/block/pathPlannerTest1
The example shows the output of the path planner in the log, with the actual acceleration, velocity and position. After 0.3s the path starts from position (0/0) and later reaches its endpoint at (-5/10). After 20s it starts from (15/-30) and goes to (5/20).
===== Constant Jerk =====
The second example uses a [[eeros_architecture:control_system:available_blocks:pathplannerconstjerk|]] see [[https://github.com/eeros-project/eeros-framework/blob/master/examples/block/PathPlannerTest2.cpp|PathPlannerTest2.cpp]].
Open a shell in the build directory of your EEROS library and run
$ ./examples/block/pathPlannerTest2
The example shows the output of the path planner in the log, with the actual jerk, acceleration, velocity and position. The path starts from position (0/0) and later reaches its endpoint at (10/20). After 15s it starts from (15/30) and goes to (-5/20).
===== Cubic =====
The third example uses a [[eeros_architecture:control_system:available_blocks:pathplannercubic|]] see [[https://github.com/eeros-project/eeros-framework/blob/master/examples/block/PathPlannerTest3.cpp|PathPlannerTest3.cpp]].
Open a shell in the build directory of your EEROS library and run
$ ./examples/block/pathPlannerTest3
The example shows the output of the path planner in the log, with the actual timestamp, jerk, acceleration, velocity and position. The path is given by //path.txt//.
===== Rate Limiter =====
The last example shows the use of a simple [[eeros_architecture:control_system:available_blocks:ratelimiter|]] to generate a rising or falling slope from a step. This can be used as a simple method for path planning, see [[https://github.com/eeros-project/eeros-framework/blob/master/examples/block/RateLimiterTest.cpp|RateLimiterTest.cpp]].
Open a shell in the build directory of your EEROS library and run
$ ./examples/block/rateLimiterTest1
The example shows the output of the path planner in the log, with the actual position of the step together with the output of the rate limiter. After 1s the path starts from position (0/0) and later reaches its endpoint at (2/3). After 8s it ramps down to (-1/-2).