From 96e80d0b9e9cd24ed90d0d9a1fc767a927a938a7 Mon Sep 17 00:00:00 2001 From: david mueller Date: Tue, 18 Aug 2026 10:08:45 +0200 Subject: [PATCH] SimConfigs: Add melfa-sim using 'three21' kinematics - Create a new folder for serial manipulator simulations - Move 'melfagui' vismach model which relys on the config stl files into the config folder - Add a new sim that applies 'three21' kins - Add and clarify README descriptions - Fix startup warnings about nonexistent .tbl files --- configs/sim/axis/vismach/melfa-sim/melfa.txt | 44 ------ .../vismach/melfa-sim/remap_subs/430remap.ngc | 26 ---- .../melfa-sim/README | 2 +- .../melfa-sim/example.ngc | 0 .../melfa-sim/melfa-postgui.hal | 0 .../melfa-sim/melfa-sim-genser/README | 35 +++++ .../melfa-sim-genser/melfa-sim-genser.ini} | 18 +-- .../melfa-sim/melfa-sim-genser/melfa_mdh.hal} | 0 .../melfa-sim/melfa-sim-three21/README | 33 ++++ .../melfa-sim/melfa-sim-three21/melfa_321.ini | 141 ++++++++++++++++++ .../melfa-sim/melfa-sim-three21/melfa_dh.hal | 13 ++ .../melfa-sim/melfa.tbl | 0 .../melfa-sim/melfa.xml | 0 .../melfa-sim/melfa_stl}/link1.stl | 0 .../melfa-sim/melfa_stl}/link2.stl | 0 .../melfa-sim/melfa_stl}/link3.stl | 0 .../melfa-sim/melfa_stl}/link4.stl | 0 .../melfa-sim/melfa_stl}/link5.stl | 0 .../melfa-sim/melfa_stl}/link6.stl | 0 .../melfa-sim/melfa_stl}/link7.stl | 0 .../melfa-sim}/melfagui.py | 14 +- .../melfa-sim/remap_subs/428remap.ngc | 0 .../melfa-sim/remap_subs/429remap.ngc | 0 .../{ => serial-manipulators}/puma/README | 0 .../puma/mcodes/M128 | 0 .../puma/mcodes/M129 | 0 .../puma/mcodes/M130 | 0 .../{ => serial-manipulators}/puma/puma.ini | 0 .../{ => serial-manipulators}/puma/puma.tbl | 0 .../{ => serial-manipulators}/puma/puma.xml | 0 .../puma/puma560.halshow | 0 .../puma/puma560.ini | 0 .../puma/puma560.txt | 0 .../puma/puma560.xml | 0 .../puma/puma560_dh.hal | 0 .../puma/puma560_postgui.hal | 0 .../puma/puma560_uvw.ini | 0 .../puma/puma_cube.ini | 0 .../puma/puma_cube.ngc | 0 .../puma/puma_cube.txt | 0 .../puma/puma_dh.hal | 0 .../puma/puma_link1.obj | 0 .../puma/puma_link2.obj | 0 .../puma/puma_link3.obj | 0 .../puma/puma_link4.obj | 0 .../puma/puma_link5.obj | 0 .../puma/puma_link6.obj | 0 .../puma/puma_link7.obj | 0 .../puma/puma_postgui.hal | 0 .../puma/puma_seam_weld.ngc | 0 .../puma/puma_text.obj | 0 .../puma/remap_subs/428remap.ngc | 0 .../puma/remap_subs/429remap.ngc | 0 .../puma/remap_subs/430remap.ngc | 0 .../{ => serial-manipulators}/scara/README | 0 .../scara/remap_subs/428remap.ngc | 0 .../scara/remap_subs/429remap.ngc | 0 .../scara/remap_subs/430remap.ngc | 0 .../{ => serial-manipulators}/scara/scara.ini | 2 +- .../{ => serial-manipulators}/scara/scara.xml | 0 .../scara/scara_postgui.hal | 0 debian/linuxcnc.install.in | 1 - debian/linuxcnc.manpages.in | 1 - docs/src/hal/components.adoc | 1 - docs/src/man/man1/melfagui.1.adoc | 39 ----- src/hal/user_comps/vismach/Submakefile | 1 - 66 files changed, 239 insertions(+), 132 deletions(-) delete mode 100644 configs/sim/axis/vismach/melfa-sim/melfa.txt delete mode 100644 configs/sim/axis/vismach/melfa-sim/remap_subs/430remap.ngc rename configs/sim/axis/vismach/{ => serial-manipulators}/melfa-sim/README (57%) rename configs/sim/axis/vismach/{ => serial-manipulators}/melfa-sim/example.ngc (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/melfa-sim/melfa-postgui.hal (100%) create mode 100644 configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-genser/README rename configs/sim/axis/vismach/{melfa-sim/melfa.ini => serial-manipulators/melfa-sim/melfa-sim-genser/melfa-sim-genser.ini} (89%) rename configs/sim/axis/vismach/{melfa-sim/melfa_dh.hal => serial-manipulators/melfa-sim/melfa-sim-genser/melfa_mdh.hal} (100%) create mode 100644 configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-three21/README create mode 100644 configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-three21/melfa_321.ini create mode 100644 configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-three21/melfa_dh.hal rename configs/sim/axis/vismach/{ => serial-manipulators}/melfa-sim/melfa.tbl (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/melfa-sim/melfa.xml (100%) rename configs/sim/axis/vismach/{melfa-sim => serial-manipulators/melfa-sim/melfa_stl}/link1.stl (100%) rename configs/sim/axis/vismach/{melfa-sim => serial-manipulators/melfa-sim/melfa_stl}/link2.stl (100%) rename configs/sim/axis/vismach/{melfa-sim => serial-manipulators/melfa-sim/melfa_stl}/link3.stl (100%) rename configs/sim/axis/vismach/{melfa-sim => serial-manipulators/melfa-sim/melfa_stl}/link4.stl (100%) rename configs/sim/axis/vismach/{melfa-sim => serial-manipulators/melfa-sim/melfa_stl}/link5.stl (100%) rename configs/sim/axis/vismach/{melfa-sim => serial-manipulators/melfa-sim/melfa_stl}/link6.stl (100%) rename configs/sim/axis/vismach/{melfa-sim => serial-manipulators/melfa-sim/melfa_stl}/link7.stl (100%) rename {src/hal/user_comps/vismach => configs/sim/axis/vismach/serial-manipulators/melfa-sim}/melfagui.py (92%) rename configs/sim/axis/vismach/{ => serial-manipulators}/melfa-sim/remap_subs/428remap.ngc (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/melfa-sim/remap_subs/429remap.ngc (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/README (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/mcodes/M128 (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/mcodes/M129 (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/mcodes/M130 (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma.ini (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma.tbl (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma.xml (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma560.halshow (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma560.ini (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma560.txt (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma560.xml (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma560_dh.hal (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma560_postgui.hal (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma560_uvw.ini (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma_cube.ini (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma_cube.ngc (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma_cube.txt (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma_dh.hal (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma_link1.obj (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma_link2.obj (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma_link3.obj (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma_link4.obj (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma_link5.obj (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma_link6.obj (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma_link7.obj (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma_postgui.hal (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma_seam_weld.ngc (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/puma_text.obj (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/remap_subs/428remap.ngc (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/remap_subs/429remap.ngc (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/puma/remap_subs/430remap.ngc (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/scara/README (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/scara/remap_subs/428remap.ngc (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/scara/remap_subs/429remap.ngc (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/scara/remap_subs/430remap.ngc (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/scara/scara.ini (99%) rename configs/sim/axis/vismach/{ => serial-manipulators}/scara/scara.xml (100%) rename configs/sim/axis/vismach/{ => serial-manipulators}/scara/scara_postgui.hal (100%) delete mode 100644 docs/src/man/man1/melfagui.1.adoc diff --git a/configs/sim/axis/vismach/melfa-sim/melfa.txt b/configs/sim/axis/vismach/melfa-sim/melfa.txt deleted file mode 100644 index 588d90742bb..00000000000 --- a/configs/sim/axis/vismach/melfa-sim/melfa.txt +++ /dev/null @@ -1,44 +0,0 @@ -melfa-switchkins usage: - -1) startup (after homing) is in -genserkins mode configured like -melfa-switchkins.ini as an mm-based machine -with 6 revolute joints. - -2) pyvcp buttons are provided to switch -between genserkins and identity -kinematics. The buttons issue remapped -commands M428,M429. These commands a) -set the motion.switchkins-type pin and -b) force a synchronization using a -motion input read command. - -3) when set for identity kins, default -assignments are: - - x : joint0 - y : joint1 - z : joint2 - a : joint3 - b : joint4 - c : joint5 -so the gcode commands: - 'g0x10' moves joint0 - 'g0c10' moves joint5 - -4) the ordering can be altered using the -genser-switchkins kinematics module -parameter 'coordinates'. For example, - -KINEMATICS=genser-switchkins coordinates=abcxyz - -assigns: - a : joint0 - b : joint1 - c : joint2 - x : joint3 - y : joint4 - z : joint5 -so the gcode commands: - 'g0x10' moves joint3 - 'g0c10' moves joint2 diff --git a/configs/sim/axis/vismach/melfa-sim/remap_subs/430remap.ngc b/configs/sim/axis/vismach/melfa-sim/remap_subs/430remap.ngc deleted file mode 100644 index c7d087435f6..00000000000 --- a/configs/sim/axis/vismach/melfa-sim/remap_subs/430remap.ngc +++ /dev/null @@ -1,26 +0,0 @@ -;M430 by remap: select gensertool kins -o<430remap>sub - # = 3 ; set N as required: motion.analog-out-0N - # = 2 ; gensertool kins - -o1 if [exists [#<_hal[motion.switchkins-type]>]] -o1 else - (debug,M430:Missing [RS274NGC]FEATURE==8) - (debug,STOP) - M2 -o1 endif - - M66 E0 L0 ; force synch - M68 E# Q# ; set kinstype value - M66 E0 L0 ; force synch -; (debug, M429:identity kins) - -o2 if [[#<_task> EQ 1] AND [#<_hal[motion.switchkins-type]> NE 2]] - (debug,M430:Wrong motion.switchkins-type) - (debug,or missing hal net to analog-out-0x) - (debug,STOP) - M2 -o2 else -o2 endif - -o<430remap>endsub diff --git a/configs/sim/axis/vismach/melfa-sim/README b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/README similarity index 57% rename from configs/sim/axis/vismach/melfa-sim/README rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/README index 3a9fb0d8696..30f0fc9a380 100644 --- a/configs/sim/axis/vismach/melfa-sim/README +++ b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/README @@ -1,3 +1,3 @@ -This is modelled on a Mitsubishi RV6-SDL serial manipulator. A tutorial on how the required modified-DH-parameters were derived for this robot is available in the linuxcnc documentation. +This simulation is modelled on a Mitsubishi RV6-SDL serial manipulator. Note that due to "gimbal lock" it is normal that the inverse kinematic fails when moving near such a singular point while in cartesian mode (ie genserkins). To move across such points it is necessary to switch from cartesian to joint (trivial) kinematics. diff --git a/configs/sim/axis/vismach/melfa-sim/example.ngc b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/example.ngc similarity index 100% rename from configs/sim/axis/vismach/melfa-sim/example.ngc rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/example.ngc diff --git a/configs/sim/axis/vismach/melfa-sim/melfa-postgui.hal b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-postgui.hal similarity index 100% rename from configs/sim/axis/vismach/melfa-sim/melfa-postgui.hal rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-postgui.hal diff --git a/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-genser/README b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-genser/README new file mode 100644 index 00000000000..fe67738ec65 --- /dev/null +++ b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-genser/README @@ -0,0 +1,35 @@ +This simulation uses 'genserkins' kinematics and the 'modified' DH-parameters used by that particular kinematic model. + +A tutorial on how the required modified-DH-parameters were derived for this robot is available in the linuxcnc documentation. + + +melfa-switchkins usage: + +1) startup (after homing) is in +'genserkins' mode configured like +melfa-switchkins.ini as an mm-based machine +with 6 revolute joints. + +2) pyvcp buttons are provided to switch +between 'genserkins' and 'identity' +kinematics. The buttons issue remapped +commands M428,M429. These commands + a) set the motion.switchkins-type pin and + b) force a synchronization using a +motion input read command. + +3) when set for 'identity' kins, default +assignments are: + + x : joint0 + y : joint1 + z : joint2 + a : joint3 + b : joint4 + c : joint5 +so the gcode commands: + 'g0x10' moves joint0 + 'g0c10' moves joint5 + +4) when set for 'genserkins' the axis letters +represent the cartesian coordinates. diff --git a/configs/sim/axis/vismach/melfa-sim/melfa.ini b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-genser/melfa-sim-genser.ini similarity index 89% rename from configs/sim/axis/vismach/melfa-sim/melfa.ini rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-genser/melfa-sim-genser.ini index 5bb62b6eaf1..cc765aeef28 100644 --- a/configs/sim/axis/vismach/melfa-sim/melfa.ini +++ b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-genser/melfa-sim-genser.ini @@ -1,6 +1,6 @@ [EMC] VERSION = 1.1 -MACHINE = melfa (mm) +MACHINE = Melfa-Sim using 'genserkins' kinematics (mm) DEBUG = 0 [KINS] @@ -10,24 +10,22 @@ JOINTS= 6 [HAL] HALUI = halui HALFILE = LIB:basic_sim.tcl -HALFILE = melfa_dh.hal -HALCMD = loadusr -W melfagui +HALFILE = melfa_mdh.hal +HALCMD = loadusr -W ../melfagui.py HALCMD = net :kinstype-select <= motion.analog-out-03 => motion.switchkins-type -POSTGUI_HALFILE = melfa-postgui.hal +POSTGUI_HALFILE = ../melfa-postgui.hal [RS274NGC] PARAMETER_FILE = melfa.var -SUBROUTINE_PATH = ./remap_subs +SUBROUTINE_PATH = ../remap_subs HAL_PIN_VARS = 1 REMAP = M428 modalgroup=10 ngc=428remap REMAP = M429 modalgroup=10 ngc=429remap - REMAP = M430 modalgroup=10 ngc=430remap RS274NGC_STARTUP_CODE = G10 L2 P7 X0 Y0 Z0 A-180 B0 C0 G59.1 (debug, ini: startup offsets) [HALUI] MDI_COMMAND = M429 MDI_COMMAND = M428 -MDI_COMMAND = M430 [DISPLAY] @@ -42,9 +40,9 @@ MAX_FEED_OVERRIDE = 2.0 PROGRAM_PREFIX = ./ INTRO_GRAPHIC = linuxcnc.gif INTRO_TIME = 5 -PYVCP = melfa.xml +PYVCP = ../melfa.xml EDITOR = geany -OPEN_FILE = example.ngc +OPEN_FILE = ../example.ngc [TASK] TASK = milltask @@ -68,7 +66,7 @@ DEFAULT_LINEAR_ACCELERATION = 200.0 MAX_LINEAR_ACCELERATION = 400.0 [EMCIO] -TOOL_TABLE = melfa.tbl +TOOL_TABLE = ../melfa.tbl [JOINT_0] TYPE = ANGULAR diff --git a/configs/sim/axis/vismach/melfa-sim/melfa_dh.hal b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-genser/melfa_mdh.hal similarity index 100% rename from configs/sim/axis/vismach/melfa-sim/melfa_dh.hal rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-genser/melfa_mdh.hal diff --git a/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-three21/README b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-three21/README new file mode 100644 index 00000000000..0ca33f8b779 --- /dev/null +++ b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-three21/README @@ -0,0 +1,33 @@ +This simulation uses 'three21' kinematics and the 'standard' DH-parameters used by that particular kinematic model. + + +melfa-switchkins usage: + +1) startup (after homing) is in +'three21' mode configured like +melfa-switchkins.ini as an mm-based machine +with 6 revolute joints. + +2) pyvcp buttons are provided to switch +between 'three21' and 'identity' +kinematics. The buttons issue remapped +commands M428,M429. These commands + a) set the motion.switchkins-type pin and + b) force a synchronization using a +motion input read command. + +3) when set for 'identity' kins, default +assignments are: + + x : joint0 + y : joint1 + z : joint2 + a : joint3 + b : joint4 + c : joint5 +so the gcode commands: + 'g0x10' moves joint0 + 'g0c10' moves joint5 + +4) when set for 'three21' the axis letters +represent the cartesian coordinates. diff --git a/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-three21/melfa_321.ini b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-three21/melfa_321.ini new file mode 100644 index 00000000000..47c04296fd0 --- /dev/null +++ b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-three21/melfa_321.ini @@ -0,0 +1,141 @@ +[EMC] +VERSION = 1.1 +MACHINE = Melfa-Sim using 'three21' kinematics (mm) +DEBUG = 0 + +[KINS] +KINEMATICS= three21kins +JOINTS= 6 + +[HAL] +HALUI = halui +HALFILE = LIB:basic_sim.tcl +HALFILE = melfa_dh.hal +HALCMD = loadusr -W ../melfagui.py +HALCMD = net :kinstype-select <= motion.analog-out-03 => motion.switchkins-type +POSTGUI_HALFILE = ../melfa-postgui.hal + +[RS274NGC] +PARAMETER_FILE = melfa.var +SUBROUTINE_PATH = ../remap_subs + HAL_PIN_VARS = 1 + REMAP = M428 modalgroup=10 ngc=428remap + REMAP = M429 modalgroup=10 ngc=429remap +RS274NGC_STARTUP_CODE = G10 L2 P7 X0 Y0 Z0 A-180 B0 C0 G59.1 (debug, ini: startup offsets) + +[HALUI] +MDI_COMMAND = M429 +MDI_COMMAND = M428 + + +[DISPLAY] +DISPLAY = axis +GEOMETRY = XYZABC +CYCLE_TIME = 0.200 +POSITION_OFFSET = RELATIVE +POSITION_FEEDBACK = ACTUAL +DEFAULT_LINEAR_VELOCITY = 60.0 +DEFAULT_ANGULAR_VELOCITY = 40.0 +MAX_FEED_OVERRIDE = 2.0 +PROGRAM_PREFIX = ./ +INTRO_GRAPHIC = linuxcnc.gif +INTRO_TIME = 5 +PYVCP = ../melfa.xml +EDITOR = geany +OPEN_FILE = ../example.ngc + +[TASK] +TASK = milltask +CYCLE_TIME = 0.010 + + +[EMCMOT] +EMCMOT = motmod +COMM_TIMEOUT = 1.0 +SERVO_PERIOD = 1000000 + +[TRAJ] +COORDINATES = X Y Z A B C +LINEAR_UNITS = mm +ANGULAR_UNITS = deg +DEFAULT_LINEAR_VELOCITY = 60.0 +DEFAULT_ANGULAR_VELOCITY = 60.0 +MAX_LINEAR_VELOCITY = 200.0 +MAX_ANGULAR_VELOCITY = 100.0 +DEFAULT_LINEAR_ACCELERATION = 200.0 +MAX_LINEAR_ACCELERATION = 400.0 + +[EMCIO] +TOOL_TABLE = ../melfa.tbl + +[JOINT_0] +TYPE = ANGULAR +MAX_VELOCITY = 60.0 +MAX_ACCELERATION = 400.0 +MIN_LIMIT = -170.0 +MAX_LIMIT = 170.0 +HOME_SEQUENCE = 0 +HOME_OFFSET = 0 +HOME = 0 +[JOINT_1] +TYPE = ANGULAR +MAX_VELOCITY = 60.0 +MAX_ACCELERATION = 400.0 +MIN_LIMIT = -182.0 +MAX_LIMIT = 45.0 +HOME_OFFSET = 0.0 +HOME_SEQUENCE = 0 +HOME = -90.001 +[JOINT_2] +TYPE = ANGULAR +MAX_VELOCITY = 60.0 +MAX_ACCELERATION = 400.0 +MIN_LIMIT = -219.0 +MAX_LIMIT = 76.0 +HOME_OFFSET = 0.0 +HOME_SEQUENCE = 0 +HOME = 0.001 +[JOINT_3] +TYPE = ANGULAR +MAX_VELOCITY = 60.0 +MAX_ACCELERATION = 400.0 +MIN_LIMIT = -160.0 +MAX_LIMIT = 160.0 +HOME_OFFSET = 0.0 +HOME_SEQUENCE = 0 +HOME = 0.001 +[JOINT_4] +TYPE = ANGULAR +MAX_VELOCITY = 60.0 +MAX_ACCELERATION = 400.0 +MIN_LIMIT = -120.0 +MAX_LIMIT = 120.0 +HOME_OFFSET = 0.0 +HOME_SEQUENCE = 0 +HOME = 90.001 +[JOINT_5] +TYPE = ANGULAR +MAX_VELOCITY = 60.0 +MAX_ACCELERATION = 400.0 +HOME_OFFSET = 0.0 +HOME_SEQUENCE = 0 +HOME = 0.001 + +[AXIS_X] +MAX_VELOCITY = 60.0 +MAX_ACCELERATION = 400.0 +[AXIS_Y] +MAX_VELOCITY = 60.0 +MAX_ACCELERATION = 400.0 +[AXIS_Z] +MAX_VELOCITY = 60.0 +MAX_ACCELERATION = 400.0 +[AXIS_A] +MAX_VELOCITY = 60.0 +MAX_ACCELERATION = 400.0 +[AXIS_B] +MAX_VELOCITY = 60.0 +MAX_ACCELERATION = 400.0 +[AXIS_C] +MAX_VELOCITY = 60.0 +MAX_ACCELERATION = 400.0 diff --git a/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-three21/melfa_dh.hal b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-three21/melfa_dh.hal new file mode 100644 index 00000000000..210fd956414 --- /dev/null +++ b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa-sim-three21/melfa_dh.hal @@ -0,0 +1,13 @@ +# modified DH-parameters for RV-6SDL + +setp three21kins.A1 85 +setp three21kins.A2 380 +setp three21kins.A3 100 +setp three21kins.D1 350 +setp three21kins.D2 0 +setp three21kins.D3 0 +setp three21kins.D4 425 +#setp three21kins.D6 85 # distance to the flange +setp three21kins.D6 235 + + diff --git a/configs/sim/axis/vismach/melfa-sim/melfa.tbl b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa.tbl similarity index 100% rename from configs/sim/axis/vismach/melfa-sim/melfa.tbl rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa.tbl diff --git a/configs/sim/axis/vismach/melfa-sim/melfa.xml b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa.xml similarity index 100% rename from configs/sim/axis/vismach/melfa-sim/melfa.xml rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa.xml diff --git a/configs/sim/axis/vismach/melfa-sim/link1.stl b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa_stl/link1.stl similarity index 100% rename from configs/sim/axis/vismach/melfa-sim/link1.stl rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa_stl/link1.stl diff --git a/configs/sim/axis/vismach/melfa-sim/link2.stl b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa_stl/link2.stl similarity index 100% rename from configs/sim/axis/vismach/melfa-sim/link2.stl rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa_stl/link2.stl diff --git a/configs/sim/axis/vismach/melfa-sim/link3.stl b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa_stl/link3.stl similarity index 100% rename from configs/sim/axis/vismach/melfa-sim/link3.stl rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa_stl/link3.stl diff --git a/configs/sim/axis/vismach/melfa-sim/link4.stl b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa_stl/link4.stl similarity index 100% rename from configs/sim/axis/vismach/melfa-sim/link4.stl rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa_stl/link4.stl diff --git a/configs/sim/axis/vismach/melfa-sim/link5.stl b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa_stl/link5.stl similarity index 100% rename from configs/sim/axis/vismach/melfa-sim/link5.stl rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa_stl/link5.stl diff --git a/configs/sim/axis/vismach/melfa-sim/link6.stl b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa_stl/link6.stl similarity index 100% rename from configs/sim/axis/vismach/melfa-sim/link6.stl rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa_stl/link6.stl diff --git a/configs/sim/axis/vismach/melfa-sim/link7.stl b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa_stl/link7.stl similarity index 100% rename from configs/sim/axis/vismach/melfa-sim/link7.stl rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfa_stl/link7.stl diff --git a/src/hal/user_comps/vismach/melfagui.py b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfagui.py similarity index 92% rename from src/hal/user_comps/vismach/melfagui.py rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfagui.py index 1d4ef6c996c..0471a87e287 100755 --- a/src/hal/user_comps/vismach/melfagui.py +++ b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/melfagui.py @@ -42,19 +42,19 @@ try: # Expect files in working directory # create toolholder from file - link7 = AsciiSTL(filename="link7.stl") + link7 = AsciiSTL(filename="../melfa_stl/link7.stl") # create wrist from file - link6 = AsciiSTL(filename="link6.stl") + link6 = AsciiSTL(filename="../melfa_stl/link6.stl") # create forearm from file - link5 = AsciiSTL(filename="link5.stl") + link5 = AsciiSTL(filename="../melfa_stl/link5.stl") # create ellbow trom file - link4 = AsciiSTL(filename="link4.stl") + link4 = AsciiSTL(filename="../melfa_stl/link4.stl") # create upper arm from file - link3 = AsciiSTL(filename="link3.stl") + link3 = AsciiSTL(filename="../melfa_stl/link3.stl") # create shoulder from file - link2 = AsciiSTL(filename="link2.stl") + link2 = AsciiSTL(filename="../melfa_stl/link2.stl") # create base (waist) from file - link1 = AsciiSTL(filename="link1.stl") + link1 = AsciiSTL(filename="../melfa_stl/link1.stl") except Exception as detail: print(detail) raise SystemExit("melfagui requires files link[1-7].stl in working directory") diff --git a/configs/sim/axis/vismach/melfa-sim/remap_subs/428remap.ngc b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/remap_subs/428remap.ngc similarity index 100% rename from configs/sim/axis/vismach/melfa-sim/remap_subs/428remap.ngc rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/remap_subs/428remap.ngc diff --git a/configs/sim/axis/vismach/melfa-sim/remap_subs/429remap.ngc b/configs/sim/axis/vismach/serial-manipulators/melfa-sim/remap_subs/429remap.ngc similarity index 100% rename from configs/sim/axis/vismach/melfa-sim/remap_subs/429remap.ngc rename to configs/sim/axis/vismach/serial-manipulators/melfa-sim/remap_subs/429remap.ngc diff --git a/configs/sim/axis/vismach/puma/README b/configs/sim/axis/vismach/serial-manipulators/puma/README similarity index 100% rename from configs/sim/axis/vismach/puma/README rename to configs/sim/axis/vismach/serial-manipulators/puma/README diff --git a/configs/sim/axis/vismach/puma/mcodes/M128 b/configs/sim/axis/vismach/serial-manipulators/puma/mcodes/M128 similarity index 100% rename from configs/sim/axis/vismach/puma/mcodes/M128 rename to configs/sim/axis/vismach/serial-manipulators/puma/mcodes/M128 diff --git a/configs/sim/axis/vismach/puma/mcodes/M129 b/configs/sim/axis/vismach/serial-manipulators/puma/mcodes/M129 similarity index 100% rename from configs/sim/axis/vismach/puma/mcodes/M129 rename to configs/sim/axis/vismach/serial-manipulators/puma/mcodes/M129 diff --git a/configs/sim/axis/vismach/puma/mcodes/M130 b/configs/sim/axis/vismach/serial-manipulators/puma/mcodes/M130 similarity index 100% rename from configs/sim/axis/vismach/puma/mcodes/M130 rename to configs/sim/axis/vismach/serial-manipulators/puma/mcodes/M130 diff --git a/configs/sim/axis/vismach/puma/puma.ini b/configs/sim/axis/vismach/serial-manipulators/puma/puma.ini similarity index 100% rename from configs/sim/axis/vismach/puma/puma.ini rename to configs/sim/axis/vismach/serial-manipulators/puma/puma.ini diff --git a/configs/sim/axis/vismach/puma/puma.tbl b/configs/sim/axis/vismach/serial-manipulators/puma/puma.tbl similarity index 100% rename from configs/sim/axis/vismach/puma/puma.tbl rename to configs/sim/axis/vismach/serial-manipulators/puma/puma.tbl diff --git a/configs/sim/axis/vismach/puma/puma.xml b/configs/sim/axis/vismach/serial-manipulators/puma/puma.xml similarity index 100% rename from configs/sim/axis/vismach/puma/puma.xml rename to configs/sim/axis/vismach/serial-manipulators/puma/puma.xml diff --git a/configs/sim/axis/vismach/puma/puma560.halshow b/configs/sim/axis/vismach/serial-manipulators/puma/puma560.halshow similarity index 100% rename from configs/sim/axis/vismach/puma/puma560.halshow rename to configs/sim/axis/vismach/serial-manipulators/puma/puma560.halshow diff --git a/configs/sim/axis/vismach/puma/puma560.ini b/configs/sim/axis/vismach/serial-manipulators/puma/puma560.ini similarity index 100% rename from configs/sim/axis/vismach/puma/puma560.ini rename to configs/sim/axis/vismach/serial-manipulators/puma/puma560.ini diff --git a/configs/sim/axis/vismach/puma/puma560.txt b/configs/sim/axis/vismach/serial-manipulators/puma/puma560.txt similarity index 100% rename from configs/sim/axis/vismach/puma/puma560.txt rename to configs/sim/axis/vismach/serial-manipulators/puma/puma560.txt diff --git a/configs/sim/axis/vismach/puma/puma560.xml b/configs/sim/axis/vismach/serial-manipulators/puma/puma560.xml similarity index 100% rename from configs/sim/axis/vismach/puma/puma560.xml rename to configs/sim/axis/vismach/serial-manipulators/puma/puma560.xml diff --git a/configs/sim/axis/vismach/puma/puma560_dh.hal b/configs/sim/axis/vismach/serial-manipulators/puma/puma560_dh.hal similarity index 100% rename from configs/sim/axis/vismach/puma/puma560_dh.hal rename to configs/sim/axis/vismach/serial-manipulators/puma/puma560_dh.hal diff --git a/configs/sim/axis/vismach/puma/puma560_postgui.hal b/configs/sim/axis/vismach/serial-manipulators/puma/puma560_postgui.hal similarity index 100% rename from configs/sim/axis/vismach/puma/puma560_postgui.hal rename to configs/sim/axis/vismach/serial-manipulators/puma/puma560_postgui.hal diff --git a/configs/sim/axis/vismach/puma/puma560_uvw.ini b/configs/sim/axis/vismach/serial-manipulators/puma/puma560_uvw.ini similarity index 100% rename from configs/sim/axis/vismach/puma/puma560_uvw.ini rename to configs/sim/axis/vismach/serial-manipulators/puma/puma560_uvw.ini diff --git a/configs/sim/axis/vismach/puma/puma_cube.ini b/configs/sim/axis/vismach/serial-manipulators/puma/puma_cube.ini similarity index 100% rename from configs/sim/axis/vismach/puma/puma_cube.ini rename to configs/sim/axis/vismach/serial-manipulators/puma/puma_cube.ini diff --git a/configs/sim/axis/vismach/puma/puma_cube.ngc b/configs/sim/axis/vismach/serial-manipulators/puma/puma_cube.ngc similarity index 100% rename from configs/sim/axis/vismach/puma/puma_cube.ngc rename to configs/sim/axis/vismach/serial-manipulators/puma/puma_cube.ngc diff --git a/configs/sim/axis/vismach/puma/puma_cube.txt b/configs/sim/axis/vismach/serial-manipulators/puma/puma_cube.txt similarity index 100% rename from configs/sim/axis/vismach/puma/puma_cube.txt rename to configs/sim/axis/vismach/serial-manipulators/puma/puma_cube.txt diff --git a/configs/sim/axis/vismach/puma/puma_dh.hal b/configs/sim/axis/vismach/serial-manipulators/puma/puma_dh.hal similarity index 100% rename from configs/sim/axis/vismach/puma/puma_dh.hal rename to configs/sim/axis/vismach/serial-manipulators/puma/puma_dh.hal diff --git a/configs/sim/axis/vismach/puma/puma_link1.obj b/configs/sim/axis/vismach/serial-manipulators/puma/puma_link1.obj similarity index 100% rename from configs/sim/axis/vismach/puma/puma_link1.obj rename to configs/sim/axis/vismach/serial-manipulators/puma/puma_link1.obj diff --git a/configs/sim/axis/vismach/puma/puma_link2.obj b/configs/sim/axis/vismach/serial-manipulators/puma/puma_link2.obj similarity index 100% rename from configs/sim/axis/vismach/puma/puma_link2.obj rename to configs/sim/axis/vismach/serial-manipulators/puma/puma_link2.obj diff --git a/configs/sim/axis/vismach/puma/puma_link3.obj b/configs/sim/axis/vismach/serial-manipulators/puma/puma_link3.obj similarity index 100% rename from configs/sim/axis/vismach/puma/puma_link3.obj rename to configs/sim/axis/vismach/serial-manipulators/puma/puma_link3.obj diff --git a/configs/sim/axis/vismach/puma/puma_link4.obj b/configs/sim/axis/vismach/serial-manipulators/puma/puma_link4.obj similarity index 100% rename from configs/sim/axis/vismach/puma/puma_link4.obj rename to configs/sim/axis/vismach/serial-manipulators/puma/puma_link4.obj diff --git a/configs/sim/axis/vismach/puma/puma_link5.obj b/configs/sim/axis/vismach/serial-manipulators/puma/puma_link5.obj similarity index 100% rename from configs/sim/axis/vismach/puma/puma_link5.obj rename to configs/sim/axis/vismach/serial-manipulators/puma/puma_link5.obj diff --git a/configs/sim/axis/vismach/puma/puma_link6.obj b/configs/sim/axis/vismach/serial-manipulators/puma/puma_link6.obj similarity index 100% rename from configs/sim/axis/vismach/puma/puma_link6.obj rename to configs/sim/axis/vismach/serial-manipulators/puma/puma_link6.obj diff --git a/configs/sim/axis/vismach/puma/puma_link7.obj b/configs/sim/axis/vismach/serial-manipulators/puma/puma_link7.obj similarity index 100% rename from configs/sim/axis/vismach/puma/puma_link7.obj rename to configs/sim/axis/vismach/serial-manipulators/puma/puma_link7.obj diff --git a/configs/sim/axis/vismach/puma/puma_postgui.hal b/configs/sim/axis/vismach/serial-manipulators/puma/puma_postgui.hal similarity index 100% rename from configs/sim/axis/vismach/puma/puma_postgui.hal rename to configs/sim/axis/vismach/serial-manipulators/puma/puma_postgui.hal diff --git a/configs/sim/axis/vismach/puma/puma_seam_weld.ngc b/configs/sim/axis/vismach/serial-manipulators/puma/puma_seam_weld.ngc similarity index 100% rename from configs/sim/axis/vismach/puma/puma_seam_weld.ngc rename to configs/sim/axis/vismach/serial-manipulators/puma/puma_seam_weld.ngc diff --git a/configs/sim/axis/vismach/puma/puma_text.obj b/configs/sim/axis/vismach/serial-manipulators/puma/puma_text.obj similarity index 100% rename from configs/sim/axis/vismach/puma/puma_text.obj rename to configs/sim/axis/vismach/serial-manipulators/puma/puma_text.obj diff --git a/configs/sim/axis/vismach/puma/remap_subs/428remap.ngc b/configs/sim/axis/vismach/serial-manipulators/puma/remap_subs/428remap.ngc similarity index 100% rename from configs/sim/axis/vismach/puma/remap_subs/428remap.ngc rename to configs/sim/axis/vismach/serial-manipulators/puma/remap_subs/428remap.ngc diff --git a/configs/sim/axis/vismach/puma/remap_subs/429remap.ngc b/configs/sim/axis/vismach/serial-manipulators/puma/remap_subs/429remap.ngc similarity index 100% rename from configs/sim/axis/vismach/puma/remap_subs/429remap.ngc rename to configs/sim/axis/vismach/serial-manipulators/puma/remap_subs/429remap.ngc diff --git a/configs/sim/axis/vismach/puma/remap_subs/430remap.ngc b/configs/sim/axis/vismach/serial-manipulators/puma/remap_subs/430remap.ngc similarity index 100% rename from configs/sim/axis/vismach/puma/remap_subs/430remap.ngc rename to configs/sim/axis/vismach/serial-manipulators/puma/remap_subs/430remap.ngc diff --git a/configs/sim/axis/vismach/scara/README b/configs/sim/axis/vismach/serial-manipulators/scara/README similarity index 100% rename from configs/sim/axis/vismach/scara/README rename to configs/sim/axis/vismach/serial-manipulators/scara/README diff --git a/configs/sim/axis/vismach/scara/remap_subs/428remap.ngc b/configs/sim/axis/vismach/serial-manipulators/scara/remap_subs/428remap.ngc similarity index 100% rename from configs/sim/axis/vismach/scara/remap_subs/428remap.ngc rename to configs/sim/axis/vismach/serial-manipulators/scara/remap_subs/428remap.ngc diff --git a/configs/sim/axis/vismach/scara/remap_subs/429remap.ngc b/configs/sim/axis/vismach/serial-manipulators/scara/remap_subs/429remap.ngc similarity index 100% rename from configs/sim/axis/vismach/scara/remap_subs/429remap.ngc rename to configs/sim/axis/vismach/serial-manipulators/scara/remap_subs/429remap.ngc diff --git a/configs/sim/axis/vismach/scara/remap_subs/430remap.ngc b/configs/sim/axis/vismach/serial-manipulators/scara/remap_subs/430remap.ngc similarity index 100% rename from configs/sim/axis/vismach/scara/remap_subs/430remap.ngc rename to configs/sim/axis/vismach/serial-manipulators/scara/remap_subs/430remap.ngc diff --git a/configs/sim/axis/vismach/scara/scara.ini b/configs/sim/axis/vismach/serial-manipulators/scara/scara.ini similarity index 99% rename from configs/sim/axis/vismach/scara/scara.ini rename to configs/sim/axis/vismach/serial-manipulators/scara/scara.ini index baf72c9fb7a..b463c70dd6a 100644 --- a/configs/sim/axis/vismach/scara/scara.ini +++ b/configs/sim/axis/vismach/serial-manipulators/scara/scara.ini @@ -83,7 +83,7 @@ DEFAULT_ANGULAR_ACCELERATION = 100.0 MAX_ANGULAR_ACCELERATION = 200.0 [EMCIO] -TOOL_TABLE = scara.tbl +#TOOL_TABLE = scara.tbl [AXIS_X] MAX_VELOCITY = 30.0 diff --git a/configs/sim/axis/vismach/scara/scara.xml b/configs/sim/axis/vismach/serial-manipulators/scara/scara.xml similarity index 100% rename from configs/sim/axis/vismach/scara/scara.xml rename to configs/sim/axis/vismach/serial-manipulators/scara/scara.xml diff --git a/configs/sim/axis/vismach/scara/scara_postgui.hal b/configs/sim/axis/vismach/serial-manipulators/scara/scara_postgui.hal similarity index 100% rename from configs/sim/axis/vismach/scara/scara_postgui.hal rename to configs/sim/axis/vismach/serial-manipulators/scara/scara_postgui.hal diff --git a/debian/linuxcnc.install.in b/debian/linuxcnc.install.in index d66045b43a5..713f37056e5 100644 --- a/debian/linuxcnc.install.in +++ b/debian/linuxcnc.install.in @@ -54,7 +54,6 @@ usr/bin/maho600gui usr/bin/max5gui usr/bin/mb2hal usr/bin/mdi -usr/bin/melfagui usr/bin/mesambccc usr/bin/milltask usr/bin/millturngui diff --git a/debian/linuxcnc.manpages.in b/debian/linuxcnc.manpages.in index 964814da5fa..33da0c8284c 100644 --- a/debian/linuxcnc.manpages.in +++ b/debian/linuxcnc.manpages.in @@ -54,7 +54,6 @@ usr/share/man/man1/mb2hal.1 usr/share/man/man1/mdi.1 usr/share/man/man1/mdro.1 usr/share/man/man1/mesambccc.1 -usr/share/man/man1/melfagui.1 usr/share/man/man1/milltask.1 usr/share/man/man1/millturn.1 usr/share/man/man1/millturngui.1 diff --git a/docs/src/hal/components.adoc b/docs/src/hal/components.adoc index 8e04a648a93..3ba7dd381ea 100644 --- a/docs/src/hal/components.adoc +++ b/docs/src/hal/components.adoc @@ -67,7 +67,6 @@ To search in the man pages, use the UNIX tool `apropos`. | link:../man/man1/lineardelta.1.html[lineardelta] |Vismach Virtual Machine GUI || | link:../man/man1/maho600gui.1.html[maho600gui] |hexagui - Vismach Virtual Machine GUI || | link:../man/man1/max5gui.1.html[max5gui] |hexagui - Vismach Virtual Machine GUI || -| link:../man/man1/melfagui.1.html[melfagui] |Vismach Virtual Machine GUI || | link:../man/man1/puma560gui.1.html[puma560gui] |puma560agui - Vismach Virtual Machine GUI || | link:../man/man1/pumagui.1.html[pumagui] |Vismach Virtual Machine GUI || | link:../man/man1/rotarydelta.1.html[rotarydelta] |Vismach Virtual Machine GUI || diff --git a/docs/src/man/man1/melfagui.1.adoc b/docs/src/man/man1/melfagui.1.adoc deleted file mode 100644 index 08c8b82c363..00000000000 --- a/docs/src/man/man1/melfagui.1.adoc +++ /dev/null @@ -1,39 +0,0 @@ -= melfagui(1) - -== NAME - -melfagui - Vismach Virtual Machine GUI - -== DESCRIPTION - -*melfagui* is one of the sample *Vismach* GUIs for LinuxCNC, simulating a Mitsubishi serial manipulator. - - -== SEE ALSO - -*linuxcnc(1)* - -https://linuxcnc.org/docs/html/gui/vismach.html - -Much more information about LinuxCNC and HAL is available in the -LinuxCNC and HAL User Manuals, found at /usr/share/doc/LinuxCNC/. - -== BUGS - -None known at this time. - -== AUTHOR - -This man page written by Andy Pugh, as part of the LinuxCNC project. - -== REPORTING BUGS - -Report bugs at https://github.com/LinuxCNC/linuxcnc/issues - -== COPYRIGHT - -Copyright © 2023 Andy Pugh. - -This is free software; see the source for copying conditions. There is -NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. diff --git a/src/hal/user_comps/vismach/Submakefile b/src/hal/user_comps/vismach/Submakefile index c36c78a0ce2..83e30e0fe67 100644 --- a/src/hal/user_comps/vismach/Submakefile +++ b/src/hal/user_comps/vismach/Submakefile @@ -11,7 +11,6 @@ VISMACH_PY := \ maho600gui.py \ hbmgui.py \ rotarydelta.py \ - melfagui.py \ millturngui.py \ xyzac-trt-gui.py \ xyzbc-trt-gui.py \