RMP 10.5.5
Is there a way to perform multi axis homing. for example in my case two motors performing homing simultaneously ? I am using the example code for DS402 drive homing method.
Thanks
RMP 10.5.5
Is there a way to perform multi axis homing. for example in my case two motors performing homing simultaneously ? I am using the example code for DS402 drive homing method.
Thanks
Hi @rdhillon,
Yes.
When using Drive based homing, each axis is independent of the other so the homing can be done simultaneously. If you are looking for coordinated homing, you are going want to create your own homing routine that does exactly what you are looking for rather than use the in drive version. The DS402 standard homing methods don’t have any concept of other axes.
Note: some multi-axis nodes can do coordinated homing as well. This is also custom as defined by the drive rather than the DS402 standard homing methods.
If you already have single-axis homing working, you can achieve simultaneous homing on multiple axes by utilizing multi-threading. Essentially, you would create a thread for each axis and run the homing function in parallel across multiple threads.
However, there are a few things to be mindful of when implementing multi-threading:
Thread Synchronization: Ensure proper synchronization if you need certain conditions met before starting or stopping homing. For example, some axes may need to wait for others to reach a specific state.
Collision Avoidance: Be cautious about mechanical constraints or possible collisions between axes, especially if their homing motions overlap.
Exception Handling: Make sure exceptions or errors in one thread don’t cause the entire homing sequence to fail. Each axis should ideally handle its own errors and either retry or notify the main thread.
Are these axes mechanically linked (e.g. moving opposite sides of a gantry)?
Thank you. It makes sense, now that you have said it. It just needs to be setup to be on homing mode and each drive will home the connected motor. Appreciate it.
I was thinking the multithreading is handled by RapidCode API in the same manner as multiaxis Motion is executed. But I think I may be able to get away with just drive based homing alone.
They are somewhat linked. They resemble a 2 DOF Robot arm. Travel distance, +ve and -ve hardware limits for Axis 2 is dependent on the position of the Axis 1. Both motors shares a common axis about which 2 arms are connected and motors are mounted on the base.