[Robot] Status of WB and Edge2Trac orientation
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
[Robot] Status of WB and Edge2Trac orientation
Hi,
my name is Maxim and I was using FC for a couple of months now.
My main field is programming in automation mainly robots and PLCs, but due to unexpected circumstances I had to start to also design our robot cells. I started with SolidWorks but... well, Richard Stallman got me. Unfortunately it's not easy finding free (as in freedom, not beer) software especially for robots and PLCs but at least for CAD design I found this great free alternative which I'm really thankful for.
Another proprietary app that I use right now is RoboDK for robot offline programming. It's a great tool with a similar philosophy (well as far as you can compare closed to open source) as FC for openness in terms of a scripting API. Compared to the Robot WB it's miles ahead but as mentioned earlier I am interested in a free solution first.
So I'd like to know what the status of the Robot WB is. It looks like there hasn't been major development for quite some time now. Is it planned to keep the WB around? Because I have some ideas I'd like to implement. My idea is making some improvements to some of the available tools first and to start using C++/Python again (it has been a while) and open source development in general. I have a mathematical background (it has also been a while) of kinematics specifically serial kinematics though the KDL library probably has all kinds of math implemented already.
To start with I'd like to implement automatic orientation of Edge2Trac objects by calculating the normal vector of edges in Z direction followed by calculating the normal vector by investigating the shapes/faces contigous to the edge. Is someone working on it already? Is it maybe already implemented and I did not find it?
my name is Maxim and I was using FC for a couple of months now.
My main field is programming in automation mainly robots and PLCs, but due to unexpected circumstances I had to start to also design our robot cells. I started with SolidWorks but... well, Richard Stallman got me. Unfortunately it's not easy finding free (as in freedom, not beer) software especially for robots and PLCs but at least for CAD design I found this great free alternative which I'm really thankful for.
Another proprietary app that I use right now is RoboDK for robot offline programming. It's a great tool with a similar philosophy (well as far as you can compare closed to open source) as FC for openness in terms of a scripting API. Compared to the Robot WB it's miles ahead but as mentioned earlier I am interested in a free solution first.
So I'd like to know what the status of the Robot WB is. It looks like there hasn't been major development for quite some time now. Is it planned to keep the WB around? Because I have some ideas I'd like to implement. My idea is making some improvements to some of the available tools first and to start using C++/Python again (it has been a while) and open source development in general. I have a mathematical background (it has also been a while) of kinematics specifically serial kinematics though the KDL library probably has all kinds of math implemented already.
To start with I'd like to implement automatic orientation of Edge2Trac objects by calculating the normal vector of edges in Z direction followed by calculating the normal vector by investigating the shapes/faces contigous to the edge. Is someone working on it already? Is it maybe already implemented and I did not find it?
- wandererfan
- Veteran
- Posts: 6268
- Joined: Tue Nov 06, 2012 5:42 pm
- Contact:
Re: [Robot] Status of WB and Edge2Trac orientation
There was some talk about moving the Robot WB out of the core system and making it an add-on workbench, but I don't think anything became of it. AFAIK, there are no plans to remove Robot.
If you want to work on Robot, by all means go ahead. Post your plan in "Open Discussion" to get feedback from interested parties, then make your changes and submit PR(s).
If you get stuck somewhere in the development process, just post to this forum or "Python Scripting" and some one will help you.
wf
Re: [Robot] Status of WB and Edge2Trac orientation
the most likely reason for Robot WB to be removed is if it bit-rots into dysfunction and if no one works on it. It would be great if you want to work on it.
Robot WB was created before Path WB existed, I wonder how much of Path could be relevant to a robot? Surely there would be some use in using a Path in programming a robot? I don't know much about the subject. Are, or can, some or all robots be controlled with g-code or similar?
Robot WB was created before Path WB existed, I wonder how much of Path could be relevant to a robot? Surely there would be some use in using a Path in programming a robot? I don't know much about the subject. Are, or can, some or all robots be controlled with g-code or similar?
Re: [Robot] Status of WB and Edge2Trac orientation
Interesting related links:
https://forum.freecadweb.org/viewtopic.php?f=10&t=22081 - Robot Workbench development
https://forum.freecadweb.org/viewtopic.php?f=10&t=15442 - URDF Workbench, robotics
https://forum.freecadweb.org/viewtopic.php?f=24&t=26404 - Annotations for robotics workbench (ARBench)
https://forum.freecadweb.org/viewtopic.php?f=10&t=22081 - Robot Workbench development
https://forum.freecadweb.org/viewtopic.php?f=10&t=15442 - URDF Workbench, robotics
https://forum.freecadweb.org/viewtopic.php?f=24&t=26404 - Annotations for robotics workbench (ARBench)
fosselius wrote:ping
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Re: [Robot] Status of WB and Edge2Trac orientation
Alright, I will do that.wandererfan wrote: ↑Tue Jul 23, 2019 11:11 am Post your plan in "Open Discussion" to get feedback from interested parties, then make your changes and submit PR(s).
Absolutely. Robots have a wider application range than CNC machines, but machining is one of them. It would be awesome to combine both WBs to simulate the milling (and someday maybe 3D printing) process with a robot. Unfortunately robots come with a cost for their flexibilities. There are some constraints like singularities that must be avoided while milling but it would be the job of the Robot WB to bypass those and find the best configuration. Thats one of the reasons that robots have their own languages but it should be possible already to translate the path output to robots by using a respective post processor.
Re: [Robot] Status of WB and Edge2Trac orientation
As for the URDF workbench, currently its rather a SDF workbench, and I currently use pybullet rather than gazebo. but development progress is slow and sporadic. but hopefully will speed up a bit now that i am actually working on a robot project.
- sliptonic
- Veteran
- Posts: 3457
- Joined: Tue Oct 25, 2011 10:46 pm
- Location: Columbia, Missouri
- Contact:
Re: [Robot] Status of WB and Edge2Trac orientation
Ascaron, Have you poked around on the robot WB lately? It's something that I'd like to see get more love. Let's chat about what's possible.ascaron wrote: ↑Tue Jul 23, 2019 3:31 pmAlright, I will do that.wandererfan wrote: ↑Tue Jul 23, 2019 11:11 am Post your plan in "Open Discussion" to get feedback from interested parties, then make your changes and submit PR(s).
Re: [Robot] Status of WB and Edge2Trac orientation
Hi sliptonic,
I barely did. After reading some C++ and Python books and some digging into the code work got crazy. I will start a new job in March and hope to find some time then.
Nevertheless I still burn to start working on it. I would like to use it at work. My main areas of interest there are path creations along edges of parts for machining as well as reachability checks, so my focus would be creating a new and simple way to import new robots, easily attaching tools and TCPs and a simple creation of base frames.
I haven't looked into Zolkos Assembly4 WB code yet, but the use of LCS would be perfect for that. Thats also what other robot simulation programs do that I know of. So maybe it would be best to create a new Robot WB around Assembly4 but I didn't put much thought into this.
What are your ideas?
- sliptonic
- Veteran
- Posts: 3457
- Joined: Tue Oct 25, 2011 10:46 pm
- Location: Columbia, Missouri
- Contact:
Re: [Robot] Status of WB and Edge2Trac orientation
Path workbench has you covered for tool path generation. It can work on edges, faces, and whole solids. Not perfect but improving. Those boil down to gcode and not true robot trajectories.
My dream is that robot could be part of more sophisticated simulation capability and the basis for working with machining centers with perhaps a robot for loading pallets into a cnc mill.
The first thing I'd like to see is a regular Cartesian robot like a 3axis cnc in robot workbench. It would be cool if a user could model their own cnc mill/router and then convert gcode to a trajectory and move the machine.
A future goal might be to link the virtual and real machines for control and feedback.
Mlampert has already done some work to build a workbench to directly control a machinekit cnc from freecad. It's pretty cool.
My dream is that robot could be part of more sophisticated simulation capability and the basis for working with machining centers with perhaps a robot for loading pallets into a cnc mill.
The first thing I'd like to see is a regular Cartesian robot like a 3axis cnc in robot workbench. It would be cool if a user could model their own cnc mill/router and then convert gcode to a trajectory and move the machine.
A future goal might be to link the virtual and real machines for control and feedback.
Mlampert has already done some work to build a workbench to directly control a machinekit cnc from freecad. It's pretty cool.
Re: [Robot] Status of WB and Edge2Trac orientation
Hi,
I'm a robot programmer (I know Robcad and Process Simulate) and in my opinion it is possible to implement some solutions from them in current robot WB.
https://www.youtube.com/watch?v=yYItVIBwwd8
However, I think that Robot WB should based on assembly/kinematics workbenches (this is how it works in commercial solutions + controllers) - not special wb for creating robots but standard WB. Without them (as a "final products") not everything will be possible.
Current state of workbench is ok, but be realistic it is not possible to make something reasonable in robot WB (I'm still talking about amateur use).
"So maybe it would be best to create a new Robot WB around Assembly4 but I didn't put much thought into this"
This is some solution.
I'm a robot programmer (I know Robcad and Process Simulate) and in my opinion it is possible to implement some solutions from them in current robot WB.
https://www.youtube.com/watch?v=yYItVIBwwd8
However, I think that Robot WB should based on assembly/kinematics workbenches (this is how it works in commercial solutions + controllers) - not special wb for creating robots but standard WB. Without them (as a "final products") not everything will be possible.
Current state of workbench is ok, but be realistic it is not possible to make something reasonable in robot WB (I'm still talking about amateur use).
"So maybe it would be best to create a new Robot WB around Assembly4 but I didn't put much thought into this"
This is some solution.