Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

smooth motion of many line moves

I'm still very new to LV, so please do correct me if it seems that I have misunderstood something.

My goal is to control 3 Servos with a crio 9074, the servos are connected each to an akd drive. The commands for the drives stem from a text file and are in a gcode format and thus have to be interpreted.

 


At the moment I am finding it difficult to map out which task should run on what device (RTOS, FPGA).
By clearing some of the following questions, I hope to solve this problem.

1) Even though the move commands are many consecutive straight line moves which should result in a continues motion, I'm not sure how to implement that in softmotion. As far as I have understood the concept of a straight line move the drive will accelerate with given jerk, acceleration values (forming an S-curve ) until the max speed is reached ( if at all) and then decelerate to a halt reaching the set endpoint.
Q1) Would this result in a start stop kind of movement if I were to execute many line moves after one another?

Q2) Is there a way to circumvent the deceleration process and use the give limits of acc. and jerk to achieve continues movement by concatenating line moves? 

Q3) Is blend at deceleration what I'm looking for?
Q4) Does the Note at the end of the page refere to a comple direction change of one axis ( eg. move 1 in positive x direction and move 2 in negative x direction)

Alternativly I found contoured moves. But I'm not sure how these handle my constraints of max acc. , max jerk, max, speed. The page on contoured moves states:
"However, the NI Motion Assistant prototyping tool can remap a user-defined trajectory based on specified move constraints, preserving move characteristics and move geometry." 

But I'm not quite sure what is meant by that.  

 

0 Kudos
Message 1 of 6
(2,661 Views)

Hi schpongo,

 

What drives do you exactly use. Are the AKDs controlled over EtherCAT or analog via NI 9514 module? I asked that because in most cases you do not need the FPGA on the cRIO. For the AKD EtherCAT drives check out this Getting Started Manual. The same manual should be available for Analog Drives with NI 9514/16.

 

@Q1) If you run straight line moves one after the other you have acceleration and deceleration between the moves.

 

@Q2, @3) If you need a control of the velocity then I would either calculate the trajectory offline (e.g. Polyline Move) and run it as contour move or your use a coordinated move with blending. Please note that it is physical not possible to get a constant velocity for coordinated axis in every situation. Sometimes you need a change in direction of an axis or a sharp corner is physically also not possible because you have to decelerate one axis infinite and the other one you have to accelerate infinite.

 

Please check out these examples for blending:

 

…\National Instruments\LabVIEW 20xx\examples\motion\ExpressVIs\Blending Coordinate Arcs and Lines\Blending Coordinate Arcs and Lines.lvproj

…\National Instruments\LabVIEW 20xx\examples\motion\PropertyNodes\Coord Arc and Line Blending\Coord Arc and Line Blending.lvproj

 

Please note that you can run the examples without using hardware.

 

@Q4) As already mentioned at Q2 and Q3 a blending is physically in some cases not possible (changes direction or a corner with constant velocity). Blend at Profile Complete means that the first move segment come to a complete stop before starting the profile of the second segment.

 

Regards,

Wolfgang

0 Kudos
Message 2 of 6
(2,620 Views)

Thanks for the answer. 

I'm using Kollmorgen AKD-P00306 as my drives.

Indeed I've been wondering if there would be any benefit to controlling the drives from the FPGA. As far as I've understood the system, the drive would only be updated at the rate of the scan engine and thus I don't quite see any benefit to running the code on the FPGA.
Is my understanding flawed?

0 Kudos
Message 3 of 6
(2,589 Views)

The AKD-P00306 is available as EtherCAT and Anolog version. This was the reason why I asked how is the drive connected to the cRIO. You are right if you are using a EtherCAT drive. If you use a Analog drive it is possible to use FPGA layer between RT and the drive but it is not a must.

0 Kudos
Message 4 of 6
(2,586 Views)

I'm sorry I didn't specify that information. It is the EtherCAT version.

0 Kudos
Message 5 of 6
(2,584 Views)

I have one idea why it might be required to use the FPGA.
Is it possible, that I would benefit from running the system on FPGA because I would be able to preform all operations which are needed to "plan" the next step based on my coded information at FPGA speeds and then would always be able to give a new commands to the drives at the scan engine intervals?

0 Kudos
Message 6 of 6
(2,549 Views)