EtherCAT driver for a 6 axis robot

More
09 May 2022 11:35 - 09 May 2022 16:07 #242372 by ftree
Hi!I would like to develop a LinuxCNC driver for an EtherCAT 6 axis robot - the Meca500.

I have started the HAL side and have the 3D stl model articulating with switchkins.

Can you recommend a starting point to learn more about the interaction between LinuxCNC HAL and a LinuxCNC EtherCAT driver?  The EM7004 looks like a good example of multiple axis control but I am struggling to find how to map between the two.

github.com/sittner/linuxcnc-ethercat/tree/master/src

If you're curious you'll find the Meca500 EtherCAT documentation in section 4 of the programming manual along with the EtherCAT object dictionary.
cdn.mecademic.com/uploads/docs/meca500-r...mming-manual-8-4.pdf

There is also an Meca500 EtherCAT ESI xml file in the root of the firmware file
cdn.mecademic.com/uploads/docs/meca500-v8-4-5-2580-official.zip

Best regards,
David.
Last edit: 09 May 2022 16:07 by ftree.

Please Log in or Create an account to join the conversation.

More
09 May 2022 15:26 #242384 by TheRoslyak
Have you already connected your robot with linuxcnc? Or you want to make own app?

Please Log in or Create an account to join the conversation.

More
09 May 2022 16:01 - 09 May 2022 16:30 #242390 by ftree
I have got as far as simulating the Meca500 in LinuxCNC.

The next step is to correctly link the "LinuxCNC HAL" and "LinuxCNC EtherCAT driver" to the physical device.

Some serious learning to do!
Last edit: 09 May 2022 16:30 by ftree.

Please Log in or Create an account to join the conversation.

More
09 May 2022 16:53 #242393 by TheRoslyak
You mean that you connect 3d model to linuxcnc/ isn't it? If then is true - it's a waste of time.
Are you already install etharlab master and lcec ?

Please Log in or Create an account to join the conversation.

More
09 May 2022 18:59 #242402 by rodw
I had a quick look at the manual.
I would start by installing ethercat as per the sticky in this section.
Once the robot is seen with the ethercat slaves command, I would build a custom XML file that exposes the PDO registers that are listed.
These registers then become pins in hal. They will be named something like lcec.0.xxxx.
You will probably need to write a custom homing module which will require v2.9 master branch
ref: linuxcnc.org/docs/devel/html/man/man9/homecomp.9.html

It will then be up to you to map the required commands to those pins.

Good luck! IT would be pretty cool to see several robots all on the one ethercat bus!

Please Log in or Create an account to join the conversation.

More
09 May 2022 21:16 #242413 by db1981
hi,

as far as i can see, if i understand the robots manual correct....

the implemented ethercat interface is useless for linuxcnc.

Linuxcnc is an realtime motion controller, which needs independent full controll over all single joints.

The robots interface is designed to get external control of the robots inbuild motion / trajectory control. you are only able to send waypoints for all joints at once and add them to an motion que in the robots memory . with this data the robot will calculate its own accel/deccel and trajectory .
I could not find anything about realtime external control, all motion commands are interpreted by the robot himself and gives no direct control of the joints themselfes...

Please Log in or Create an account to join the conversation.

More
09 May 2022 22:54 - 09 May 2022 23:21 #242420 by TheRoslyak
Agree with db1981
Maybe it Is possible to somehow adapt linuxcnc for debugging. But there is the question of developing your own application
Attachments:
Last edit: 09 May 2022 23:21 by TheRoslyak.

Please Log in or Create an account to join the conversation.

More
10 May 2022 10:11 #242474 by ftree
"You mean that you connect 3d model to linuxcnc/ isn't it? If then is true - it's a waste of time.~"
Adding support for an existing industrial robot to LinuxCNC is not a waste of time. Not to me....

"But there is the question of developing your own application"
LinuxCNC is the application, no? A motion control application. I wish to control motion of a robot (& spindle).

Please Log in or Create an account to join the conversation.

More
10 May 2022 10:12 #242475 by ftree
Thanks rodw!

Perfect answer and some great starter tips! Thanks!
The following user(s) said Thank You: rodw

Please Log in or Create an account to join the conversation.

More
10 May 2022 10:21 #242477 by ftree
Hi db1981!

"I could not find anything about realtime external control, all motion commands are interpreted by the robot himself and gives no direct control of the joints themselfes.."

There are some significant improvements in the next firmware. I can't really say much more at this time. :-)

Please Log in or Create an account to join the conversation.

Time to create page: 0.140 seconds
Powered by Kunena Forum