Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Motoman syncronised positioner Postprosessor wrong output

#1
1: Motoman turntables (At least MT1 S2HD models) are always in pulse mode. So when synced, code looks like this:
Code:
C00500=-199.750,-10.053,-0.060,0.00,-0.00,-100.00
C00501=-199.860,-7.543,-0.060,0.00,-0.00,-100.00
C00502=-199.860,-7.543,99.940,0.00,-0.00,-100.00
EC00000=0,0
EC00001=0,0
EC00002=0,0
EC00003=0,0

It needs to look like this:
Code:
C00500=-199.750,-10.053,-0.060,0.00,-0.00,-100.00
C00501=-199.860,-7.543,-0.060,0.00,-0.00,-100.00
C00502=-199.860,-7.543,99.940,0.00,-0.00,-100.00
///POSTYPE PULSE
///PULSE
EC00000=0,0
EC00001=0,0
EC00002=0,0
EC00003=0,0
2: In RJ job. Cartesian target has to be set before ANY Pulse data.
If I post without "output for joint movements: Cartesian data" in option/program, I get the first movement as PULSE at the start of the file. It is  NOT recognized as RJ. If I remove RJ tag, the file is accepted.
Code:
///POSTYPE PULSE
///PULSE
C00000=-11708,72112,-18467,-49791,-50469,56270

///ATTR SC,RW,RJ
In the motoman_cartesian_only post, this line seem to be ignored:
Code:
# Force joint movements to be in Cartesian
    MOVEJ_IN_CARTESIAN = True
#2
Just to confirm I understand your improvement suggestions for the Yaskawa/Motoman post processors, you would like to see these changes to the default Yaskawa/Motoman posts:
  1. You are suggesting we remove the RJ flag from the default Motoman post. I understand this is not required even if there are Cartesian targets.
  2. You are suggesting we include the flags ///POSTYPE PULSE and ///PULSE
Correct? If not, it may help if you can provide us with some sample RoboDK projects and required edits to make the programs work.
#3
(02-23-2025, 09:44 PM)Albert Wrote: Just to confirm I understand your improvement suggestions for the Yaskawa/Motoman post processors, you would like to see these changes to the default Yaskawa/Motoman posts:
  1. You are suggesting we remove the RJ flag from the default Motoman post. I understand this is not required even if there are Cartesian targets.
  2. You are suggesting we include the flags ///POSTYPE PULSE and ///PULSE
Correct? If not, it may help if you can provide us with some sample RoboDK projects and required edits to make the programs work.
1. Depends.
I would have the RJ flag adhere to to this line in the postprocessor:
USE_RELATIVE_JOB = True 
With this flag, under no circumstances should Pulsedata be posted first. But this line in the postprocessor seem to be ignored if this setting "output for joint movements: Cartesian data"  is not set. If output is set to default, AND default is set to cartesian. First Joint movement is set to pulse instead of cartesian. This all seems like a bug as it is NOT cartesian and the program is still posted with RJ and Pulsedata as first movement.
 
I rather it uses the postprocessor line as guideline instead of setup data, that also seems most logical to me, as I rather set different outputs options inside different postprocessors instead of changing settings all the time.

2. Only when positioners is using Pulsedata mind you. As in the case of motoman turntables in at least those models (multiaxis). I have another, a skyhook motoman but that one we are selling and I do not have the time to check if it works the same way.
#4
We are updating the default Motoman post processor to properly output the pulses flag when adding EC or BC targets. You can also remove the RJ flag but changing this flag from False to True:
Code:
    # Avoid outputting the RJ flag. The RJ flag may require an option on some controllers.
    AVOID_RJ_FLAG = False
You can test this post processor by opening the attached RDKP file. This will open RoboDK and update your Motoman post processor to the latest version.

Let us know if you still see issues.


Attached Files
.rdkp   Motoman.py.rdkp (Size: 16.22 KB / Downloads: 55)
#5
Thanks works wonders!
#6
Great, thank you for your feedback!
  




Users browsing this thread:
1 Guest(s)