TPARA - 3DOF robot arm IK (#21005)

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
This commit is contained in:
Axel
2021-03-03 20:46:32 -03:00
committed by GitHub
parent fd270ddc6c
commit a46e025725
12 changed files with 285 additions and 117 deletions

View File

@@ -29,14 +29,25 @@
extern float delta_segments_per_second;
// Float constants for SCARA calculations
float constexpr L1 = SCARA_LINKAGE_1, L2 = SCARA_LINKAGE_2,
L1_2 = sq(float(L1)), L1_2_2 = 2.0 * L1_2,
L2_2 = sq(float(L2));
#if ENABLED(AXEL_TPARA)
void scara_set_axis_is_at_home(const AxisEnum axis);
float constexpr L1 = TPARA_LINKAGE_1, L2 = TPARA_LINKAGE_2, // Float constants for Robot arm calculations
L1_2 = sq(float(L1)), L1_2_2 = 2.0 * L1_2,
L2_2 = sq(float(L2));
void forward_kinematics_TPARA(const float &a, const float &b, const float &c);
void home_TPARA();
#else
float constexpr L1 = SCARA_LINKAGE_1, L2 = SCARA_LINKAGE_2, // Float constants for SCARA calculations
L1_2 = sq(float(L1)), L1_2_2 = 2.0 * L1_2,
L2_2 = sq(float(L2));
void forward_kinematics_SCARA(const float &a, const float &b);
#endif
void inverse_kinematics(const xyz_pos_t &raw);
void forward_kinematics_SCARA(const float &a, const float &b);
void scara_set_axis_is_at_home(const AxisEnum axis);
void scara_report_positions();