04-25-2012 01:28 AM
Hi,
I am trying to make a very simple movement with 2 servos:
go down 4 meters,
go right 20 cm,
go up 4 meters,
go right 20 cm,
etc..
However, during those 4 meters up down moves, the speed should be constant.
I wasnt happy wth the blend movements so I decided to replace the go right move with a circular arc of 10 cm radius.
It looked great on the graph with simulated axis until I plotted their speed on a chart: white is Y axis and green is X axis
I thought that the circular arc would be a great way to connect the up and down straight-line moves by automatically regulating the X & Y speeds. So in order to keep a constant speed during the transitions, I chose those parameters:
blend mode: at deceleration
smooth: 0
acceleration/deceleration/acc & decc jerk: 0
however, as you can see on the charts, there are a few glitchs during the transitions. I played all day with all those params but without success.
I dont know if this will affect the servo motors or if it not even necessary to deal with this problem but to be on the safe sde, I would like to know how can I go from one movement to the other without those glitches.
Thank you for your help
04-26-2012 04:24 AM
It is hard to say what is going on exactly. Would the mechanical relationship between X and Y cause this issue? In other words, it looks like the starting and stopping of X has an affect on Y. Another possibility is that you have too much acceration feedforward on Y. Try doing S-curve(use jerk) moves on each axis by itself and see what kind of velocity profile you get.
04-26-2012 08:20 AM
Thanks for your reply. This test is done with simulated axis as the servos wont come for a few weeks.
When using blend mode "at deceleration", for the 1st transition: the acceleration of the arc move starts when the deceleration of the straight line starts. The acceleration of the 2nd straight line move starts when the deceleration of the arc move starts.
the acceleration of the arc move is trigered by the deceleration of the straight line move but wth a smooth of 0, I was expecting the deceleration of the straight line to drop the speed to 0 instantly while the acc of the arc move would jump to full speed instantly, at the same time.
However, here it seems that the straight line keeps its full speed at the beginning of its "deceleration" while the arc move reaches full speed during its acceleration much faster, resulting in a Y speed 2x faster.
While on the contrary, during the arc move deceleration Y speed seems to jumps to 0 but straight line move reaches its full speed with a delay, hence a speed 1/2 fast at the 2nd transition.
Is there a way to configure the axis to not go over a certain speed no matter what the prog send? Or to reduce the acceleraton/deceleration period to 0? Or is there a better way for me to code this up/down move at constant speed without using the arc move?
05-02-2012 01:22 PM
Hi Woss,
What version of NI Motion and what motion hardware are you using? This should help us to better understand the issue. Thanks!
Regards,
Kira T
05-04-2012 03:14 AM - edited 05-04-2012 03:18 AM
Hi Kira,
I am using NI Motion 8.3, NI Softmotion 2011 and we plan to purchase a cRIO 9024. In the meantime, I am testing our algorithm with simulated axis on a computer.
I dont know if there really is a problem per se. It might just be that I need help with the configuration of my straight line and circular arc moves (bend mode/smoothing/acc/dec/jerk/etc.).
All I want to do is to control a coordinate space with 2 axis.
The simple move should be: go down, go right, go up.
However, I want a constant speed during those "go down" & "go up" moves (no acceleration or deceleration), so instead of a go straight right move to connect the 2, I use a circular arc move (bend mode: at dec, smooth/acc/dec=0).
As shown in the 1st post, my problem occurs during the transition between straight move 1, arc move and straight move 2 with some speed glitches, most likely due to "bend mode: at deceleration".
If you could provide me with a example that could do just this simple "go Down, go right, go up" moves with constant speed during the up and down moves ("go right" doesn't have to be a circular arc if you know of a better method), that would be great.
Thank you for your help.
05-07-2012 11:14 AM
Hi Woss,
In NI Motion to avoid this behavior, please try using contoured moves rather than blended moves. This should give you the desired trajectory that you are looking for without the spikes that you are currently seeing. Also, have you thought about moving to using the SoftMotion module because the programming is slightly different and you could experience different behavior when using this.
Can you describe your hardware setup to give a better understanding of what you are trying to do? What modules are you planning on using with the cRIO 9024? Thank you!
Regards,
Kira T
05-08-2012 03:46 AM
Hi Kira,
Thank you for your input. I am already using NI Softmotion and according to NI support, there is a bug with arc move bending. I couldnt find any info on it so they gave me a CAR link but I cant access it, so I dont know how old is this bug nor if it can be fixed it anytime soon:
http://notesarchive.ni.com/Archives/cararc01.nsf/weballinfo/8625749f006ebc58862571b900585133
We are designing a painting prototype using a spray gun on a linear system using 3 n 1/2 axis (X, Y, Z, and a pneumatic for switching between horizontal/vertical painting). Here are some screenshots of the spray gun XY trajectories:
According to the spray gun paint spread, the trajectory changes. For example, here the spreads are 15 and 20 cm so the spray gun must go up/down 11 or 8 times and left/right 27 or 20 times accordingly.
I already looked into the contouring method but it looked like a lot more work for proper speed control and as I said, speed is one of the most important parameter in our system.
Thank you very much for your help Kira, I will look into the contouring method more in detail and will most likely have to restart my prog from scratch 🙂
05-08-2012 09:55 AM
Hi Woss,
That CAR you linked is old and doesn't apply to your situation. You did indeed find an already known bug that was filed under CAR 349659. It wil be fixed in the 2012 release.
However, even with that fix, SoftMotion doesn't give you the control to hit a a certain speed at a certain time after a deceleration blend. That's not to say it can't be done; you can probably find some combination of parameters that will make it work. Like you, though, I tried to make it work and failed. I can think of a few other options to accomplish your goal:
Let me know if you have any more questions or aren't clear on either of my suggestions.
Thanks,