You should indeed use the "==" as it's written in Python.
Jeremy
You should indeed use the "==" as it's written in Python.
Jeremy
Hi Koppel,
As mention, this feature is not official.
We are just giving you access to a piece of development we did some times ago and never became a full blown feature for 1 main reasons, we support about 30 different brands, if we do it for one... we need to do it for at lease 10-12 brands... That's a big can of worms for us.
End that's not considering the different "flavor" of code each brand has. Example: .src, .src + .dat, .src + .csv
If you really need this, developing just one specific solution for your specific needs is not such a huge thing and if you have a bit of a coding background, you should be able to pull it of. In the end, you just need to "read" the .src and .dat file and extract the information.
Using Python you can easily crawl through your .dat file, fine a point, retrieve Name, Position, Joints and use something like:
There's already a small example of that in the local library you installed with RoboDK.
C:/RoboDK/Library/Script -> Import_KUKA_SRC_Program
You can find more info regarding our API here: API Documentation
Jeremy
Hi Cguenther,
As you posted the same question on our forum, I will give you a more in depth answer there.
But quickly, yes it's possible to have a RoboDK educational license for a Highschool.
Jeremy
Sorry guys that I missed this one.
I was on holidays.
Anyway, I don't have much to add.
Let me know if it worked as expected.
Jeremy
Hi Guys,
Sorry I miss this one, I was out of the office for some holidays.
RoboDK can import multiple flavor of NC code.
Extensions like .apt, .tap, .nci, .nc, and many more are accepted.
You can take a look at our documentation on robot machining here:
https://robodk.com/doc/en/Robot-Machining.html#RobotCNC
We generally recommend using a generic .apt post-processor form the CAM software as RoboDK doesn't need any machine specific commands.
Have a great day.
Jeremy
I would like to add on topic the topic of the Fusion Post-Processor.
I do agree that the code looks just fine.
But there's a lot more to offline programming then just translating a Gcode to the robot code.
A good OLP (offline programming software) will help you avoid common robotic issues like singularities, joint limits and reach limits.
My guess would be that the method proposed by Fusion 360 works for simple projects, but you would need a more advanced tool later down the road.
Jeremy
HawkME Thanks for the confirmation.
And just to clarify, I was not suggesting that a laser tracker system was the solution for this process, just that precision is such an issue that, for us, it was worth developing a solution for it.
But so that you know, the laser tracker is only needed for the calibration process, therefore we have partners that can come on site with their laser tracker for a few thousands dollars. It can generally be done in a day or less (smaller the robot, faster the process). You end up with a calibrated model of the robot (kinematic including flex under payload. * Not under applied force). You can use it to created filtered programs for the robot using our software.
This way you don't need to buy the expensive toy that is a laser tracker.
HawkME and SkyeFire , I would like to bring a bit of nuance on the Repeatability vs Accuracy thing. And I invite you to correct me if you think I'm wrong.
Everything that was said is right, but in the case a 2D cutting on a sheet of material, the precision of the part create should be quite good if it's not too big of a part. The absolute precision with respect to the base of the robot won't be good, but the distance between the points should be quite good. In other words, as long as the "XY" plane is define properly and the part is not huge, the cutting path could be shifted 1 mm on the sheet itself, but the part should be quite precise. In a case like that, we are kind of in the middle of the realm of repeatability and precision. Especially in the case of a 2D model where you don't switch for one configuration to the other on the same part.
This is just my personal experience working with offline programming software as we constantly struggle with robot accuracy, we even developed a calibration method using a laser tracker to improve robot accuracy. But if you are working in a quite small work area of an existing piece or if you are cutting on a plain sheet, a good frame definition should do the trick. Especially if the goal is to cut parts to build a lamp.
dodkipod First of all, welcome to the world of robotics. It's such an amazing field where you will learn new things every single day. This forum is, in my opinion, the best resource on the web in the field of robotics. There's a lot of very knowledgeable and active members.
I don't want to look like the guy that push his product (I'm not a sales man, I don't get any commission or anything) but a good way of getting your feet wet without breaking the bank and/of breaking anything physically speaking would be to use a simulation software to get started. There a few software that gives you free trial. You can create your station, create the program, run it in the simulation environment and generate the real robot program at the end.
Some robot manufacturer have their own specific simulator:
ABB -> RobotStudio
Fanuc -> Roboguide
But some are also robot agnostic:
RoboDK, RobotMaster, Octopus, etc.
This is exactly how I started robotics about 10 years ago. I downloaded a trial version and learned a lot (I also did a whole lot of virtual robot crashes! Good thing I was not playing with the real robot!)
RoboDK even have a direct link with Fusion 360, you can draw you laser cutting path in Fusion and automatically transfer it to RoboDK, it will then convert it to a usable robot program in the language required by your robot controller.
Most of the robot simulators will have some kind of Wizard to help you create complex program without requiring the complete robot programming knowledge of an expert.
Have a great day and good luck.
Hi Jeremy,
This problem seems to be caused by the folder path to save the pros processed program.
Are you able to use any other post processors? Or do you end up with the same result.
If you end up with the same result, modify your path as presented in the attached image. (Any valid path should work)
Jeremy
Done.
I don't recall the exact wording of the question but: "Are you afraid that a robot could take your job?"
... I don't think that many people on that forum are nervous about that, hehe, our job is pretty much to program/work with robot.
For us, robots are creating job and it's the case for a lot more people that we can think.
Good luck with your PhD.
Jeremy
Québec - Canada
Every non essential industry is shutdown (I think it's obvious at this point).
They started to restraint the travel to some region outside of the Montreal so that smaller hospital don't get overrun.
We have the most cases in Canada, but it's still well under control and our heath system still has a lot of headroom (my sister is a nurse, so I have good incite information).
For the business side of things, as I've been working from home for the last 18 months or so, it's just business as usual for me (I realize that my normal life was pretty much a quarantine, lol). I just don't feel alone in the situation anymore, hehe.
And for the business itself, it's a bit strange. We receive a lot of requests as more people are either interested by offline programming or finally have the time to try a new tool. Let's hope it will translate to real business afterwards.
We also decided to give bundles of educational licenses for free for 4 months to any teacher reach out to us. We try to help them quickly transform their robotic classes to remote ones.
Fun fact, I'm giving lecture in robotic and automation at a university here in Montreal. I just learn early this week that I'll have to give my class remotely starting early May (we have three semesters a year). So I'll be in the same position as all the other teacher I was trying to help. 1 month to put in place a brand new university course + my day job at RoboDK + my 1 year old at home... That's gonna be an interesting month of April, that's for sure.
Cheers guys.
Stay safe.
Hi thanhdo,
I'm not 100% sure to understand your question.
Note that you can not set individual acceleration/velocity for each robot joints in RoboDK, you can only impose one setting for all the joints.
Thanks for your help SkyeFire .
Thanks SkyeFire,
We will take a look at that.
Jeremy
Hi everyone, if we someone have a good example of what a KRC1 program should look like it would help us build the post processor.
Jeremy
Hi Guys,
We are addressing that specific problem on our own forum.
We simply didn't have a post processor for the KRC1 as we never had any user using that specific controller.
They just sent us an "Example program", we should be able to create the KRC1 post pro starting from there.
Thanks.
Happy that it worked.
Yeah, pretty much.
If needed, you can also manage the configuration linked to a certain Cartesian target for MoveJ using the API, but that's a whole other subject.
Considering that your path is composed of a series of MoveL, I would recommend manually creating the first point of the program (or the approach point) as a Joints target and reaching it with a MoveJ before starting the MoveL sequence. This way, you will ensure a known configuration for the starting point of your program. The sequence of MoveL will then be calculated considering that initial configuration.
Have a great day.
Jeremy
Hi SkyeFire,
I took a quick look at your code and I think that the problem comes from the usage of degrees with rotx. You should be using radians instead.
Adding angle/180*pi should help you.
Anyway, here's the link to the online documentation on the API:
API Online Documentation
Hope it helps.
Jeremy
Hi Koppel,
It's better if the points were part of the SRC file as DAT file can't be loaded.
As said before, you may need to use the "Select targets" option to retrieve the position.
For logics, loops, counter, etc. you need to use the Python API.
Mode details in this link.
Have a great day.
Jeremy