Neues Kinematics
This commit is contained in:
@@ -13,9 +13,13 @@
|
||||
const DEFAULT_KINEMATICS = 'arm3segmentlinearx';
|
||||
|
||||
// Registry: Bezeichner (lowercase) → Modulpfad relativ zu dieser Datei.
|
||||
// Neue Kinematiken hier eintragen (siehe Phase 3).
|
||||
// Neue Kinematiken hier eintragen (siehe Phase 3). Mehrere Bezeichner dürfen auf
|
||||
// dasselbe Modul zeigen (Alias, z. B. Produktname).
|
||||
const KINEMATICS_REGISTRY = {
|
||||
arm3segmentlinearx: './kinematics/Arm3SegmentLinearX',
|
||||
arm3segmentrotarybase: './kinematics/Arm3SegmentRotaryBase',
|
||||
grabit: './kinematics/Arm3SegmentRotaryBase', // Alias: Joy-IT „Grab-It" (Robot02)
|
||||
robot02: './kinematics/Arm3SegmentRotaryBase', // Alias: Joy-IT-Modellbezeichnung
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -64,7 +68,11 @@ function createRobotFromEnv(env = process.env, defaultParams = {}) {
|
||||
const identifier = env.ROBOT_KINEMATICS || DEFAULT_KINEMATICS;
|
||||
const params = { ...defaultParams, ...parseParams(env.ROBOT_KINEMATICS_PARAMS) };
|
||||
const KinematicsClass = loadKinematicsClass(identifier);
|
||||
return new KinematicsClass(params.l1, params.l2, params.l3);
|
||||
// l1/l2/l3 positional (Kompatibilität mit Arm3SegmentLinearX); das vollständige
|
||||
// params-Objekt als 4. Argument für Kinematiken mit weiteren Parametern
|
||||
// (z. B. baseHeight bei Arm3SegmentRotaryBase). Klassen, die es nicht brauchen,
|
||||
// ignorieren das Argument.
|
||||
return new KinematicsClass(params.l1, params.l2, params.l3, params);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
||||
Reference in New Issue
Block a user