10-21-2005 04:58 AM
10-21-2005 09:39 AM
07-13-2012 05:34 PM
Would you know of any .vi examples of how to control a Steward platform? I'm planning to use two PCI-7344 cards and a RTSI cable. I was thinking of using 6 contour moves to move the Steward platform along a predefined 6DOF trajectory. Did you have to worry about axis syncronization and motor binding?
07-16-2012 09:44 AM
using contouring should be the right approach, but you don't need to run 6 contour moves in parallel. Instead you should configure two vector spaces with 3 axes each, so you will only have to run 2 contour moves, which is desireable in terms of onboard CPU usage and programming architecture.
Instead of using two PCI-7344 you better should use a single PCI-7356 because synchronizing two 73xx motion control boards via RTSI doesn't work very well. In fact there is no good way to start axes simultaneously on both boards and there is also no way to synchronize the hardware clocks on the boards, so there will be also an issue with timing drift.
Running all axes on a single board is strongly recommended for quality results. Unfortunately I don't have a good example, that I could share.
07-16-2012 10:31 AM
Thanks Jochen. You saved me some money as I was planning to purchase a second PCI-7344 and a RTSI cable. I'll probably purchase the PCI-7358 and run it to my two MID-7604s.
I'll try your two 3D vector space contour move approach. It is too bad that labview does not provide a sub vi that allows contour moves with more than 3 axis.... My worry is that the two 3 axis contour moves may not sync properly...
Would you know if it is possible to do the following? I plan to first perform a contour move based on an input file (will contain two xyz contour trajectories for each of the Steward platform's 6 motors). As the contour move is taking place, I will monitor the Steward platform motion using my real-time 6DOF optical camera (this is already setup and working with labview). Finally, what I would like to do, is use the real-time optically monitored 6DOF hexapod motion, calculate it's inverse, and the add it to the outgoing contour motion in real-time for motion cancellation purposes. I know it sounds weird, but I am just wondering if it is possible to superimpose new motion on to a running contour move?
07-17-2012 04:58 AM
With a 7350 device there shouldn't be a reason to worry about synching the two 3 axes vector spaces. In order to start the contouring moves simultaneously you should configure Start Motion like in the screenshot below (start two vector space operations at the same time)
In contouring mode you can add position points to the contouring buffer while the move is running, but you can't modify the data, that was already uploaded to the contouring buffer. Most of the contouring examples demonstrate this feature.
So for your use case you could calculate small junks of new contouring data at runtime and upload them to the board, but this will not work with extremly small junks of data, so there will be some delay not lower than 100 ms between getting the camera feedback and updating the contouring buffer.
It depends on the amount of latency that is allowed in your application if this approach works for you or not. If your realtime requirements for your closed loop operations are extremely high, we can discuss alternative solutions, but these will probably require a completely different hard- and software setup.