- Posts: 114
- Thank you received: 0
EtherCAT driver for a 6 axis robot
4 years 3 months ago #247956
by ftree
Replied by ftree on topic EtherCAT driver for a 6 axis robot
Nottingham, UK.
Please Log in to join the conversation.
4 years 3 months ago #247997
by ftree
Replied by ftree on topic EtherCAT driver for a 6 axis robot
In the meantime I've tidied the folder and now attempting to get the vismach starting, at least. I have two versions of DH/DH(modified) to try for the kins. Working on the best way to orientate and save the obj links too and set up correct WRF/HOME placement.
github.com/djsftree/linuxcnc-ethercat/tree/master/wip-meca500
github.com/djsftree/linuxcnc-ethercat/tree/master/wip-meca500
Please Log in to join the conversation.
4 years 3 months ago #248021
by andypugh
Replied by andypugh on topic EtherCAT driver for a 6 axis robot
To do a timed sequence in a HAL component, you use a state machine.
Code:
{normal .comp headers, as you have}
pin out signed state;
pin out float timer;
...
FUNCTION(_){
...
switch (state){
case 0: // waiting
if (! enable) return;
output_1 = 1;
timer = 1000;
state = 1;
break;
case 1:
timer -= fperiod;
if (timer > 0) return;
output_2 = 1;
timer = 1500;
state = 2;
break;
case 2:
timer -= fperiod;
if (timer > 0) return;
output_3 = 1;
timer = 500;
state = 3;
. break;
case 3:
...
Please Log in to join the conversation.
4 years 3 months ago #248028
by ftree
Replied by ftree on topic EtherCAT driver for a 6 axis robot
Thanks Andy. This is very much out of comfort zone. If anyone can help on a contract basis for the underlying code work please do let me know.
I have managed to assemble the obj models within vismach. I'm now figuring out the correct XYZ orientation to export obj files out as as well as the correct translations.
github.com/djsftree/linuxcnc-ethercat/bl...eca500/meca500gui.py
I have managed to assemble the obj models within vismach. I'm now figuring out the correct XYZ orientation to export obj files out as as well as the correct translations.
github.com/djsftree/linuxcnc-ethercat/bl...eca500/meca500gui.py
Please Log in to join the conversation.
4 years 3 months ago #248049
by ftree
Replied by ftree on topic EtherCAT driver for a 6 axis robot
Made some good progress today starting the application with vismach. I may not have the rotates and translates right yet but close.
github.com/djsftree/linuxcnc-ethercat/tree/master/wip-meca500
github.com/djsftree/linuxcnc-ethercat/tree/master/wip-meca500
Please Log in to join the conversation.
4 years 3 months ago #248247
by ftree
Replied by ftree on topic EtherCAT driver for a 6 axis robot
I've split the project into two repositories now
Meca500 LinuxCNC EtherCAT HAL Driver
github.com/djsftree/linuxcnc-ethercat
Meca500 LinuxCNC (currently using generic EtherCAT driver xml)
github.com/djsftree/linuxcnc_meca500
Meca500 LinuxCNC EtherCAT HAL Driver
github.com/djsftree/linuxcnc-ethercat
Meca500 LinuxCNC (currently using generic EtherCAT driver xml)
github.com/djsftree/linuxcnc_meca500
Please Log in to join the conversation.
4 years 3 months ago #248341
by ftree
Replied by ftree on topic EtherCAT driver for a 6 axis robot
Hi @db1981. Are you available to assist? Are you on the Discord server?
Please Log in to join the conversation.
4 years 3 months ago #248431
by db1981
Replied by db1981 on topic EtherCAT driver for a 6 axis robot
hi,
i am very out of time at the moment.
I'm involved in two bigger projects, which have to produce asap.
But now we do redesign/recoding on the construction site, caused by parts availibility.
Maybe i will get a few hours the next week....
i am very out of time at the moment.
I'm involved in two bigger projects, which have to produce asap.
But now we do redesign/recoding on the construction site, caused by parts availibility.
Maybe i will get a few hours the next week....
Please Log in to join the conversation.
4 years 3 months ago #248624
by ftree
Replied by ftree on topic EtherCAT driver for a 6 axis robot
Thanks! if you have the time it would be greatly appreciated.
To recap. I’m working on an internal project involving the Mecademic Meca500 6 axis robot
www.mecademic.com/en/meca500-robot-arm
Here’s some useful links so far
Cyclic data that can be sent to the robot
cdn.mecademic.com/uploads/docs/meca500-r...4.pdf#subsection.3.4
Cyclic data received from the robot
cdn.mecademic.com/uploads/docs/meca500-r...4.pdf#subsection.3.5
Communicating over ethercat
cdn.mecademic.com/uploads/docs/meca500-r...al-8-4.pdf#section.4
ethercat XML file
github.com/djsftree/linuxcnc_meca500/blo...meca500-ethercat.xml
custom homing comp skeleton
github.com/djsftree/linuxcnc_meca500/blo.../meca500_homing.comp
I would welcome a review of the initial skeleton code and any suggestions to the potential homing architecture for this particular robot.
The robot has its own internal mechanism for homing once the robot is activated.
-- set
ctrl.activate 1
ctrl.deactivate 0
-- wait for
status.activated 1
status.busy 0
-- set
ctrl.home 1
j0, j1, j2 rotate 3.6deg
j3, j4 rotate 7.2deg
j5 rotates 12deg
above joints rotate back the same amout
this procedures takes 3 seconds to complete
joint position during homing is available on ethercat encoder.a1 thru a6
-- wait for
status.homed 1
status.busy 0
-- homed and ready to accept motion commands
Best regards,
David
To recap. I’m working on an internal project involving the Mecademic Meca500 6 axis robot
www.mecademic.com/en/meca500-robot-arm
Here’s some useful links so far
Cyclic data that can be sent to the robot
cdn.mecademic.com/uploads/docs/meca500-r...4.pdf#subsection.3.4
Cyclic data received from the robot
cdn.mecademic.com/uploads/docs/meca500-r...4.pdf#subsection.3.5
Communicating over ethercat
cdn.mecademic.com/uploads/docs/meca500-r...al-8-4.pdf#section.4
ethercat XML file
github.com/djsftree/linuxcnc_meca500/blo...meca500-ethercat.xml
custom homing comp skeleton
github.com/djsftree/linuxcnc_meca500/blo.../meca500_homing.comp
I would welcome a review of the initial skeleton code and any suggestions to the potential homing architecture for this particular robot.
The robot has its own internal mechanism for homing once the robot is activated.
-- set
ctrl.activate 1
ctrl.deactivate 0
-- wait for
status.activated 1
status.busy 0
-- set
ctrl.home 1
j0, j1, j2 rotate 3.6deg
j3, j4 rotate 7.2deg
j5 rotates 12deg
above joints rotate back the same amout
this procedures takes 3 seconds to complete
joint position during homing is available on ethercat encoder.a1 thru a6
-- wait for
status.homed 1
status.busy 0
-- homed and ready to accept motion commands
Best regards,
David
Please Log in to join the conversation.
Time to create page: 0.557 seconds
