This commit is contained in:
0x23 2025-10-13 23:45:42 +02:00
commit 351266ddbb
15 changed files with 63 additions and 24 deletions

View file

@ -25,4 +25,5 @@
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
board = rpipico2 # RP2530
# board = rpipico # RP2040
framework = arduino
framework = arduino
lib_deps = mryslab/NeoPixelConnect

View file

@ -9,11 +9,11 @@
class Pose6DF;
//--- IKinemtaicModel -------------------------------------------------------------------
//--- IKinematicModel -------------------------------------------------------------------
class IKinemtaicModel {
class IKinematicModel {
public:
virtual ~IKinemtaicModel() {};
virtual ~IKinematicModel() {};
// returns the number of joints
virtual int get_joint_count();

View file

@ -16,9 +16,9 @@
class Pose6DF;
//--- KinemtaicModel_Delta3D ------------------------------------------------------------
//--- KinematicModel_Delta3D ------------------------------------------------------------
class KinematicModel_Delta3D : public IKinemtaicModel {
class KinematicModel_Delta3D : public IKinematicModel {
public:
KinematicModel_Delta3D();
@ -46,4 +46,4 @@ bool circle_sphere_intersection(double r1, const Vec3F& p, double r2, Vec3F inte
bool three_sphere_intersection(const Vec3F& p1, float r1,
const Vec3F& p2, float r2,
const Vec3F& p3, float r3,
Vec3F intersections[2]);
Vec3F intersections[2]);

View file

@ -18,7 +18,7 @@
#include "robot.h"
#include "utilities/logging.h"
#include "utilities/frequency_counter.h"
#include "kinemtaic_models/kinematic_model_delta3d.h"
#include "kinematic_models/kinematic_model_delta3d.h"
#include "version.h"
#include "hw_config.h"
#include "LittleFS.h"
@ -160,4 +160,4 @@ void setup() {
void loop() {
main_core0();
}
}

View file

@ -12,7 +12,7 @@
#include <algorithm>
PathPlanner::PathPlanner(IKinemtaicModel* kinematic_model, float time_step) {
PathPlanner::PathPlanner(IKinematicModel* kinematic_model, float time_step) {
PathPlanner::segment_time_step = time_step;
PathPlanner::kinematic_model = kinematic_model;
@ -23,7 +23,7 @@ PathPlanner::PathPlanner(IKinemtaicModel* kinematic_model, float time_step) {
PathPlanner::~PathPlanner() {
}
void PathPlanner::set_kinematic_model(IKinemtaicModel* kinematic_model) {
void PathPlanner::set_kinematic_model(IKinematicModel* kinematic_model) {
PathPlanner::kinematic_model = kinematic_model;
}

View file

@ -14,7 +14,7 @@
//*** CLASS *****************************************************************************
class IKinemtaicModel;
class IKinematicModel;
//--- PathPlanner -----------------------------------------------------------------------
@ -24,11 +24,11 @@ class PathPlanner {
static constexpr int JS_QUEUE_SIZE = 32;
public:
PathPlanner(IKinemtaicModel* kinematic_model, float time_step);
PathPlanner(IKinematicModel* kinematic_model, float time_step);
~PathPlanner();
// sets the kinematic model for foreward and inverse kinematic calculations
void set_kinematic_model(IKinemtaicModel* kinematic_model);
void set_kinematic_model(IKinematicModel* kinematic_model);
// adds a new cartesian space path segment to the planner queue
bool add_cartesian_path_segment(const CartesianPathSegment& path_segment);
@ -67,7 +67,7 @@ class PathPlanner {
RingBuffer<CartesianPathSegment, CT_QUEUE_SIZE> ct_path_segment_queue;
RingBuffer<JointSpacePathSegment, JS_QUEUE_SIZE> js_path_segment_queue;
IKinemtaicModel* kinematic_model;
IKinematicModel* kinematic_model;
JointSpacePathSegmentGenerator* segment_generator = nullptr;
float segment_time_step;
LinearAngular junction_deviation;

View file

@ -7,7 +7,7 @@
#include "path_segment.h"
#include "utilities/logging.h"
#include "kinemtaic_models/kinematic_model_base.h"
#include "kinematic_models/kinematic_model_base.h"
//--- MotionProfileConstAcc -------------------------------------------------------------
@ -248,7 +248,7 @@ bool JointSpacePathSegment::is_initialized() {
JointSpacePathSegmentGenerator::JointSpacePathSegmentGenerator(
const CartesianPathSegment* path_segment,
IKinemtaicModel* kinematic_model,
IKinematicModel* kinematic_model,
float time_step)
{
JointSpacePathSegmentGenerator::path_segment = path_segment;

View file

@ -17,7 +17,7 @@ constexpr int NUM_JOINTS = 3;
//*** CLASS *****************************************************************************
class IKinemtaicModel;
class IKinematicModel;
//--- JointInfo -------------------------------------------------------------------------
@ -127,7 +127,7 @@ class JointSpacePathSegmentGenerator {
public:
JointSpacePathSegmentGenerator(
const CartesianPathSegment* path_segment,
IKinemtaicModel* kinematic_model,
IKinematicModel* kinematic_model,
float time_step
);
@ -143,6 +143,6 @@ class JointSpacePathSegmentGenerator {
float current_joint_pos[NUM_JOINTS]; // current joint positions
const CartesianPathSegment* path_segment = nullptr;
IKinemtaicModel* kinematic_model;
IKinematicModel* kinematic_model;
};

View file

@ -10,7 +10,7 @@
#include "hw_config.h"
#include "utilities/logging.h"
#include "utilities/utilities.h"
#include "kinemtaic_models/kinematic_model_delta3d.h"
#include "kinematic_models/kinematic_model_delta3d.h"
#include "servo_control/homing_controller.h"
#include "servo_control/actuator_calibration.h"
#include "pico/multicore.h"
@ -782,4 +782,4 @@ void Robot::process_calibrate_joint_command(const GCodeCommand& cmd, std::string
bool ok = calibrate_joint(idx, store_calibration, print_measurements);
reply = ok ? "ok\n" : "error\n";
}
}

View file

@ -130,7 +130,7 @@ class Robot : public ICommandProcessor {
RobotJoint* volatile joints[NUM_JOINTS];
spin_lock_t* joints_spin_lock = nullptr;
IKinemtaicModel* kinematic_model;
IKinematicModel* kinematic_model;
PathPlanner path_planner;
MotionController motion_controller;
CommandParser command_parser;
@ -146,4 +146,4 @@ class Robot : public ICommandProcessor {
FrequencyCounter servo_loop_frequency_counter;
FrequencyCounter motion_controller_frequency_counter;
};
};