Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: HIDScope MODSERIAL QEI biquadFilter mbed
Fork of Robot-Software_jesse by
help_functions/kinematics.h@0:4cb1de41d049, 2018-10-22 (annotated)
- Committer:
- MaikOvermars
- Date:
- Mon Oct 22 12:57:34 2018 +0000
- Revision:
- 0:4cb1de41d049
- Child:
- 2:17ed767d8394
HEuy
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| MaikOvermars | 0:4cb1de41d049 | 1 | #include "mbed.h" |
| MaikOvermars | 0:4cb1de41d049 | 2 | |
| MaikOvermars | 0:4cb1de41d049 | 3 | double L1 = 0.5; |
| MaikOvermars | 0:4cb1de41d049 | 4 | double L2 = 0.7; |
| MaikOvermars | 0:4cb1de41d049 | 5 | double x01 = 0.0; |
| MaikOvermars | 0:4cb1de41d049 | 6 | double y01 = 0.2; |
| MaikOvermars | 0:4cb1de41d049 | 7 | double q1,q2,x,y; |
| MaikOvermars | 0:4cb1de41d049 | 8 | |
| MaikOvermars | 0:4cb1de41d049 | 9 | float forwardkinematics_function(double motor_angle) { |
| MaikOvermars | 0:4cb1de41d049 | 10 | // input are joint angles, output are x and y position of end effector |
| MaikOvermars | 0:4cb1de41d049 | 11 | q1 = motor_angle; |
| MaikOvermars | 0:4cb1de41d049 | 12 | q2 = motor_angle; |
| MaikOvermars | 0:4cb1de41d049 | 13 | |
| MaikOvermars | 0:4cb1de41d049 | 14 | x = x01 - L1 * sin(q1) + L2 * cos(q1 + q2); |
| MaikOvermars | 0:4cb1de41d049 | 15 | y = y01 + L1 * cos(q1) + L2 * sin(q1 + q2); |
| MaikOvermars | 0:4cb1de41d049 | 16 | return x; |
| MaikOvermars | 0:4cb1de41d049 | 17 | } |
| MaikOvermars | 0:4cb1de41d049 | 18 | |
| MaikOvermars | 0:4cb1de41d049 | 19 | float inversekinematics_function(double reference) { |
| MaikOvermars | 0:4cb1de41d049 | 20 | // pseudo inverse jacobian to get joint speeds |
| MaikOvermars | 0:4cb1de41d049 | 21 | // input are desired vx and vy of end effector, output joint angle speeds |
| MaikOvermars | 0:4cb1de41d049 | 22 | |
| MaikOvermars | 0:4cb1de41d049 | 23 | return 5.5; |
| MaikOvermars | 0:4cb1de41d049 | 24 | } |
