I posted this in the emc-users group because I thought it was a
configuration problem, but it appears to be a software issue.

This only happens on a gantry system.

When axis starts, emc is in EMC_TRAJ_MODE_FREE, meaning all axis can be
jogged freely.  axis uses the EMC_AXIS_JOG command which checks that the
requested velocity does not exceed the MAX_VELOCITY value in [AXIS_n]

With a gantry, emc starts in EMC_TRAJ_MODE_FREE, but after it has been
homed, it moves into EMC_TRAJ_MODE_TELEOP.  axis will now jog using the
SetTeleopVector command by specifying the velocity as the current jog
velocity, or, if shift is being pressed, [TRAJ]MAX_VELOCITY.  

This is the first issue - axis does not look at the [AXIS_n] max velocities
when jogging in teleop mode.  

However, I feel the real problem is that there is no MAX_VELOCITY checking
when executing the emcTrajSetTeleopVector() function.

So this patch addresses this by restricting the velocity in a teleop vector
command to the values of [AXIS_n]MAX_VELOCITY.

I don't know how else TELEOP mode is used, or if this can cause other
issues.  Or if the axis number mappings may cause other issues.  The new
methods, setPoseByAxis and getPoseByAxis could also be move to a more
general place. (C++ member would be better)

Frank

Attachment: 0003-Limit-the-velocities-in-the-SetTeleopVector-command-.patch
Description: Binary data

------------------------------------------------------------------------------
Get your Android app more play: Bring it to the BlackBerry PlayBook 
in minutes. BlackBerry App World™ now supports Android™ Apps 
for the BlackBerry® PlayBook™. Discover just how easy and simple 
it is! http://p.sf.net/sfu/android-dev2dev
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to