Mitsubishi RV-6SDL Robot arm Servo/Encoder usability
- thefabricator03
- Offline
- Platinum Member
Less
More
- Posts: 1130
- Thank you received: 533
30 Dec 2020 12:23 - 30 Dec 2020 12:24 #193522
by thefabricator03
Replied by thefabricator03 on topic Mitsubishi RV-6SDL Robot
He created the attached for me a while ago that is something close to Gcode. But he did mention that it will need adjusting.
Last edit: 30 Dec 2020 12:24 by thefabricator03.
The following user(s) said Thank You: Aciera
Please Log in or Create an account to join the conversation.
30 Dec 2020 13:00 #193525
by Roiki
I dont see a reason not to use it. Linuxcnc really isn't a robot controller, it wasn't designed to be and to make it one would require a lot of competent C programmers to make it one. It's trying to ram a square peg into a round hole. I also don't see it as a linuxcnc or ROS questions since the two fundamentally do two different things. Linuxcnc is fundamentally a good realtime motion controller, while ros is by far the more superior path planning and kinematics framework. Making them work together is in my view the way forward. ROS is also seeing a significant amount of development, industry support and EU grant money so it's definitely going to be around and useful for a long time.
ROS currently doesn't have the realtime hardware interface required, this can be done on lcnc(barely), machinekit or many other ways.
The tormach robot arm is just machinekit+lcnc-ethetcat+ROS+fancy gui. Doing it that way is significantly easier than trying to build a new parser, path planner, inverse kinematics and interface in linuxcnc.
Replied by Roiki on topic Mitsubishi RV-6SDL Robot arm Servo/Encoder usability
Back on topic, do you guys see any reason to use ROS? I have been trying to get my head around what it does for a while but I cannot see what it achieves that LinuxCNC cannot.
They talk about obstacal avoidance and such. I guess thats useful if your not using a CAM program to program the robot. I also have been looking at the Scan-N-Plan feature. It would be great if the robot could scan the work piece and come up with its own movement paths. Dont know if that is possible yet or not or how well it works outside of a lab environment.
I dont see a reason not to use it. Linuxcnc really isn't a robot controller, it wasn't designed to be and to make it one would require a lot of competent C programmers to make it one. It's trying to ram a square peg into a round hole. I also don't see it as a linuxcnc or ROS questions since the two fundamentally do two different things. Linuxcnc is fundamentally a good realtime motion controller, while ros is by far the more superior path planning and kinematics framework. Making them work together is in my view the way forward. ROS is also seeing a significant amount of development, industry support and EU grant money so it's definitely going to be around and useful for a long time.
ROS currently doesn't have the realtime hardware interface required, this can be done on lcnc(barely), machinekit or many other ways.
The tormach robot arm is just machinekit+lcnc-ethetcat+ROS+fancy gui. Doing it that way is significantly easier than trying to build a new parser, path planner, inverse kinematics and interface in linuxcnc.
Please Log in or Create an account to join the conversation.
30 Dec 2020 13:19 - 30 Dec 2020 13:19 #193529
by Roiki
Have a look at the pilz robot programming api I linked earlier. It has a path planner and commands to do linear and circular motions and use outside reference frames, standard commands you find in all industrial robots. It also sequences with blend radius.
The current problem with lcnc is that there's not programmatic way to access it's motion planner outside of using Gcode. Which doesn't work either since standard gcode isn't compatible wirh robotics and would need significant alterations. You would also need an inverse kinematics module that does singularity avoidance and pose selection, not a small task. Welding is especially tricky since it requires constant surface speed, which is tricky to do. This is usually don't wirh either CIRC commands or multiple small linear segments. All of these depend on a good IK solver. All of these are solved in ROS, while lcnc can act as the realtime portion of the system.
It's not an insignificant task, which is why there's not a lot of people attempting it.
Replied by Roiki on topic Mitsubishi RV-6SDL Robot arm Servo/Encoder usability
@Roiki
Thanks for the info. I played a bit with ROS interfacing to my other robot. Point-To-Point operation worked fine. However I wonder how one would implement something that needs more control over the motion path like welding a pipe joint. Also in order to incorporate LCNC's motion planner I would imagine one had to use it's GCode? Does ROS have a realtime component?
Have a look at the pilz robot programming api I linked earlier. It has a path planner and commands to do linear and circular motions and use outside reference frames, standard commands you find in all industrial robots. It also sequences with blend radius.
The current problem with lcnc is that there's not programmatic way to access it's motion planner outside of using Gcode. Which doesn't work either since standard gcode isn't compatible wirh robotics and would need significant alterations. You would also need an inverse kinematics module that does singularity avoidance and pose selection, not a small task. Welding is especially tricky since it requires constant surface speed, which is tricky to do. This is usually don't wirh either CIRC commands or multiple small linear segments. All of these depend on a good IK solver. All of these are solved in ROS, while lcnc can act as the realtime portion of the system.
It's not an insignificant task, which is why there's not a lot of people attempting it.
Last edit: 30 Dec 2020 13:19 by Roiki.
Please Log in or Create an account to join the conversation.
- thefabricator03
- Offline
- Platinum Member
Less
More
- Posts: 1130
- Thank you received: 533
30 Dec 2020 13:19 #193530
by thefabricator03
Replied by thefabricator03 on topic Mitsubishi RV-6SDL Robot arm Servo/Encoder usability
Roiki, I think your are correct. I have done some more research into ROS today and think it might be the way forward like Tormach are doing it but it will still need the ability to run CAM programs from programs like RoboDK.
I would like to see ROS integrated into LinuxCNC and not just Machinekit.
What makes Machinekit a better base than LinuxCNC for ROS integration?
Also all the work had already been done for Tormach and I think the only new thing they have done is paid to have the new GUI written. I think thats why in the video he was unsure about releasing that part on github. All the other software is already on there.
I would like to see ROS integrated into LinuxCNC and not just Machinekit.
What makes Machinekit a better base than LinuxCNC for ROS integration?
Also all the work had already been done for Tormach and I think the only new thing they have done is paid to have the new GUI written. I think thats why in the video he was unsure about releasing that part on github. All the other software is already on there.
Please Log in or Create an account to join the conversation.
30 Dec 2020 13:28 #193532
by rodw
Replied by rodw on topic Mitsubishi RV-6SDL Robot arm Servo/Encoder usability
Also Tormach mentioned the AR3 robot which is cool.
www.anninrobotics.com/
www.anninrobotics.com/
Please Log in or Create an account to join the conversation.
30 Dec 2020 13:30 - 30 Dec 2020 13:30 #193533
by Roiki
Robodk programs can be run on a robot as long as a robot has a compatible parser. Which is what ive intended to do. I have the edu version of robodk which I've worked with for a while now. It has a really easy way to write post processors, your parser just needs to support the subset of commands that robodk uses.
The original reason for machinekit fork was a disagreement between linuxcnc maintainers and one guy about making lcnc more modular and open. Lcnc maintainers have long resisted this and wanted to maintain their C lair and monolithic application. They're like the grumpy old uncle that refuses to get on with the times. .
Machinekit on the other hand has been all but abandoned by the guys who forked it and the few people who remain refuse to document their work. A bit like lcnc. Machinekit has been integrated with ROS, although the ring buffer feature it uses is completely undocumented, abandoned by its maker(like their website) and getting support is almost impossible. Am I getting it across that I'm a bit frustrated at this?
And yes, tormach is a leech company who only takes open source software others have done and then packages it yo with visual basic-like UI. The least they could do is contribute something back.
Replied by Roiki on topic Mitsubishi RV-6SDL Robot arm Servo/Encoder usability
Roiki, I think your are correct. I have done some more research into ROS today and think it might be the way forward like Tormach are doing it but it will still need the ability to run CAM programs from programs like RoboDK.
I would like to see ROS integrated into LinuxCNC and not just Machinekit.
What makes Machinekit a better base than LinuxCNC for ROS integration?
Also all the work had already been done for Tormach and I think the only new thing they have done is paid to have the new GUI written. I think thats why in the video he was unsure about releasing that part on github. All the other software is already on there.
Robodk programs can be run on a robot as long as a robot has a compatible parser. Which is what ive intended to do. I have the edu version of robodk which I've worked with for a while now. It has a really easy way to write post processors, your parser just needs to support the subset of commands that robodk uses.
The original reason for machinekit fork was a disagreement between linuxcnc maintainers and one guy about making lcnc more modular and open. Lcnc maintainers have long resisted this and wanted to maintain their C lair and monolithic application. They're like the grumpy old uncle that refuses to get on with the times. .
Machinekit on the other hand has been all but abandoned by the guys who forked it and the few people who remain refuse to document their work. A bit like lcnc. Machinekit has been integrated with ROS, although the ring buffer feature it uses is completely undocumented, abandoned by its maker(like their website) and getting support is almost impossible. Am I getting it across that I'm a bit frustrated at this?
And yes, tormach is a leech company who only takes open source software others have done and then packages it yo with visual basic-like UI. The least they could do is contribute something back.
Last edit: 30 Dec 2020 13:30 by Roiki.
Please Log in or Create an account to join the conversation.
- thefabricator03
- Offline
- Platinum Member
Less
More
- Posts: 1130
- Thank you received: 533
30 Dec 2020 13:30 #193534
by thefabricator03
Replied by thefabricator03 on topic Mitsubishi RV-6SDL Robot arm Servo/Encoder usability
It will be interesting to see how Tormach and Chris Annin go with getting his stepper driven robot working with the new software.
The following user(s) said Thank You: rodw
Please Log in or Create an account to join the conversation.
- thefabricator03
- Offline
- Platinum Member
Less
More
- Posts: 1130
- Thank you received: 533
30 Dec 2020 13:37 #193535
by thefabricator03
Replied by thefabricator03 on topic Mitsubishi RV-6SDL Robot arm Servo/Encoder usability
The points you mentioned about Machinekit is something that I had stumbled onto myself. I have been looking at it and noticed that it does not seem very well maintained and the documentation is sparse compared to the wealth of info on the LinuxCNC website.
When I get some more time I will look into what is involved in getting LinuxCNC linked to ROS for low level control and I might see what its going to cost for me to hire someone to write the code.
When I get some more time I will look into what is involved in getting LinuxCNC linked to ROS for low level control and I might see what its going to cost for me to hire someone to write the code.
Please Log in or Create an account to join the conversation.
30 Dec 2020 13:38 #193536
by rodw
I'm not sure I agree with that. They did contribute enhancements to the trajectory planner and their state tags branch finally made it to the core code in V 2.9 after being left out in the cold for over 5 years. I think thats why in the video they say they will contribute back what is accepted by the development teams of linuxcnc and machine kit.
I think Machinekit has separated out the GUI and other parts into a more modular design which might help Tormach work with multiple machines. eg a robot tending to a milling machine... where the machines work together.
Replied by rodw on topic Mitsubishi RV-6SDL Robot arm Servo/Encoder usability
And yes, tormach is a leech company who only takes open source software others have done and then packages it yo with visual basic-like UI. The least they could do is contribute something back.
I'm not sure I agree with that. They did contribute enhancements to the trajectory planner and their state tags branch finally made it to the core code in V 2.9 after being left out in the cold for over 5 years. I think thats why in the video they say they will contribute back what is accepted by the development teams of linuxcnc and machine kit.
I think Machinekit has separated out the GUI and other parts into a more modular design which might help Tormach work with multiple machines. eg a robot tending to a milling machine... where the machines work together.
Please Log in or Create an account to join the conversation.
30 Dec 2020 13:38 #193537
by Roiki
Replied by Roiki on topic Mitsubishi RV-6SDL Robot arm Servo/Encoder usability
The software is actually quite simple. It's all in python and then motor moves are sent over a serial connection to an arduino. I'm surprised though that he partnered with tormach to make his robot more widely accessible. It's interesting to see where it goes, I just hope his robot stays open source.
Please Log in or Create an account to join the conversation.
Time to create page: 0.375 seconds