JointsVsAxes - rmu75/linuxcnc-wiki GitHub Wiki


date: '2009-06-20T17:42:57' title: JointsVsAxes

Joint Vs. Axes inconsistencies in emc2 pre2.3

  1. Ini file -> IniChanges
  2. Both [JOINT_] and [AXIS_X|Y|Z] need to be present for nontrivkins
  3. for trivkins [AXIS_X|Y|Z|A|B|C|U|V|W] will be a nicer name (maybe allow loading of old configs with [AXIS_nr]
  4. canon
  5. interp/canon use the [AXIS_] max_vel's to plan coordinated moves. the same limits are used in joint space (jogging, homing, etc).
  6. motion
  7. EMCMOT_AXIS_foo should be EMCMOT_JOINT_foo (changed already)
  8. trajectory planner
  9. use joint limits for vel/accel

planned changes to canon

  • an motion planner linked into canon
  • the motion planner can load kinematic specific functions dynamically at runtime (in order to chose different kins)
  • before queueing a new command from interp, canon will send it to the motion planner which simulates it, and returns the max speeds/accels encountered for all joints during the simulation
  • canon then will scale the speed accordingly so that max joint speeds aren't violated (if it was below it can scale up, otherwise down)
  • canon then sends the move to motion with the max carthesian allowed speed (very similar - if not the same - to the way it is done now)
  • motion (TP) then checks the current speed (programmed + FO's of various sorts) against the max allowed and clamps