Posts by Patrik Paukov

    Well in case you have lost one TP :grinning_face_with_smiling_eyes: on current project we have Fanuc with option to disconnect TP (same as KUKA have).

    You select this option on TP and then you have 20s to disconnect it. It jumps the safety.

    Not sure if anyone can purchase this option or if its specially for VW.

    But based on this thread it is not what you were asking for.

    SkyeFire is right.

    CRC (Signature code) is to ensure that nobody changed safety settings and it includes time and random seed.

    In ideal case integrator should print Safety report with CRC and sign it as a responsible person.

    It also means that CRC protect this responsible person in case of any future changes, which can results in harm. It is also a reason why it is password protected, so unauthorized person can not change it by mistake.

    How is your movement program looks like?

    You have J/L movement and on next line you set DO? If so, what is approximation setting of movement (fine, cnt0, cntX?

    Or are you setting DO in your movement instruction? Like J ... DB 0.0 DOx = ON?

    Maybe use pulse for timing output. That way you dont need to turn it off in BG.

    It sounds like your DO is turned off instantly, because robot is still moving.

    Also depends if you are student, employee or freelancer.

    Try to find some automatization companies (engineering and integrators - not production plants) in your area and ask them directly.

    If you are student and company is friendly, they can write you a contract, train you and take you on project.

    Siemens have something for KUKA robots and B&R for ABB.

    I have only seen sales presentation, but it should work in way, that you teach positions and write logic directly in PLC. Not sure if it send data directly to servo, or if there is program running on robot.

    And I also have seen Siemens + Yaskawa (custom programmed), where on robot side there was program running in loop and asking PLC for next position, which were stored in PLC, also with logic.

    It is more about worktable design, than choosing a robot. If you are able to fix parts to achieve repeatability, then you can easily automatize it. If you need position flexibility, then there are also solutions but it will cost you more.

    As far as i know and tried, you can only import 3D model.

    I am using SolidEdge to convert models to .fbx because it supports more parts in assembly and also materials. (.stl or .obj put whole assembly as one object).

    For kinematics i don't think it is possible, because each cad program uses different approach and normally it is stored in separate file (ex. Process Simulate).

    Maybye it is possible import rigging from another artistic sw, like 3DS max, but that would be same as to create it in unity.

    For IK, you need to create separate C# file to control your model, so maybe there are already some library available, but i did not search for it. This file is not part of model, because each sw have its own kinematic interpreter.

    If you find some library which can be used, please share with us :smiling_face:

    Hi, in short yes, it is programmer job to teach homing trajectory.

    As for DCS CPC, it is used for safety robot detection and stopping. So it is not collision avoidance.

    Apart from PLC you can use internal variables F or R to save state and then use it in logic

    For homing there are multiple solutions>

    1. In each point on trajectory set value to variable (GO or R), then you can jump in program based on value, or you can create separate program with trajectories for groups of values.

    ex. J P5 .... DB 0, R10=5

    and in homing you use JMP LBL[R10].

    or IF R10==5 THEN JMP LBL 5

    or IF R10>5 AND R10<8 THEN trajectory ENDIF

    2. You create world zones (space fnc?) with DO signals and use them to check where is robot tcp, then you create trajectories from each zone.

    ex. IF DO5 THEN trajectory ENDIF

    3. You can check actual robot position in world, and use relative movements / offsets to go to free space (like welding table), then drive home.

    ex. PR[5,3]=-100, (in Z)


    L PR[10] ... TOOL_OFFSET PR[10]

    Or in some cases, like palletization, you can just send robot in Z to specific height and then go directly to home.

    ex. PR[10]=LPOS,

    PR[10,3] = 2000, setting Z value

    J PR[10] ....

    You can also read JPOS values and create logic from there.

    I think most common approach is in example 1. but all depends on what is most effective for your application.

    Hi, generally each robot brand have its own set of tools.

    RoboGuide - Fanuc (programming + simulation), paid.

    - or you can use text editor if robot have ASCII Upload option, but i cant recommend this way.

    RobotStudio - ABB (programming (free) + simulation (paid))

    - also possible to use text editor

    SimPro - Kuka (simulation + basic commands for programming) paid + OfficeLite for simulation of "real" robot controller.

    - for code editing there is WorkVisual directly from KUKA, or free OrangeEdit

    Yaskawa, Hyundai, UR.. each have its own and for most of brands is possible to use text editor for code writing.

    Also there are some specific code editors like Steineke or Dramat, which are used for programming in automotive standards.

    For bigger volume of robots and versatility of brands is mostly used Process Simulate, which is universal robot simulation tool with possibility of different postprocessors for code generation. I used this tool for ABB, Fanuc, KUKA simulation and direct code generating.

    Similar software but much cheaper is RoboDK.

    Except for ABB, I would almost always prefer to use Process simulate for simulation and offline programing. Or just good text editor with syntax checker for code writing.

    I am rethinking solution because I forget to mention one step.

    You should have calibration grid for camera.

    Put it on rack and measure it as UFx, then you need to do camera calibration (set correct distance from grid and use this distance for all camera processes).

    Then you remove grid and do reference pictures (store it in 3 PR as you said) and teach reference positions in first rack.

    If you are sending position of robot to the camera system, then camera should return offset values relative to this UFx, you should use (base) OFFSET and have all movements in measured UFx.

    Then for other rack you use OFFSET in UFx for camera position and just OFFSET (camera values) for drop positions.

    If you are not sending position of robot, then camera have no information about its position, so you get values relative to camera position and you can use TOOL_OFFSET. And you don need to use measured UFx. For other rack positions you need to combine OFFSET in UF1 for camera position and OFFSET in UF1 + TOOL_OFFSET (camera values) for drop positions.

    by + i mean "L[x] ... OFFSET [PRx], TOOL_OFFSET [PRy]"


    do you have Fanuc iRVision camera, or other brand?

    What values do you get, X,Y,rZ or more?

    If you have camera parallel with working TCP, then most time is enough use TOOL_OFFSET.

    You make picture, set it as zero value, then teach pick up possition. For next picture you store camera values in PR and use it for offset.

    If you get absolute position values, then you need to use (base) OFFSET.

    Also depends on the application, maybye you can tell us more details.


    CRX is robot, but more important question is what kind of controller (probably R30-iB+) and profinet do you have (Siemens card or Molex) and what Options are installed in controller?

    For both types there are manuals.

    Then you need GSD file for Fanuc and CNC, which should come with documentation or you need to contact the company and ask for it.

    Give us more info and i can send you manual, if i have it.

    Hi, maybe this is bit outdated information, but fanuc created page where you can register with company mail (not gmail) and gain access to manuals and some more stuff.

    The search engine is not great, and probably some manuals are still on demand, but all the basics are there.

    I think with this kind of cycle time, and probably also accuracy you are way out of the industrial robots scope.

    What kind of weight would robot carry?

    Even with small 6 axis robot i would count around 3-4s to do anything useful (like pick and place).

    With scara/delta you can go probably to 0,5-2s.

    Also probably you should take into account system+fieldbus communication delay.

Advertising from our partners