Error on joint 0
01 Jul 2021 00:44 #213397
by wang
Error on joint 0 was created by wang
After configuring everything, I opened linuxcnc and found that there was a problem with the scale, but I don't know how to adjust, or what parameters to adjust.
At the same time, the following error occurred:(I don't know if there is a connection between the two)
At the same time, the following error occurred:(I don't know if there is a connection between the two)
emc/task/taskintf.cc 947: Error on joint 0, command number 122
task: main loop took 0.037478 seconds
task:main loop took 0.088289 seconds joint 0 following error
emc/task/taskintf.cc 947: Error on joint 0, command number 162
task: main loop took 0.037100 seconds
task: main loop took 0.055096 seconds joint 0 following error
emc/task/taskintf.cc 947: Error on joint 0, command number 202
task: main loop took 0.036831 seconds
task: main loop took 0.046237 seconds
Please Log in or Create an account to join the conversation.
01 Jul 2021 02:09 #213403
by Grotius
Replied by Grotius on topic Error on joint 0
Maybe it can be solved by adjusting the ferror value of the joint.
Please Log in or Create an account to join the conversation.
01 Jul 2021 02:17 #213404
by wang
Replied by wang on topic Error on joint 0
hi
Is 0.5 correct?
Is 0.5 correct?
Please Log in or Create an account to join the conversation.
- BeagleBrainz
- Offline
- User is blocked
Less
More
- Posts: 1437
- Thank you received: 570
01 Jul 2021 03:09 #213408
by BeagleBrainz
Replied by BeagleBrainz on topic Error on joint 0
I had a joint following error once that took ages to sort.
The solution was to boot with the real-time kernel instead of the non RT kernel and to uninstall the non RT kernel as well. I can’t tell you how stupid I felt.
I don’t guess that will be much help.
The solution was to boot with the real-time kernel instead of the non RT kernel and to uninstall the non RT kernel as well. I can’t tell you how stupid I felt.
I don’t guess that will be much help.
Please Log in or Create an account to join the conversation.
03 Jul 2021 00:23 #213523
by andypugh
Replied by andypugh on topic Error on joint 0
Possibly. OP: What does uname -a tell you (command-line command)I don’t guess that will be much help.
Please Log in or Create an account to join the conversation.
05 Jul 2021 00:51 #213731
by wang
Replied by wang on topic Error on joint 0
hi
Thank you for your reply, but I think there is no problem with my kernel
Thank you for your reply, but I think there is no problem with my kernel
Please Log in or Create an account to join the conversation.
05 Jul 2021 03:34 - 05 Jul 2021 03:35 #213740
by PCW
Replied by PCW on topic Error on joint 0
If you have a following error with a relatively huge
0.5 error limit (mm?) You likely have a hal setup error
or a tuning error (if you have feedback coming back to LinuxCNC)
Scale is adjusted in your ini file.
Can you post your current hal/ini files?
0.5 error limit (mm?) You likely have a hal setup error
or a tuning error (if you have feedback coming back to LinuxCNC)
Scale is adjusted in your ini file.
Can you post your current hal/ini files?
Last edit: 05 Jul 2021 03:35 by PCW.
Please Log in or Create an account to join the conversation.
05 Jul 2021 04:50 #213741
by wang
Replied by wang on topic Error on joint 0
hi
thank you for your reply
This is my ini file and hal file
ini
# EMC controller parameters for a simulated machine.
# General note: Comments can either be preceded with a # or ; - either is
# acceptable, although # is in keeping with most linux config files.
# General section[EMC]
# Version of this INI file
VERSION = 1.1
# Name of machine, for use with display, etc.
MACHINE = LinuxCNC-HAL-SIM-AXIS
# Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
#DEBUG = 0x7FFFFFFF
DEBUG = 0
# Sections for display options[DISPLAY]
# Name of display program, e.g., axis
DISPLAY = axis
# Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME = 0.100
# Path to help file
HELP_FILE = doc/help.txt
# Initial display setting for position, RELATIVE or MACHINE
POSITION_OFFSET = RELATIVE
# Initial display setting for position, COMMANDED or ACTUAL
POSITION_FEEDBACK = ACTUAL
# Highest value that will be allowed for feed override, 1.0 = 100%
MAX_FEED_OVERRIDE = 1.2
MAX_SPINDLE_OVERRIDE = 1.0
MAX_LINEAR_VELOCITY = 5
DEFAULT_LINEAR_VELOCITY = .25
DEFAULT_SPINDLE_SPEED = 200
# Prefix to be used
PROGRAM_PREFIX = ../../nc_files/
# Introductory graphic
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
#EDITOR = gedit
TOOL_EDITOR = tooledit
INCREMENTS = 1 in, 0.1 in, 10 mil, 1 mil, 1mm, .1mm, 1/8000 in
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
# Task controller section[TASK]
# Name of task controller program, e.g., milltask
TASK = milltask
# Cycle time, in seconds, that task controller will sleep between polls
CYCLE_TIME = 0.001
# Part program interpreter section[RS274NGC]
# File containing interpreter variables
PARAMETER_FILE = sim.var
# Motion control section[EMCMOT]
EMCMOT = motmod
# Timeout for comm to emcmot, in seconds
COMM_TIMEOUT = 1.0
# BASE_PERIOD is unused in this configuration but specified in core_sim.hal
BASE_PERIOD = 0
# Servo task period, in nano-seconds
SERVO_PERIOD = 1000000
# section for main IO controller parameters[EMCIO]
# Name of IO controller program, e.g., io
EMCIO = io
# cycle time, in seconds
CYCLE_TIME = 0.100
# tool table file
TOOL_TABLE = sim.tbl
TOOL_CHANGE_POSITION = 0 0 0
TOOL_CHANGE_QUILL_UP = 1
# Hardware Abstraction Layer section[HAL]
# The run script first uses halcmd to execute any HALFILE
# files, and then to execute any individual HALCMD commands.
#
# list of hal config files to run through halcmd
# files are executed in the order in which they appear
HALFILE = core_sim.hal
HALFILE = sim_spindle_encoder.hal
HALFILE = axis_manualtoolchange.hal
HALFILE = simulated_home.hal
HALFILE = check_xyz_constraints.hal
HALFILE = deltaPos.hal
# list of halcmd commands to execute
# commands are executed in the order in which they appear
#HALCMD = save neta
# Single file that is executed after the GUI has started. Only supported by
# AXIS at this time (only AXIS creates a HAL component of its own)
#POSTGUI_HALFILE = test_postgui.hal
HALUI = halui
# Trajectory planner section[TRAJ]
COORDINATES = X Y Z
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 4
DEFAULT_LINEAR_ACCELERATION = 100
MAX_LINEAR_ACCELERATION = 100
POSITION_FILE = position.txt
[KINS]
KINEMATICS = trivkins
JOINTS = 3
# Axes sections[AXIS_X]
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
[AXIS_Y]
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
[AXIS_Z]
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -8.0
MAX_LIMIT = 0.12
# Joints sections[JOINT_0]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 5
MAX_ACCELERATION = 50.0
BACKLASH = 0.000
INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000
FERROR = 10
MIN_FERROR = 0.010
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 1
HOME_IS_SHARED = 1
[JOINT_1]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 5
MAX_ACCELERATION = 50.0
BACKLASH = 0.000
INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000
FERROR = 0.050
MIN_FERROR = 0.010
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 1
[JOINT_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 5
MAX_ACCELERATION = 50.0
BACKLASH = 0.000
INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000
MIN_LIMIT = -8.0
# Normally the Z max should be 0.000!
# The only reason it's greater than 0 here is so that the splash screen
# gcode will run.
MAX_LIMIT = 0.12
FERROR = 0.050
MIN_FERROR = 0.010
HOME_OFFSET = 1.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 0
HOME_IS_SHARED = 1
hal
loadusr -W lcec_conf /home/qxh-wyk/linuxcnc-dev/configs/sim/axis/deltaPos.xml
loadrt lcec
addf lcec.read-all servo-thread
loadrt ilowpass
addf ilowpass.0 servo-thread
addf lcec.write-all servo-thread
setp ilowpass.0.scale 10000
setp ilowpass.0.gain 0.001
setp lcec.0.0.TxControlWord-1 1
setp lcec.0.0.TxControlWord-2 1
#net Xpos joint.0.motor-pos-cmd => lcec.0.0.TxPositionCommand
net Xpos => lcec.0.0.TxPositionCommand
net Xachse_AF joint.0.amp-enable-out => lcec.0.0.TxControlWord-0
net Xachse_AF => lcec.0.0.TxControlWord-3
net Xachse_AF => lcec.0.0.TxControlWord-5
net Xpos_fb lcec.0.0.RxPositionFeedback => joint.0.motor-pos-fb
I know the writing is messy, because I am a beginner, I will grow
I think my mistake is on the scale, but I don’t know how to modify it
thank you for your reply
This is my ini file and hal file
ini
Warning: Spoiler!
# EMC controller parameters for a simulated machine.
# General note: Comments can either be preceded with a # or ; - either is
# acceptable, although # is in keeping with most linux config files.
# General section[EMC]
# Version of this INI file
VERSION = 1.1
# Name of machine, for use with display, etc.
MACHINE = LinuxCNC-HAL-SIM-AXIS
# Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
#DEBUG = 0x7FFFFFFF
DEBUG = 0
# Sections for display options[DISPLAY]
# Name of display program, e.g., axis
DISPLAY = axis
# Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME = 0.100
# Path to help file
HELP_FILE = doc/help.txt
# Initial display setting for position, RELATIVE or MACHINE
POSITION_OFFSET = RELATIVE
# Initial display setting for position, COMMANDED or ACTUAL
POSITION_FEEDBACK = ACTUAL
# Highest value that will be allowed for feed override, 1.0 = 100%
MAX_FEED_OVERRIDE = 1.2
MAX_SPINDLE_OVERRIDE = 1.0
MAX_LINEAR_VELOCITY = 5
DEFAULT_LINEAR_VELOCITY = .25
DEFAULT_SPINDLE_SPEED = 200
# Prefix to be used
PROGRAM_PREFIX = ../../nc_files/
# Introductory graphic
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
#EDITOR = gedit
TOOL_EDITOR = tooledit
INCREMENTS = 1 in, 0.1 in, 10 mil, 1 mil, 1mm, .1mm, 1/8000 in
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
# Task controller section[TASK]
# Name of task controller program, e.g., milltask
TASK = milltask
# Cycle time, in seconds, that task controller will sleep between polls
CYCLE_TIME = 0.001
# Part program interpreter section[RS274NGC]
# File containing interpreter variables
PARAMETER_FILE = sim.var
# Motion control section[EMCMOT]
EMCMOT = motmod
# Timeout for comm to emcmot, in seconds
COMM_TIMEOUT = 1.0
# BASE_PERIOD is unused in this configuration but specified in core_sim.hal
BASE_PERIOD = 0
# Servo task period, in nano-seconds
SERVO_PERIOD = 1000000
# section for main IO controller parameters[EMCIO]
# Name of IO controller program, e.g., io
EMCIO = io
# cycle time, in seconds
CYCLE_TIME = 0.100
# tool table file
TOOL_TABLE = sim.tbl
TOOL_CHANGE_POSITION = 0 0 0
TOOL_CHANGE_QUILL_UP = 1
# Hardware Abstraction Layer section[HAL]
# The run script first uses halcmd to execute any HALFILE
# files, and then to execute any individual HALCMD commands.
#
# list of hal config files to run through halcmd
# files are executed in the order in which they appear
HALFILE = core_sim.hal
HALFILE = sim_spindle_encoder.hal
HALFILE = axis_manualtoolchange.hal
HALFILE = simulated_home.hal
HALFILE = check_xyz_constraints.hal
HALFILE = deltaPos.hal
# list of halcmd commands to execute
# commands are executed in the order in which they appear
#HALCMD = save neta
# Single file that is executed after the GUI has started. Only supported by
# AXIS at this time (only AXIS creates a HAL component of its own)
#POSTGUI_HALFILE = test_postgui.hal
HALUI = halui
# Trajectory planner section[TRAJ]
COORDINATES = X Y Z
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 4
DEFAULT_LINEAR_ACCELERATION = 100
MAX_LINEAR_ACCELERATION = 100
POSITION_FILE = position.txt
[KINS]
KINEMATICS = trivkins
JOINTS = 3
# Axes sections[AXIS_X]
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
[AXIS_Y]
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
[AXIS_Z]
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -8.0
MAX_LIMIT = 0.12
# Joints sections[JOINT_0]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 5
MAX_ACCELERATION = 50.0
BACKLASH = 0.000
INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000
FERROR = 10
MIN_FERROR = 0.010
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 1
HOME_IS_SHARED = 1
[JOINT_1]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 5
MAX_ACCELERATION = 50.0
BACKLASH = 0.000
INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000
FERROR = 0.050
MIN_FERROR = 0.010
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 1
[JOINT_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 5
MAX_ACCELERATION = 50.0
BACKLASH = 0.000
INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000
MIN_LIMIT = -8.0
# Normally the Z max should be 0.000!
# The only reason it's greater than 0 here is so that the splash screen
# gcode will run.
MAX_LIMIT = 0.12
FERROR = 0.050
MIN_FERROR = 0.010
HOME_OFFSET = 1.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 0
HOME_IS_SHARED = 1
hal
Warning: Spoiler!
loadusr -W lcec_conf /home/qxh-wyk/linuxcnc-dev/configs/sim/axis/deltaPos.xml
loadrt lcec
addf lcec.read-all servo-thread
loadrt ilowpass
addf ilowpass.0 servo-thread
addf lcec.write-all servo-thread
setp ilowpass.0.scale 10000
setp ilowpass.0.gain 0.001
setp lcec.0.0.TxControlWord-1 1
setp lcec.0.0.TxControlWord-2 1
#net Xpos joint.0.motor-pos-cmd => lcec.0.0.TxPositionCommand
net Xpos => lcec.0.0.TxPositionCommand
net Xachse_AF joint.0.amp-enable-out => lcec.0.0.TxControlWord-0
net Xachse_AF => lcec.0.0.TxControlWord-3
net Xachse_AF => lcec.0.0.TxControlWord-5
net Xpos_fb lcec.0.0.RxPositionFeedback => joint.0.motor-pos-fb
I know the writing is messy, because I am a beginner, I will grow
I think my mistake is on the scale, but I don’t know how to modify it
Please Log in or Create an account to join the conversation.
05 Jul 2021 15:34 #213769
by PCW
Replied by PCW on topic Error on joint 0
I would expect am immediate position error on the first move because
the commanded position ( joint.0.motor-pos-cmd) is not connected to your drive:
This correct line is commented out
#net Xpos joint.0.motor-pos-cmd => lcec.0.0.TxPositionCommand
You have:
net Xpos => lcec.0.0.TxPositionCommand
But the signal xpos is not connected to anything so the drives commanded position remains at 0
the commanded position ( joint.0.motor-pos-cmd) is not connected to your drive:
This correct line is commented out
#net Xpos joint.0.motor-pos-cmd => lcec.0.0.TxPositionCommand
You have:
net Xpos => lcec.0.0.TxPositionCommand
But the signal xpos is not connected to anything so the drives commanded position remains at 0
Please Log in or Create an account to join the conversation.
06 Jul 2021 04:50 #213821
by wang
Replied by wang on topic Error on joint 0
Your answer solved my problem, thank you very much for your reply
Please Log in or Create an account to join the conversation.
Time to create page: 0.090 seconds