EtherCAT driver for a 6 axis robot
09 May 2022 11:35 - 09 May 2022 16:07 #242372
by ftree
EtherCAT driver for a 6 axis robot was created 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.
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.
- TheRoslyak
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
09 May 2022 15:26 #242384
by TheRoslyak
Replied by TheRoslyak on topic EtherCAT driver for a 6 axis robot
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.
09 May 2022 16:01 - 09 May 2022 16:30 #242390
by ftree
Replied by ftree on topic EtherCAT driver for a 6 axis robot
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!
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.
- TheRoslyak
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
09 May 2022 16:53 #242393
by TheRoslyak
Replied by TheRoslyak on topic EtherCAT driver for a 6 axis robot
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 ?
Are you already install etharlab master and lcec ?
Please Log in or Create an account to join the conversation.
09 May 2022 18:59 #242402
by rodw
Replied by rodw on topic EtherCAT driver for a 6 axis robot
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!
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.
09 May 2022 21:16 #242413
by db1981
Replied by db1981 on topic EtherCAT driver for a 6 axis robot
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...
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.
- TheRoslyak
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
09 May 2022 22:54 - 09 May 2022 23:21 #242420
by TheRoslyak
Replied by TheRoslyak on topic EtherCAT driver for a 6 axis robot
Agree with db1981
Maybe it Is possible to somehow adapt linuxcnc for debugging. But there is the question of developing your own application
Maybe it Is possible to somehow adapt linuxcnc for debugging. But there is the question of developing your own application
Last edit: 09 May 2022 23:21 by TheRoslyak.
Please Log in or Create an account to join the conversation.
10 May 2022 10:11 #242474
by ftree
Replied by ftree on topic EtherCAT driver for a 6 axis robot
"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).
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.
10 May 2022 10:12 #242475
by ftree
Replied by ftree on topic EtherCAT driver for a 6 axis robot
Thanks rodw!
Perfect answer and some great starter tips! Thanks!
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.
10 May 2022 10:21 #242477
by ftree
Replied by ftree on topic EtherCAT driver for a 6 axis robot
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.
"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.085 seconds