Posts by Fabian Munoz

    The problem is is not only x, y , the tooling could be on a slight angle. Ho do you measure that ?

    Usually the tooling is dirty with left over or some fiberglass dust accumulation. If this happens where you are planning to do you x,y surface, it won't work.

    I tell you more, I bet your nozzle tip is shape as an hexagon. How do you know tip is exactly on the same location, it could be a bit tighter that before was removed and now you accuracy is useless

    You're cutting have to be so precise ( i guess under 1/2 millimeter), there is no way that you will achieve that on all the programs.

    FYI , my job between 1990 and 2005 was robot programming waterjet cells all around the world. Most of them for automotive industry

    I tell you ,Your customer is going to lose more money reprogramming than fixing the problem. They have to understand that what they are doing/thinking is wrong. It's not your problem. I know you need customer to keep your job but customer like that, I rather get rid of them. I hope they are not blaming you and they still pay for the time you waste


    When you refer to "tool". Is that the EOAT or is the tooling (mold) of whatever you are cutting
    I know still takes time, but you can have the same UF a teach the 3 or 4 points every time they change the tool. You write a very simple procedure to teach the UF so you don't get a call a 3 am

    My concern with all these is that you could be the best programmer in the wold with the best most accurate robots in the world but you are never going to get it perfect if you're tooling is not repeatable.

    Is it possible that the customer could use locating pins to locate the table after the rotation ? This is a very standard method

    What are you cutting ?


    I'm glad you ask.

    I've seen programs where the vast majority of the points were J motions an others L motions. They wrote that way and the program works just because going from point A to point B was no accurate or cycle time was not a concern. Luck them !!.

    If you combine both motions on the right places it will give the robot a smooth and fast path

    I just want to "enhance" SkyeFire last paragraph

    " For short distances, the difference between a Joint and Linear move can become almost inconsequential. In fact, under a microscope, a Linear move is actually a series of very small Joint moves, strung together and smoothed out. "

    Understanding this paragraph will help you in many situations.

    Many times I've seen programmers complicating their lives trying to work is short distances (lets say between one centimeter or two) using L motion where they could have use J motion without any problems. This is a case where the robot is close to singularity or end of reach. Using J motion the robot will move on a curve almost imperceptible but the difference will be you are allowing the robot (motion algorithms) to disregards many of the constraints .

    As always be careful, but if the robot is on a really bad spot, use a J motion.

    Just like Robodoc mentioned, do not try to compare them.

    You learned Fanuc terminology ,now you have to learn Motoman terminology.

    Search for Motoman program samples in the forum. Ask questions

    You mentioned PR. Motoman has P points, for example

    This is how you load a variable with the value 342 and then load the value into a point on both languages

    SET D014 342

    SETE P012 (3) D014

    R[14] = 342



    Do not use ModelID, create a vision process for each part

    You will have for example the word "Part" on SR[1] and the PLC will tell the value of R[2]

    So concatenation for part 53 will end as "Part53" in SR[2] and that's the program you run.

    If you want, lets say, you are running part 53 but need to identified colours, the you can use ModelID

    15: VISION RUN_FIND SR[2] ;

    16: VISION GET_NFOUND SR[2] R[49] ;

    17: VISION GET_OFFSET SR[2] VR[1] JMP LBL[5] ;


    Thank you very much for your words.

    Sharing knowledge and experiences to people that we don't know about systems that we have to put together on our minds is a challenge. Being able to solve problems under those conditions using words and pictures is amazing.

    The satisfaction from that is unmeasurable.

    Just look at me, retired, on holidays in Uruguay and still checking what's going on in the forum

    Hi jmarket56

    Welcome to the robot forum

    I hope the conveyor system and loading area is not built yet because it's very hard to fit a robot that size that reaches all the necessary areas.

    You need to specify size of box and weight and the surface of the pallet

    The tool is going to be a big variable in your decision because is going to add weight and loss of reach

    Most of the robot companies are going to show you a similar drawing that I posted below. You can figure using simple dimensions if the loaded pallet is going to fit on the blue areas.

    Now the tool, Use Google to have an idea about sizes. There hundreds of palletizer videos out there

    Be prepared to place the robot on a pedestal that could be 4 or 5 feet tall. Is the robot going to hit the ceiling ?

    About the infeed, I will set pick load in the system that R1 must pick 33% second one must pick 50% and the third robot must pick 100%

    In my imagination, it will split the load into three equal parts.

    This is good method, this is how irpicktool wants you to do it BUT I think you might end up putting 33% on each robot. These % are issue to change, don't worry, also If I remember correctly you can change them while running

    About the outfeed, we will control the speed of the outfeed conveyor which is carrying the boxes, this will let us set required amount of boxes.

    Yes, this part it's really no relation with irpicktool. The PLC holds the pallet until is full

    About the PLC, this is the easy way, but I'm afraid of the communication delays, which can cause inaccuracy.

    For your imagine it will be around 180 pcs per min. So in total it's around 60 for each robot, and accuracy can't exceed 1mm.

    That's why I was asking, I'm used to 60 ppm, There's time for nothing

    Sorry, more questions

    Lets say you put 4 parts in the queue, Does R1 picks all of them ? Assuming that speed, distance, etc is good for that

    If R1 picks all of them, what do R2 and R3 do ? Do they just pick a phantom part ?

    What happens when there are more parts than the 3 robots are capable to pick, do you have a return conveyor ?

    I'm asking these question because you could pick part 1 with R1, then put a counter or a condition and skip the next two parts. You would have to add logic to irpicktool

    Same principle with R2 and R3

    This could get complicated because the queue keeps changing while the robots are picking.

    I'm assuming based on these robots that you have a high speed pick and place system.

    Sorry about all the questions, but I have to have clear your system to help you.

    Another idea is to send the sensor to the PLC and the PLC distribute the parts, like handing out cards on a game

    How did you define the tools 1 and 2 ? Did you teach them or just punch number from a drawing ?

    Are the tools equidistant from the 0,0,0 or one tool is "centered" and the other one offset ?.

    I'm just looking at your issue from the tool point of view and not from the user

    Assuming that your tools are not perfect, maybe this is why your user aren't working the way they supposed to

    Curpos. The robot is reading and displaying this position continuously. If you want to know only where it picks, why asking the robot all the time where is it and by the way, by the time you read it (the PLC) and the robot is in motion is already to late

    Use LPOS when you have the robot pausing. Lets say on the pick up, put it right after the gripper is close, or the vacuum is on. You know what I mean, right when you activate the tool


    I have questions

    1) When you pick from pallet. do you pick CW and CCW ?

    2) and when you place, is it one orientation only or you follow the CW/CCW from the pallet ?

    3) I'm assuming you use the orange point both ways. Is this point orientation CW or CCW. or half way in between ?

    4) I know is a copy and paste editing but on the program you show , the order of the line numbers don't match ? Are you missing something

    5) I bit confused because I don't see a point call PICK and another PLACE and I understand you can call them whatever your want but it's hard to follow the program

    6)make sure the offsets PR don't have any other value than the one you want and that they don't get overwritten

    7) how do you know where the boxes in the pallets are ? Vision. Just wondering because maybe, vision introduces an unnecessary value

    My thoughts

    I've seen these issues (personal experience) when the program accumulates the rotations. Sometimes you don't see the problem until you pick 3 or 4 parts. That is why I use a mid point (your orange) to unwind in joint configuration. The rest is easy , program should look like

    One PR (orange)

    One PR for picking and a couple PRs for offsets , and also the PRs to do calculations

    One PR (orange)

    One PR for placing and a couple PRs for offsets

    One PR (orange)

    One more things are you using values on you six axis such a 0 or 180 ? Try +/-179.999 and +/-0.001