Sign in to follow this  
Followers 0
Krr

Collision avoidance between 2 servos

4 posts in this topic

Hello everyone!

I have a project on PLC NX1P2 with 6x1S servo motors moving independently but 2 of them are moving against each other, and they can collide if no collision avoidance implemented. 

So far i calculate the movement before even move but the problem appear when they move manually (MC_MoveJog). Then i have no way to pre-calculate the movement .

Monitoring the Actual Position is not enough because slow reading from the PLC and the fast movement of the Axeses (it stops but there are about 4mm extra movement depending on the speed, and this could be fatal). I spent few hours on Google but couldn't find any solution. My question: is it possible to make collision avoidance with NX1P2 without buying a safety controller.

Any help will be appreciated.

Edited by Krr

Share this post


Link to post
Share on other sites

That is a tough one.  Do they need to be closer than 4mm (or perhaps it is 8mm if you need to account for 4mm for each axis) when jogging?  If not, just monitor the commanded position (as opposed to actual position) and don't if the difference between the two is ever less than 4mm (or 8mm) then stop them.  

Share this post


Link to post
Share on other sites
4 hours ago, Michael Walsh said:

That is a tough one.  Do they need to be closer than 4mm (or perhaps it is 8mm if you need to account for 4mm for each axis) when jogging?  If not, just monitor the commanded position (as opposed to actual position) and don't if the difference between the two is ever less than 4mm (or 8mm) then stop them.  

Can you only allow one axis to be jogged at any time? If the other axis is always stationary then you can use the actual position to limit how far the moving axis can get to the stationary axis? Also I would think that you can and must limit the jog speed that is allowed and make it really slow when it gets close to the stationary axis?

Share this post


Link to post
Share on other sites
On 9/19/2022 at 5:22 PM, kckku said:

Can you only allow one axis to be jogged at any time? If the other axis is always stationary then you can use the actual position to limit how far the moving axis can get to the stationary axis? Also I would think that you can and must limit the jog speed that is allowed and make it really slow when it gets close to the stationary axis?

Yes - this is exactly what i have done, but i was expecting batter solution. Right now i monitoring the distance, and when the servos get closer then 20mm from the target min distance, i reduce the jog speed and let it continue until the trigger distance - this way works so far very well.

Someone(not very reliable source) told me that he achieved the goal using CamTables....I couldn't find way to do it this way(Actually I do not thing it is possible with CamTables). Will be very elegant way-> when the 2 servos reach the min distance the second start moving to the same direction of the first one using CamProfile avoiding the slow PLC interference....

1 person likes this

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0