I started working on a modification to homing.c so you can home a gantry 
style machine properly I have started working on it but have more work 
before i find how many bugs I created in the process. It adds a option 
to link 2 joints together. The joints will home themselves one at a time 
while maintaining the same velocities. Quite a few commercial machines 
can do this out of the box and I think EMC should too.

Ideally I don't want to touch what already works and think the best 
solution is to introduce custom homing modules (simple, gantry, 
crazymach) which can do coordinated motion if needed. Although this 
seems like the most configurable + ideal way it's also is the most work 
:( This way *seems* simple with minimal changes.

This is the basic plan so far.....What do you think, good/bad idea? is 
it useful to anyone? or should I go a completely different method.

Plan
- Add a HOME_LINK_JOINT property to the joints. This property defines 
which joint is linked linked to it.
- It will at all times will insure both joints move together. (Const vel 
at least)
- The first joint to come into contact with it's switch will put the 
second into a HOME_LINK_WAIT waiting state.
- While the second is in the waiting state the first will complete it's 
home and follow all of it's moves.
- The move following is done in the home_start_move() funtion
- Once the first joint has come to a complete stop after homing it will 
be sent to HOME_FINISHED state.
  Now it will set the second joints state to HOME_START
- The second joint will now follow the first until it also hits the 
HOME_FINISHED state
- The joints will check each other see they are both completed and sets 
the HOMING flag off and HOMED true...etc...

Error Checking
- Must check all velocities, accels, etc.. are equal between joints, if 
not it's a warning and use the smallest values from the two.
- Joints which are linked must have the same home_sequence. If not it is 
a critical error and quit
- Joints can only link to 1 other joint, and that joint can only link 
back to the orig. (e.g. cannot link 3 or have some kinda chain.. Simplicity)

Requirements
- Make minimal changes to the homing configuration.
- Don't break working home procedures...!
- Allow all current home methods even if the 2 linked joints use a 
different procedure.
- Up to user to specify home offset values to adjust for table skew and.
- Doesn't matter which joint homes first
- Always stay in sync.
- An error in one will trip the other

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to