zacobria-universal-robots-ur
zacobria-universal-robots-ur

We like to hear your opinion and will try our best to answer your questions.

To keep a clean and optimal forum it is best to post questions under a topic related to your questions.

If you have a question that falls outside any of the topic discussed in the articles then you can post them here.

Disclaimer: While the Zacobria Pte. Ltd. believes that information and guidance provided is correct, parties must rely upon their skill and judgement when making use of them. Zacobria Pte. Ltd. assumes no liability for loss or damage caused by error or omission, whether such an error or omission is the result of negligence or any other cause. Where reference is made to legislation it is not to be considered as legal advice. Any and all such liability is disclaimed.

If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.

Author:
By Zacobria Lars Skovsgaard
Accredited Universal Robots support Centre and Forum.

Also check out the CB3 forum



135 comments

  1. Hello everyone!

    I’m controlling UR5 from a computer through RTDE.
    It seem like we will have multiple setups and installation files. How do I load an installation file programatically through network? Can I send a file through network or the file must be on UR5?

    Thanks,
    Z

    1. Hello histosonics

      Thanks for the question.

      I am not aware of the setup file can be send through the network.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



      1. Thank you for your response. Can you send a command over network to load a different installation file that is already on robot? Thank you!

        1. Hello histosonics

          I havnt seen such command.

          Author:
          By Zacobria Lars Skovsgaard
          Accredited Universal Robots support Centre and Forum.

          Also check out the CB3 forum



      2. Good morning everybody,

        I I have a problem with starting an UR10 which has been stored in bad conditions at a customer for 6 monthes after having been dismantled from production line.

        I receive the error code C192A20.

  2. Hi,

    This is Zahra Falamarzi, and I am studying master program in Waterloo School of Architecture, Canada. Our Fabrication Lab has recently equipped with 2 UR 10.

    As a short summary, we are using “Rhinoceros” as 3d modeling software with a plugin “Grasshopper” to program the design. ” Scorpion” is the plugin as a robotic controller we use in grasshopper that works with UR10. There is a possibility that in the final stage extract the script from the software in *.txt or *.dat format or some other formats from the plugin in grasshopper, ready to transfer to the teach pendant with USB to executed by the robot arm.

    I am the very first student start working with the robot to prototype the wall by asking the robot to pick and place bricks according to the script. I learned how to program the robot movement and gripper trough teach pendant.

    The question is I do not know the exact language script for how to use the gripper and ask it to open or close with the specific force or speed through the script. I need the sample of the script( I mean the text format)for it in order to use it and transfer it in order to define an order for gripper in Grasshopper plugin.

    I would very appreciate if you would advise or send me a sample script. Please let me know if I have to clarify my question.

    please note that the gripper is 2-finger adaptive

    Sorry in advance if my question seems very simple to you.

    Very Best,

    Zahra Falamarzi

    1. Hi Zara

      Thanks for the question.

      Our forum is related to the UR portion, but I think your question is more related to the adaptive gripper part. I this post I am not sure which brand of adaptive gripper you have in mind – because there are more vendors of adaptive grippers.

      Maybe consider to search for a forum for the adaptive gripper. For example Robotiq has a forum at this link.

      https://dof.robotiq.com/discussions?_ga=2.162977788.1536604047.1538278541-1402279615.1538278541

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  3. Hi,

    Our school( Waterloo School of Architecture) recently add two UR10 to the Fabrication Lab. I am trying writing the script for pick and place with the gripper. (ROBOTIQ 2-FINGER ADAPTIVE ROBOT GRIPPER). I have a question regarding the gripper in the script. What is the script for opening and closing the gripper. how should the force or speed add to the script. I found the following script:

    rq_move(0) (Fully open gripper).
    rq_move(255) (Fully close gripper).
    rq_force≔255 (Set force at Maximum).
    rq_speed≔255 (Set speed at maximum).

    I very appreciate if anyone can write here for me the complete sample script for opening and closing the gripper with specific force and speed.
    Thank you so much in advance.

    Zara

    1. Hi Zara

      Thanks for the question.

      There are some hints for using a Robotiq gripper at this link on our forum.

      http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/pick-and-place-using-electrical-gripper/

      Our forum is related to the UR portion, but I think your question is more related to the Robotiq part – and Robotiq also have a forum at this link

      https://dof.robotiq.com/discussions?_ga=2.162977788.1536604047.1538278541-1402279615.1538278541

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  4. Hi Lars,

    I had a question regarding updating the software (Controller & Polyscope) for our UR10.

    We bought our arm from a reseller, and unfortunately, it did not come equipped with a teach pendant. We have Polyscope installed with an off the shelf tablet which does not seem to recognize the USB with the update files.

    Have you ever encountered similar scenarios and do you happen to have any advice on how to update this system?

    Thanks,
    Oliver

    1. Hi Oliver

      I have not experienced a similar case before.

      Have you considered to try and insert the USB drive into the USB port on the motherboard inside the UR cabinet and then do the upgrade ?

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  5. Hello,

    this is Attila.

    Could I please have some help with the following:

    I have a solenoid valve connected to an output and when I trigger the output from the ‘perform action now’ button or when I step line in the program it reacts fine. But when I play the program it doesn’t.

    The other question is related to an input signal. I made an IF branch in my program that based on the input does different things. I would like to run the program and test the movements by simulating the signal. Is that possible ?

    Thank you,

    Attila

    1. Hello Attila

      Thanks for the question.

      1.
      How does your program look like ?

      2.
      When you Play the program – can you see the output change in I/O screen ?

      3.
      Have you tried the Simulate ?

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  6. I am inspecting a part to verify that the right components are on the part. I have a Keyence camera mounted on the end effector. The camera sends a “pass” or “fail” as a 0 or 1 to the Robot for each component on my part. The robot then sets that as a variable on the robot. I need to find a way to export those variables as a txt. or csv. file to a PC. Has anyone done anything like this before?

    1. Hi Andrew

      Thanks for the question.

      I have not tried this before – but for file handling maybe it canbe considdered to transfer the data to an external controller e.g. a PC which saves the data into a file.

      Data can be transfered in various ways – e.g. the Client-Server method

      http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/script-client-server/

      Or if the data is simple then exchange data via MODBUS registers can also be considered.

      http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/modbus-internal-registers-read-and-write/

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  7. Hi,
    My UR10 robot gives the C153A3 protective stop when it lightly hits a target object, may I know the maximum deviation allowed before this error is thrown so that I can have my code work around this issue?
    Please do advise , Thank you! :)

    1. Hi Anand

      Thanks for the question.

      There is no fixed deviation value because it depends on many factors such as – Speed – Angle – Pose. So in some poses the value will be different compared to other poses.

      But by default the value should no more than 150 Newton. But this value can be changed in the Safety menu – subject to risk assesment.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



      1. Thanks for the prompt reply, just to confirm at different poses there are different speed, angle deviation values. Is there any way i can get these set of information?
        Nonetheless thank you for your help :)

        1. Hi Anand

          I dont think it is feasible to have such information in a presentable format because of the number of variables. The payload will also be a factor.

          Author:
          By Zacobria Lars Skovsgaard
          Accredited Universal Robots support Centre and Forum.

          Also check out the CB3 forum



  8. Hi,
    I just installed URSim offline simulator (ursim-3.2.20175) on my Ubuntu 16.04.

    I changed my java version as
    /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

    and installed ursim with help of
    https://github.com/arunavanag591/ursim

    But I got the following error when I run the ursim.

    INFO [main] 23:00:57 16/07/18 Settings.loadConfigurationAndSettingsPath(line:429): Robot controller user = modmanvision
    INFO [main] 23:00:57 16/07/18 Settings.loadConfigurationAndSettingsPath(line:440): Configuration and settings files path: /home/modmanvision/library/ursim-3.2/.urcontrol
    ERROR [main] 23:00:57 16/07/18 FileUtils.readFromFile(line:109): File was not found: language
    WARNING [main] 23:00:57 16/07/18 Settings.loadLanguage(line:459): Failed to load language file: Possibly corrupted or empty
    WARNING [main] 23:00:59 16/07/18 Configuration.checkIfDataFromControllerReceived(line:435): Method used before correct value has been received from controller, returning default = [D@4fcee388
    WARNING [main] 23:00:59 16/07/18 Configuration.checkIfDataFromControllerReceived(line:436): Ignoring any future reports of error
    ERROR [main] 23:00:59 16/07/18 ControllerSocket.writeBytes(line:1057): Not connected to controller, trying to send string:
    sec setTCPTransform():
    set_tcp(p[0.0,0.0,0.0,0.0,0.0,0.0])
    end

    ERROR [main] 23:00:59 16/07/18 ControllerSocket.writeBytes(line:1057): Not connected to controller, trying to send string:
    power off

    ERROR [main] 23:00:59 16/07/18 ControllerSocket.writeBytes(line:1057): Not connected to controller, trying to send string:
    restart scb

    URControl: no process found
    ERROR [pool-2-thread-1] 23:01:01 16/07/18 EthernetIPInstallationNode.runSV(line:364): Failed to run runit service control command: sv status /home/modmanvision/library/ursim-3.2/service/EthernetIPDaemon. Return value: 127. Output string: .Error string: /tmp/b8ceaf42-e88d-4c61-8bab-94f2337e689b.sh: line 1: sv: cannot find command.

    How can I solve this problem?
    I’m waiting your answer. please help.

    Best Regards,
    Byungchul

    1. Hi Byungchul

      Thanks for the question.

      Maybe consider to follow the method described on UR support page.

      https://www.universal-robots.com/download/?option=42164#section16632

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  9. I’m currently successfully using the Dashboard Server, port 29999 to recover from a Category 1 stop. How do I recover from a Category 0 stop?

    I’m using a PLC with a robot on a gantry system so the teach pendant is not available to reset. Reset must be done over the Dashboard Server but in a Category 0 stop, power is removed so I’m not just sending the unlock protective stop over the server.

    -Thanks

    1. Hi Ben

      Thanks for the question.

      1.
      What kind is device sending the command to the dashboard server – is it the PLC – or another device ?

      2.
      Do you mean the power is cut to the external device that is sending the command to the dashboard server ?

      3.
      Do you mean in your case the power is cut to the robot ?

      4.
      Or what is the reason why you cannot send to the dashboard server ?

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



      1. Hello,
        Recently we purchased 2 UR10 robots for engine painting, as we have more than 700 engine type, if I programming every engine type as a sub program and call the sub program, the call structure will very complex, I think it’s not a good method, but I can’t find other intelligent method to call different sub program for different engine type, can you please give me some suggest for this kind of application scene? Thanks in advance!
        Notes: we use SIEMENS S7 300 PLC communicate with UR robot by profinet network.

        1. Hello Chen

          Thanks for the question.

          Maybe it can be considered to have routines of the painting movements to be common for more engine types and thereby reduce the number of sub programs needed.

          Author:
          By Zacobria Lars Skovsgaard
          Accredited Universal Robots support Centre and Forum.

          Also check out the CB3 forum



          1. Hi Zacobria,

            Thanks for your reply, but our situation is every engines’ shape and size is different, we can’t find a common routine to covery several engine types, if we can open and run specified UR program by PLC? as PLC can receive program number from RFID, thank you!

          2. Hi Chen

            Through the Dashboard server at port 29999 it is possible to load and play different programs in the UR.

            https://www.universal-robots.com/how-tos-and-faqs/how-to/ur-how-tos/dashboard-server-port-29999-15690/

            Author:
            By Zacobria Lars Skovsgaard
            Accredited Universal Robots support Centre and Forum.

            Also check out the CB3 forum



      2. Sorry for not being more clear. When I say power is removed, I mean the robot shuts itself down to protect itself. This is standard with UR if a more serious protective stop occurs. I’m using the dashboard server now to reset a CAT1 reset by sending the “unlock protective stop” message and the works fine. Also through Ethernet-IP buffer I can see the status of the “power on”, “is protective stopped”, “is faulted” etc.

        So when a CAT0 stop happens I lose the “power on” bit over Ethernet o the PLC from the robot. I’ve been told I need to send a sequence of messages over the Dashboard Server(port 29999) in this case being “close popup” then “power on” then “brake release” then “play”

        Long story short. This process of resetting with this messages doesn’t always work because there are different types of CAT0 stops and different messages need to be send in a different order. Can’t seem to find an order of messages that works for all CAT0 stops.

        -Thanks

        1. Hi Ben

          Normally the robot does not shut itself down in a safety stop or emergency stop situation – but the robot stops. Normally there is still power on the controller box and teach pendant.

          When you say “more serious protective stop occurs” – I assume you here mean Emergency stop (and not the safety stop (protective stop)) because you mention emergency stop later on, but let me know if you mean differently.

          It is not ideal to start doing programming for the acknowledgement and release of emergency stops. Normally there are certain rules for how to make and construct emergency stop circuits and the release – and some of them are.

          1.
          Normally the emergency stop circuits need to be hardwired – in order to be sure there it still works – even if the programmer has made a mistake in the programming.

          2.
          Normally an emergency stop needs to be released by pressing a local acknowledge button before the emergency stop can be fully released – and therefore there often is a local push button or teach pendant for the emergency stop release.

          So to make emergency stop possible to release through programming commands does seem to be ideal.

          Author:
          By Zacobria Lars Skovsgaard
          Accredited Universal Robots support Centre and Forum.

          Also check out the CB3 forum



  10. Hello,
    I developed a program via PolyScope that moves my robot and it works well.
    I use with the robot simulator (Virtual Machine), delivred by Universal Robot
    I configured my security entries in Safe mode and Emergency mode.

    In the Polyscope, I / O interface pannel, when I click on the inputs to simulate them, my robot continues to move?
    Is this normal? I thougth that it should be stopped in safe mode ?
    I was expecting the simulator to go into “Qase Mode” mode.
    Do you have any ideas to submit to me, please?

    Thank in advance.
    Best Regards
    Ara

    1. Hello Ara

      Thanks for the question.

      Not necessarily in the simulator because the simulator does not have any real I/O.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



      1. Hello,
        Thanks for your answer.
        Ok, then the simulator can’t simulate security input in I/O tab
        and it can’t go in”Safe Mode” .

        Have a good day

  11. Hi everybody,

    I’d like to know how I could display the current TCP position in a popup.
    I save this position in a variable with the function get_actual_tcp_pose, but I need to write it in a popup.
    I guess I should do it with a script, but I don’t knw how.

    Thank for your help.

    1. Hi Luxrobotic

      Thanks for the question

      Maybe consider this article

      http://www.zacobria.com/universal-robots-zacobria-forum-hints-tips-how-to/script-popup-messages/

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  12. Hi everyone,
    I would like to force different mode:
    – normal
    – stop
    – safe mode
    – free handed / Free drive

    I launch my script in Polyscope succesfully, to move the robot
    I can control the robot (simu) with a client TCP (rtde). I can move start and stop the robot, with command in TCP/IP
    But I can’t force the safe mode or free hand mode.
    I want to force safe mode or hand guided mode with TCP/IP to the simulator
    Could you help me please ?
    Thanks in advance.
    Ara

  13. My school is considering buying a robot arm. Among the options is UR3. However, we think that UR3 does not ship with any tool point (or end effector) out of the box, right?

    If UR3 does not ship with any tool point, where do we buy one that works with it. We are interested in a simple pick-and-place kind of tool, e.g., a suction cup is perfect for our purposes.

    To help us decide, I would appreciate it if you can provide an estimated price (in USD) for a suction cup gripper suitable for UR3.

    1. Dear AA

      There are many tools options for the UR robot – please contact your robot provider for prices. This is a support forum not – providing prices.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  14. I am attempting to set up a simulation of a UR 10 model robot (my company has an actual UR 10 robot). I have installed the virtual machine (Virtualbox), imported all of the programs already written, and installed the UR caps for the force torque sensor and the 2 finger gripper from Robotiq. The programs are all in the green font, which means that the simulator is seeing the gripper and sensor. The UR caps show, but the robot is not showing the components on the graphics tab and the programs won’t work because the gripper and sensor are not there.

    The two components have a tab under the installation menu, but I cannot calibrate or configure the sensor. I also cannot scan for the gripper. I have already contacted the support for Robotiq, and they were unable to assist me. Can you help guide me as to what the next steps would be?

  15. def mycalc(a, b):
    c = [a, a, a, a] %%%if i take this line away, i get “compiler error, name c is not defined”
    c[0] = a
    c[1] = b
    c[2] = pose_add(a, b)
    c[3] = pose_sub(a, b)
    c[4] = pose_trans(a,b)
    c[n] = more poses… etc
    return c
    mylist = mycalc(p1, p2)

    Hi, as above, I am trying to write a subfunction using scripts to calculate a list of poses. But the issue is that the number of poses will vary (depending on the distance to travel etc). As such, how can I write the above without having to declare the contents of my array c at the start. Also, it seems weird that at the start, i must assign values to the entire array.

    As a counterexample, in MATLAB, i can declare the size of the array at the start with
    c = zeros(n, 1)

    Is there anyway I can do a similar thing where I can define the size of c right at the start of my script function? If I do not declare using the above (see comment), c=[a, a, a, a,], I can’t even get it to compile.

    Thanks

    1. Hi elvin

      Yes the list has be defined before assigning the elements.

      The robot does not have the same functions as MATLAB.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



      1. Given such a case, how does the pallet function of URscript actually handle creating a list of points that has not been predefined yet?

        Is there anyway I can open/study the default functions so as to have a better understanding on how to code them?

  16. Hi!
    I want to modify pendant screen to introduce a menu with three buttons to choose the size of the box the robot is going to work. Similar to use the pendant like a SCADA.
    Is there any information, manual, tutorial or examples?
    Thanks in advance.

    1. Hi Jose

      Thanks for the question.

      I have not seen a method to have a separate program (e.g. SCADA) running on the UR. Bare in mind that the UR is a robot – designed to do robot things – so the CPU and memory is designed to do complicated 6 axis moves already. The robot is not designed to be used for further application that uses CPU ressourses.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



        1. Hi andujara

          Thanks for the question.

          It looks like a special application they have made – maybe consider to contact the provieder for this solution.

          Author:
          By Zacobria Lars Skovsgaard
          Accredited Universal Robots support Centre and Forum.

          Also check out the CB3 forum



  17. Hi,

    I’m currently working on a UR10 robot for spraying applications.
    My query is if I could somehow have an executable file running on the UR10 controller, that will be used to generate a list of poses to be executed by the UR10 robot.

    The general idea is as follows, the operator will teach 2 points (start and end point) of the robot using the teach pendant. Based on this 2 coordinates, the software(or executable file) will then calculate a list of 1000+ points that the robot TCP must pass through.

    I suppose the client-server method will allow the intent above, but I am trying to avoid a situation of using another computer simply to calculate and pass the points to the UR10.

    As such, I am wondering if there exists a solution where I can simply have a compiled executable file (maybe written via C or matlab) that is capable of receiving the first 2 coordinates, calculate the list of 1000+ coordinates, and pass the coordinates over to the UR10 software. The points can be passed one by one, but I would prefer if I can send a whole list of all the points at the same time (as it would be better with movep) as I need the spray process to be at constant speed.

    The robot will then automatically commence the sequence by running through the list of all the points.

    Would there be a recommended manner in which I can have an executable file stored/running on the UR10 computer, to communicate directly with our UR10 robot?

    -Elvin

    1. Hi Elvin

      Thanks for the question.

      I am not sure if I understand correct – because you mention ” trying to avoid a situation of using another computer ” – and then later you write “pass the coordinates over to the UR10 software”.

      I have not seen a method to have a seperate program running on the UR – to communicate with the UR. Bare in mind that the UR is a robot – designed to do robot things – so the CPU and memory is designed to do complicated 6 axis moves alread. The robot is not designed to be used for further application that uses CPU ressourses.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  18. Hi everyone,

    So I currently have a Universal robots UR5 connected to a camera Via TCP/IP (I have no problems triggering the camera or getting it to output points to my robot). My camera is mounted to my end effector and It needs to combine four components (taking a picture and detecting three of them). The first two pictures are straight up and down and the robot’s coordinate system and the camera’s coordinate system are perfectly aligned. However the third component requires me to turn the camera sideways so now the coordinate systems are miss matched. So now if the robot moves in the X axis it moves the camera closer/further from the capture point which in essence means the X axis is the Z axis to the camera. Now the camera has the ability to control and move the robot and the solution provided to me by the camera’s manufacturer is the camera can change the “work coordinate system” or “tool coordinate system” on the robot to a value between 0 and 9. The problem I have is how to set new coordinate system on the UR for the camera to cycle through and then once that is complete how to set it back into it’s normal coordinate system while I am running it in my program.

    Thank you in advance I greatly appreciate it!!
    ~Jeff

    1. Hi Jeff

      Thanks for the question

      At these two links is examples for uising Planes on the robot.

      http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/planes-and-position-variables-1/

      http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/planes-and-position-variables-2/

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  19. Hi,

    I am having an error code C153A1: Protective Stop: Position deviates from path: Shoulder.

    Additional info: There is nothing holding the robot. I am trying to move it to home position which is very close to current position. None of the joint is at its limits.

    Can you help me on this one?

    Thanks,

    Pedro

    1. Hi Pedro

      Thanks for the question.

      It might be that something too heavy is carried by the robot – or it can also be an issue with a joint. Maybe consider to get the robot checked by your robot provieder.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  20. Hello,

    I have an application using UR3 in which, if the robot hit something (person for example) it generate a protective stop and i need to restart the program.

    So I am writing to ask what is the best solution to pause the program if the robot hit something and after resume the program at the same point .

    Thank

    1. Hello Francisco

      I am not sure I understand your question because the robot already have a function to pause the program in case of a protective stop – you do not need to program that.

      It is possible to resume the program from the teach pendant – or by sending a command to the dashboard server on port 29999. Some more informations or the dash board server at this link.

      https://www.universal-robots.com/how-tos-and-faqs/how-to/ur-how-tos/dashboard-server-port-29999-15690/

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  21. hello,
    Is it possible to move around the safety plane while you are moving to the start position. this without using the move function, and only using he auto function?

    1. hello leon

      I am not aware of such function.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



    1. Hello EDGAR

      Thanks for the question.

      It depends on the interface protocol for the camera. If it is via TCP then the example at this link might help.

      http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/script-client-server/

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  22. Hello,

    I haven’t found any topic where this question could fit in – I’m seeking contact with someone who has successfully rebuilt a UR control box for battery-powered operation.

    We are planning to plant a UR3 and control box (CB3.1 in our case) on board a mobile robot where a battery (24V non-stabilized, but with overvoltage protection) would be available as a power source. Replacing the 12V and 48V power supplies with robust alternatives seemed the most efficient option, however, we are now getting stuck at the power-up procedure.

    Specifically, after initially turning on and off the 48V PSU, we get either one of the error codes C50A26 (Voltage present on unpowered 48V power supply), or C50A42 (Voltage will not disappear from PSU). The error persists even after putting a relay directly after the output of the 48V PSU, which separates the 48V PSU output from the safety board once the relay on the current distributor board cuts off the input to the 48V PSU. This removes the possibility of charge remaining in the 48V PSU causing the fault, meaning that there must be some charge left on the safety board (or possibly further out?) after switching off the 48V PSU. We could try to discharge this through a resistor between GND and the 48V input on the safety board – this could be easily done by using the NCC contact of the relay that now cuts off the output of the 48V PSU.

    However, before proceeding, it may be best to seek advice from someone who already has mastered such a rebuild (and probably faced similar issues in the process). Any advice or hint would be highly appreciated…

    Thanks in advance,
    Zsolt

    1. Hello Zsolt

      Thanks for the question.

      We have succesfully build a UR-5 CB2 robot onto a MiR-100 mobile robot platform.

      We used a SD-1000L-48 Power Supply from Meanwell and we did not fase the issue you mention, but the connections can be different on a CB3 robot hardware.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



      1. Hi everybody,

        I’m sorry, but I definitively don’t know how to create a new post ! So I reply to this one.

        I have to program a Pick and Place application with 2 different place positions, depending on the layer.
        I want to use a variable to identify the layer, for this I’d like to select the 1st position for the odd layers and the 2nd position for the even layer.

        How could I calculate if the variable is odd or even ?

        Thanks

        Luxrobotic

        1. Hi Lux

          Thanks for the question.

          Maybe consider this approach.

          Program
          Robot Program
          MoveJ
          Waypoint_1
          var_1≔get float
          var_2≔var_1/2
          var_3≔floor(var_2)
          If var_2≟var_3
          Popup Data is Even
          Else
          Popup Data is Odd

          Author:
          By Zacobria Lars Skovsgaard
          Accredited Universal Robots support Centre and Forum.

          Also check out the CB3 forum



          1. Hi Lars,

            thank you for replying.

            What is the correct syntax of var_1:=get float ?
            Because I have an error when I try to execute the program. I wrote “get_float”

            Thanks

          2. Hi Lux

            This link shows an example for an “Opperator Input” – and then select to allow Float.

            http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/operator-input-variables/

            Author:
            By Zacobria Lars Skovsgaard
            Accredited Universal Robots support Centre and Forum.

            Also check out the CB3 forum



          3. Hi Lars,

            sorry for the late reply, but I’m very busy on this project.
            Your solution with an “Operator Input” is not what I’m waiting for.

            I need to stack part on multiple layers, with the odd ones in one position, and the even ones turned to 180° from the first odd layers.

            I found a solution by using a Switch for all the different layers:

            Switch iNoCoucheDr
            Case 1
            Call PlaceGrC1
            Call PlaceSegC1
            Case 2
            Call PlaceGrC2
            Call PlaceSegC2
            Case 3
            Call PlaceGrC1
            Call PlaceSegC1
            Case 4
            Call PlaceGrC2
            Call PlaceSegC2
            Case 5
            Call PlaceGrC1
            Call PlaceSegC1
            ……..

            But it’s not optimal, I’d like to make my programmore compact.

            It should be possible if I identify the odds and evens layers, and reduce to 2 calls instead of multiple.

            Could I send you my program by email?

            Thanks, and Happy New Year !!!

            Luxrobotic.

          4. Hi Luxrobotic

            Thanks for the question.

            Maybe consider to make a variable that check on the layer and set the variable to odd or even according to the layer and then use the variable as

            If Variable = odd
            Then
            Call PlaceGrC1
            Call PlaceSegC1

            If Variable = even
            Then
            Call PlaceGrC2
            Call PlaceSegC2

            A method to consider for determining odd and even does not has to be an operator input – that is just to test the function – it can be used on a variable as well.

            http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/general-faq/#comment-2526

            Author:
            By Zacobria Lars Skovsgaard
            Accredited Universal Robots support Centre and Forum.

            Also check out the CB3 forum



          5. Hi

            Mybe consider Similar as shown in the link earlier

            var_1≔NoCouche
            var_2≔var_1/2
            var_3≔floor(var_2)
            If var_2≟var_3
            var_1 is Even
            Else
            var_1 is Odd

            Author:
            By Zacobria Lars Skovsgaard
            Accredited Universal Robots support Centre and Forum.

            Also check out the CB3 forum



  23. Dear Zacobria,

    It is possible that the UR5 robot has a continuous little vibration during the movement? It seems that the elbow and the shoulder in particular cause a wobbling that makes the end effector to vibrate, making impossible the success in tasks as painting etc…

    thank you

    1. Dear Francesco

      Thanks for the question.

      The robots I have worked with is within the 0.1mm specs for repeatability

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum




      .

  24. Hello, we use an UR10 and we got a problem using the emergency stop and the safeguard inputs.

    We wanna use the emergency stop input to send a signal from the safe sps to the robot. If someone push an emergency stop button in the field the robot has to stop immediately.

    Also we have a second signal that we want to send to the robot. Even when the robot is in an safe position he has to stay in safeguard stop but not in emergency stop.

    I hope you can understand my bad english and can help me. In the manual there is only one of these safety inputs in use.

    best regards
    Jana

    1. Hello Jana

      Thanks for the question.

      There are seperate inputs for triggering a safety stop – and seperate input for triggering Emergency stop.

      THe UR manual explains this very good.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  25. Hello,
    I know there’s no stupid question so i would ask anyway because i am a beginner so i can afford it :
    – i am trying to create a communication between 2 robots: UR3 and UR5 (blind robots) – but i have no hardware input added on any one of them, just trying to use their signals to create a communication between them.
    Now, i succeed to create the network using static ip, and i have also tried using register_inputs for communication so it was ok also this one, but i was wondering how can i send a message (for example text one) from ur3 to ur 5 or vice versa that one of them is in to a position or not ?
    Is there any link maybe with such a basic application or some hints ?

    1. Hello Marius

      Thanks for the question.

      There are different ways to acheive this.

      1.
      Maybe just use an output that is set when a position is reached – and then read this output by the other robot.

      2.
      It is also possible to get position informations via MODBUS – so more informations at this link.

      http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/modbus-registers-read-position/

      3.
      It is also possible to get position informations via Matlab data – so more informations at this link.

      http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/client-interfaces-cartesian-matlab-data/

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  26. Hi,

    Is anyone using a OnRobot RG2 Gripper with UR Robot? I am trying to interface the gripper with my computer but the commands are not being executed. I even tried the instruction manual of the gripper and i have the URCaps installed but still no luck. Thanks in advance.

    Harsh

    1. Hi Harsh

      Thanks for the question.

      Maybe consider to contact your local On Robot provider and if they cannot help then ask them to conact On Robot.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  27. Dear zacobria,

    I used ursim-1.8 to do some simulations of UR5 and UR10 on my PC. I tried to use 2 files ‘switch_to_UR5 .sh’ and ‘switch_to_UR10 .sh’, but nothing happened. Besides, I got the same move joints of both UR5 and UR10 when I set the same tool position.

    I hope you could help me solve the switching problem.

    Thank you very much!

    Kind Regards,

    Qing Miao

    1. Dear Qing Miao

      Thankls for the question.

      On ursim-1.8 there might be a script file on the desktop for each UR5 or UR10.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  28. I’ve got a situation where we need to load a robot program on a UR5 that was developed on a UR3. I loaded all the UR3 program files into the /programs directory on the UR5 using SFTP. Then I tried to load the program .urp file and got the error message

    Error loading urp file

    No detailed information was provided.

    Does anyone have any experience porting programs from a UR3 to a UR5? What is the process?

    1. John

      Thanks for the question.

      This should done with care. Maybe consider to save the program on the UR3 on a clean empty directory on a USB.

      Then consider to transfer the USB to the UR5 and then load the urp file.

      The positions and functions needs to be verified carefully.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  29. And i am using python to send UR script to UR5

    But when i use the script like this:

    import socket

    import time

    HOST = “192.168.1.102” # The remote host

    #PORT = 29999 # The same port as used by the server

    PORT=30002

    print “Creating Socket Connection…”

    sckt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    sckt.connect((HOST, PORT))

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    s.connect((HOST, PORT))

    s.send (“set_digital_out(2,True)” + “\n”)

    data = s.recv(1024)

    s.close()

    print (“Received”, repr(data))

    it receives like this:

    (‘Received’, ‘\’\\x00\\x00\\x04U\\x10\\x00\\x00\\x00\\x1d\\x00\\x00\\x00\\x00\\x00\\x00\\x14\\xcbV\\x01\\x00\\x01\\x00\\x00\\x00\\x00\\x00?\\xf0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xfb\\x01\\xbf\\xf6*\\xe2\\x98R”\\xd8\\xbf\\xf8 Z(=UX\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00>\\x9d?\\xe4B;33A\\xf8\\x00\\x00Bf\\x00\\x00\\xfd\\xbf\\xf6\\x8c\\x00\\xc1\\xa6\\xdf\\x17\\xbf\\xf6\\n\\xeaC\\n\\x97\\x93\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00?\\x95\\xc9\\xf0B-\\xc0\\x01\\xa0%)=\\xe9\\x7f\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00?\\xd2U\\xedB;33B\\x04\\xcc\\xcdBl\\x00\\x00\\xfd\\xc0\\x04K\\xa7[\\xa5F\\xb2\\xc0\\x05IH\\xad\\x90\\xaeQ\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00>{l\\xa5B\\xba\\x01/\\x84\\xc0\\x10o\\xdf\\xb4\\xe9\\x9f8\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xbb\\xf9\\xdc\\xddB:\\xcc\\xcdB”fgB{\\x99\\x9a\\xfd\\x00\\x00\\x005\\x04?\\xad)\\x1a\\xe7Z\\xb5L\\xbf\\xe9\\xca\\xb0Ia\\x12\\xeb?\\xe7\\x04\\x9d\\xaew\\xc5\\xdd?\\xde\\x8d\\x1b\\xc6\\x9c(/\\xbf\\xf4\\x89\\xc3_O\\xa7\\xe9@\\x04\\x869I`\\x8e\\xfc\\x00\\x00\\x00\\xe1\\x05\\xe8\\xdb\\xc3\\x1f>\\xd5\\\’\\x9f\\xa4-\\x1f\\xff\\xe2\\xc41\\xff\\xbe\\xd6\\x80\\x1f\\xd9\\x9a\\xb2_\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xbf\\xdb333333\\xbf\\xd9\\x1d\\x92\\xb7\\xfe\\x08\\xaf\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00?\\xb6\\xd5\\xcf\\xaa\\xcd\\x9e\\x84\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00?\\xbb\\xe7l\\x8bC\\x95\\x81?\\xb7\\xce\\xd9\\x16\\x87+\\x02?\\xb4\\xfd\\xf3\\xb6E\\xa1\\xcb?\\xf9!\\xfbTREP\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00?\\xf9!\\xfbTREP\\xbf\\xf9!\\xfbTREP\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00@\\x03\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00B&fgB>fg>#\\xc5\\x80\\x00\\x00\\x00\\x00\\x08\\x02\\x00\\x00\\x00\\x00%\\x02\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00B2\\xcc\\xcd\\x18;\\xc4\\x9b\\xa6B`\\x00\\x00\\xfd\\x00\\x00\\x01\\xbd\\x06\\xc0\\x19!\\xfbTD-\\x18@\\x19!\\xfbTD-\\x18\\xc0\\x19!\\xfbTD-\\x18@\\x19!\\xfbTD-\\x18\\xc0\\x19!\\xfbTD-\\x18@\\x19!\\xfbTD-\\x18\\xc0\\x19!\\xfbTD-\\x18@\\x19!\\xfbTD-\\x18\\xc0\\x19!\\xfbTD-\\x18@\\x19!\\xfbTD-\\x18\\xc0\\x19!\\xfbTD-\\x18@\\x19!\\xfbTD-\\x18@\\t\\x99\\x99\\x99\\x99\\x99\\x9a@.\\x00\\x00\\x00\\x00\\x00\\x00@\\t\\x99\\x99\\x99\\x99\\x99\\x9a@.\\x00\\x00\\x00\\x00\\x00\\x00@\\t\\x99\\x99\\x99\\x99\\x99\\x9a@.\\x00\\x00\\x00\\x00\\x00\\x00@\\t\\x99\\x99\\x99\\x99\\x99\\x9a@9\\x00\\x00\\x00\\x00\\x00\\x00@\\t\\x99\\x99\\x99\\x99\\x99\\x9a@9\\x00\\x00\\x00\\x00\\x00\\x00@\\t\\x99\\x99\\x99\\x99\\x99\\x9a@9\\x00\\x00\\x00\\x00\\x00\\x00?\\xf0\\xc1R8-se?\\xf6W\\x18J\\xe7D\\x87?\\xd0\\x00\\x00\\x00\\x00\\x00\\x00?\\xf3333333?\\xd0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xbf\\xdb333333\\xbf\\xd9\\x1d\\x92\\xb7\\xfe\\x08\\xaf\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00?\\xb6\\xd5\\xcf\\xaa\\xcd\\x9e\\x84\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00?\\xbb\\xe7l\\x8bC\\x95\\x81?\\xb7\\xce\\xd9\\x16\\x87+\\x02?\\xb4\\xfd\\xf3\\xb6E\\xa1\\xcb?\\xf9!\\xfbTREP\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00?\\xf9!\”)

    Could you give some advice?

    Thanks!

    1. Hi Ni

      Thank for the quesion.

      This looks perfectly correct. That data received is Matlab data.

      What is the purpose and desire for your program ?

      Some more informations about the Matlab data at this link.

      http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/client-interfaces-cartesian-matlab-data/

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



    1. Hi Sylvio

      Yes.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  30. Please help with my UR5 project

    I have a UR5 tending a press that embosses material. I have integrated the UR5 with the machine control and have built a program on the polyscope with several sub programs.

    The robot always makes the same move in coordination with the machine. There are four positions that the robot needs to perform the operation for different parts. Right now I have the main program setup to pull the positions from variables. Currently I move to position 1 and then run a program that captures the position and stores it in a variable. I repeat this operation for the 3 other positions. Once the positions are set, I can run my main program.

    The problem I have is that I have not found a good way to store the 4 positions for multiple parts. Every time I switch parts, I have to reset the 4 positions. I would like to store the 4 positions for each part we run so that once you setup a part number, the next time you run it, you just recall the 4 positions.

    I have looked through all the advanced programming documentation and have decided that building a UCap plugin with Java is way beyond my ability. It also seems pretty complex to just save a table of positions and recall them by part number.

    I know some Python. Enough to be dangerous. So my thinking is to store the 4 positions by part number using Python running on a PC. I think I can handle getting the positions, storing them, and being able to recall the positions. Here is my problem.

    I would like to just write the 4 positions to the variables I’m already using and keep the other parts of my integration. Go to the PC. Put in part number to recall the 4 positions. Send each position to the proper variable. Then run my main program.

    I can’t figure out how to write to a variable using the script language. Is this possible ?

    If not, I’m considering writing all the logic in Python to control the robot.

    Thanks in advance for any help you can provide.

    Best regards,
    Mark Chollett

    1. Hi Mark

      Thanks for the question.

      Maybe it can be considered to store the position in a list of variables like i the example below. It should be possible to do within Polyscope with any advanced program language.

      http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/position-variables-1/

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  31. Hi,

    We have a automation project that has a manual door which allows anyone to enter to perform maintenance. As a safety precaution, we added a magnetic sensor into this door. This sensor is an input to safeguard pins (SF1 and SF2).

    It usually works as expected. When the door is closed, operation is running. When de door is opened, the operation is paused.

    However, it happens sometimes that when the door is closed slowly, we do get a safeguard disagreement warning. I do understand that it happens because of the delay between SF1 and SF2 input signals.
    The sensor is properly placed and it should not happen.

    1) What is the UR10 max delay between SF1 and SF2? I could not find it anywhere.
    2) Is there a way to increase this value so that we stop getting this error?

    Thanks!

    Sylvio

    1. Hi Sylvio

      Thanks for the question.

      I have not seen any data or options to change this timing. For safety reason it is also better to improve the contacts to change at the same time.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  32. Hi Lars,

    I was wondering if there is any documentation anywhere about the joint compliance of the Universal robots? Also will the robot move in it’s required direction even if there is a force opposing it’s motion like a spring?

    Kind Regards

    Joe

    1. Hi Joe

      Thanks for the question.

      I have no information on that.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



    2. Good morning everybody,

      I’m sorry for posting my question in this topic, but I’m newbie on this forum and didn’t found how to create a new one.

      I’m currently working on a project where the UR is installed on a Linear axis which communicates by PROFINET.

      I’d like to know if it would be possible to report the robot status to the PLC, and on a HMI by using a PROFINET output. I mean, I need to send the information to the PLC, when the robot is stopped, or when it has an error.

      Thank you

      1. Hi Raymond

        Thanks for the question.

        If the Profinet can reached the robots port 29999 on the robots ethernet – then the status can be fetched from there. More informations at this link.

        https://www.universal-robots.com/how-tos-and-faqs/how-to/ur-how-tos/dashboard-server-port-29999-15690/

        Author:
        By Zacobria Lars Skovsgaard
        Accredited Universal Robots support Centre and Forum.

        Also check out the CB3 forum



        1. Hi Lars,

          thank you for your quick reply.

          I have another question concerning a second project where the UR has to work in 2 separate zones which are securized by 2 Sick scanners.
          My customer wants to enable the robot to work in a safe zone, and authorize the operator to work in the second zone.
          If the input of the 1st scanner is high, I have to pause the program, and continue without any reset, if the input is low.
          I have tried with connecting the scanners to Digital Inputs, and maange the signals with a thread, but it didn’t work.
          I didn’t found any other way.

          Thank you

          1. Hi Raymond

            The yellow inputs are safety inputs that can be configured to trigger a safety stop when the input is activated by an external component for example a safety scanner.

            The safety input are configured in the “Safety” menu under “installation” and the UR manuals has more informations about this.

            Author:
            By Zacobria Lars Skovsgaard
            Accredited Universal Robots support Centre and Forum.

            Also check out the CB3 forum



        1. Hi Raymond

          Thanks for the question.

          Maybe it can be considered to use functions as sub programs with parameter transfer. More informations at this link.

          http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/functions-1/

          Author:
          By Zacobria Lars Skovsgaard
          Accredited Universal Robots support Centre and Forum.

          Also check out the CB3 forum



  33. Hello UR Experts

    I need to build a single line pallet into a storage bin (21 layers) . Due to the gripper being much bigger than the product, the first 5 positions the gripper needs to face forwards. The last position, I need to rotate my gripper 180 degrees because the gripper will foul on the edge of the box.
    Can I use the wizard in polyscope to do this? If I teach my first position with the gripper at 0 degrees and the 6th at 180 degrees, what will happen in the middle?
    If I can’t use it, am I able to do the basic program in Polyscope and then export it and modify in URScript?

    Thanks,
    iliangas

    1. Hello iliangas

      Thanks for the question.

      How many positions are there in each of the 21 layers ?

      It might be considered so the Polyscope program consists of two separate Pallet routines – One routines for the first 5 positions and then another Pallet routines for the rest positions if this is possible.

      Another method could be to use the row or column counter variable to make a “If” condition to rotate the tool head.

      Or if the total number of positions are limited then make a Polyscope program with each position as a Waypoint instead of using Pallet routines.

      URscript does not seems to be the straight forward choice for this case.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  34. Hi,

    I was wondering if you could help with a problem I’m trying to solve with a UR5. I’m sending an instruction to move slowly in one direction but before this movement is complete, under certain circumstances, I need to send another instruction to move to a different position. How would I go about achieving this?

    Apologies if this has been asked before.
    Thanks in advance,
    Jasper
    Jasper

    1. Hi Jasper

      Thanks for the question.

      Maybe consider the option “Check expression continuously” in an “If” statement. – more information at this link

      http://www.zacobria.com/universal-robots-zacobria-forum-hints-tips-how-to/if-then-else-conditions/

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



      1. Thanks for the reply. I think I should have mentioned that the instructions are coming over TCP/IP and the new movement (from the socket) isn’t updated until the first movement is finished. Is there a way to continuously read the message coming from the socket?

        Thanks,

        1. Hi Jasper

          It depends on how you send over the TCP socket. Are you using a Client-Server method ?

          Otherwise some infor can be found at this link

          http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/script-from-host-to-robot-via-socket-connection/

          Author:
          By Zacobria Lars Skovsgaard
          Accredited Universal Robots support Centre and Forum.

          Also check out the CB3 forum



          1. That means there is a Polyscop program running – maybe consider in that polyscope program to use the “If” with “Check expression continuously” to monitor an input – and then change the input when need to branch out of the “If” to where reading new data on the TCP socket.

            Author:
            By Zacobria Lars Skovsgaard
            Accredited Universal Robots support Centre and Forum.

            Also check out the CB3 forum



          2. How do I continuously monitor an input whilst a movement is taking place? Does the URscript not wait on the Movel command until it is completed? Would I need to use a thread?

            Thanks

          3. It depends on how the commands are send.

            How do you send the commands ?

            Can you show the Polyscope program ?

          4. Here is the script. It is the varible ‘slip’ that determines whether to stop executing the current move and perform another,

            Program
            BeforeStart
            var_1≔socket_open(“164.11.72.196”,30000)
            MoveL
            Waypoint_2
            sync()
            Robot Program
            Loop var_1≠ True
            var_1≔socket_open(“164.11.72.196”,30000)
            Wait: 0.5
            slip≔0
            sync()
            Loop
            socket_send_string(“asking_for_data”)
            var_2≔socket_read_ascii_float(7)
            var_1≔ False
            If var_2[0]≠0
            slip≔var_2[7]
            var_3≔p[var_2[1],var_2[2],var_2[3],var_2[4],var_2[5],var_2[6]]
            If slip≠1
            MoveL
            var_3
            socket_close()

          5. Sorry. It’s removed all of the indents! Essentially I send a command over TCP/IP and the final element of the command is a binary variable ‘slip’ that determines whether to carry on with the current movement or stop and perform another.

            Thanks,
            Jasper

          6. Hi Jasper

            Does this program run on the robot ?

            In the program would it be possible to consider something like this

            If slip≠1 and Input_0 ≠1
            MoveL
            var_3

            Consider to use the “Check expression continuously”.

            And then let the Input_0 be high when the robot have to move towards “var_3”. And then when the input at a certain point during movement is set to low – then branch out of the “If”.

            Author:
            By Zacobria Lars Skovsgaard
            Accredited Universal Robots support Centre and Forum.

            Also check out the CB3 forum



  35. Hoping someone could help me with a problem I am having. My application is a valve stem insertion into a rim where the robot presents the part and places it inside the hole and then using pneumatic pressure, the part is forced further into the whole until the seal has been made. My main problem is there is about a 1/2″ travel from the waypoint to where the robot ends up after the pressure has been applied and I recieve an error because of it. So my question is if it is possible to activate freedrive within a program for a certain amount of time? or maybe another suggestion? Thank you in advance for any insight into my issue

    1. Hi barton

      Thanks for the question.

      It might be possible to activate the freedrive using a Thread and a timer, but maybe it can also be considered to make the free travel as made as part of the tool – maybe spring loaded or with another cylinder because the time that it takes for the travel and sealing might be difficult to predict and thereby difficult to control with a rigid robot.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



      1. Thank you for the reply. I ended up using a force tension move with another waypoint in the finished position paired with the pneumatic force and is surprisingly consistent in my results.

  36. Hi!

    Regarding the pallet function, let me ask you something else:

    1) When using the pallet as “Line” mode and if you have more than 3 points (lets say 5), it seems to me that the TCP runs at positions following odd numbers than even numbers, i.e., 1, 3, 5, 2, 4. Is it possible to make it run in a sequence from 1 to 5?

    2) If I want to stack products with depth of 3 piles, where 1st row is 4 products, 2nd row is 3 products and the top one is 2 products, all of then aligned to the left.. I think there is no way of doing that using the current pallet options (lines, box, square…), right?
    Seems to me I will have to create 3-pallet instances using the “Line” mode in each one and handling then manually.
    What do you think?

    Thanks.

    Sylvio

      1. Hi Sylvio

        Thanks for your question and good to see that you found a solution.

        Author:
        By Zacobria Lars Skovsgaard
        Accredited Universal Robots support Centre and Forum.

        Also check out the CB3 forum



  37. Hi,

    I have 2 digital input signals that should allow main robot operation to run.
    As soon as any of these pins open, I need to Pause current Robot operation. And as soon as both pins close again, Robot should continue the oepration.

    I have no clue on how to pause the main operation neither by GUI not script programming.
    Is there a way to accomplish it?

    I thought about setting these 2 IO as “Action: Pause Program”. However, I als have no clue on how to continue or restart the operation when both pins are close (HIGH) again..

    Any tips are welcome.

    Thanks.

    Sylvio

    1. Hi Sylvio

      Thanks for the question.

      There might be different ways to accomplish this.

      1.
      Yes it is possible to use the function “Action: Pause Program”. Since the program need to Pause either of the two signals then these two signals can be “And” together externally and just use one input on the robot to pause when this signal changes. And then for the restart use another input on the robot that can be set to “Action: Start program” and then use the same signal as before but inverted to Start the program. In this way when the external signal go from Paused to Start the two input swap state and the robot start again.

      2.
      A program can also be Paused and Started from the Dash board server at port 29999, but that will require some more programming.

      More informations about the Dashboard server at this link.

      https://www.universal-robots.com/how-tos-and-faqs/how-to/ur-how-tos/dashboard-server-port-29999-15690/

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  38. Hi Lars,

    do you know of any public available documentation about hardware-changes of UR3, UR5 and UR10? I can’t find anything about modification of the manipulators – so can I guess that a UR5’s manipulator from 2011 will have the same specification as a UR5’s manipulator from 2017? Same question for the ControlBox…are CB1, CB2 and CB3 actually different hardware or is it just the software that differs?

    I’m looking forward to hearing from you.

    Best regards
    Mathias

    1. Hi Mathias

      Thanks for the question.

      Below is a link to the UR download section and maybe it has some of the information.

      Some specs is the same for example the 0.1mm repeatability, but many other specs are different and there are substantial hardware difference in CB1-Cb2-CB3 platform. CB3 has more I/O.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum


      !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?’http’:’https’;if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+’://platform.twitter.com/widgets.js’;fjs.parentNode.insertBefore(js,fjs);}}(document, ‘script’, ‘twitter-wjs’);


      !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?’http’:’https’;if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+’://platform.twitter.com/widgets.js’;fjs.parentNode.insertBefore(js,fjs);}}(document, ‘script’, ‘twitter-wjs’);

  39. Hi,

    I have been trying to concatenate 2 strings to send via socket_send_string() but no success.
    The main idea is to create a basic protocol where I can add a prefix and then a value as such as:
    var_1 = “12345”
    var_2 = “camera_value:” + var_1
    socket_send_string(var_2)

    How to achieve this? I know I can send the values in a separate way but it won`t be the case.
    So, how to concatenate 2 strings? Even writing a script like below won`t work:

    def concat(str1, str2)
    # popup(str1 + str2, “Test”, False, False)
    str3 = “%s %s” %(str1, str2)
    popup(str3, “Test”, False, False)
    end

    Thanks!

    1. Hi sylvioalves

      A robot is not really ideal for string handling compared to being a robot. Maybe it can be considered to do string handling externally of the robot and then send the strings to the robot – or maybe work with byte handling instead.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  40. Hi Lars

    A quick question. If I have 2 UR robots (UR10) side on side, is it possible to make some collision safety so they won’t move into each other. I have try to search the internet but nothing really came up.

    1. Hi Flemming

      Thanks for the question.

      Maybe it can be considered to setup a plane on each robot so they cannot overlap into each others workspace.

      It is also possible to retrieve the position of a robot – and then send that position over to the other robot – and then make the software on each robot in a way so a robot does not enter the space where the other robot is at – but it requires some substantial programming and sending data back and forth.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum



  41. Mechanical
    Mechanical hints and tips.

    Select a topic from the drop down menu.

    Edit
    5 thoughts on “Mechanical”

    Dorin Emanuel
    19 – June – 2014 at 15:26
    Hello again. Yes, your understanding is correct. I will look for assistance from our company’s Universal Robots provider.

    With respect,
    Dorin

    Edit

    Reply ↓

    Dorin Emanuel
    19 – June – 2014 at 14:28
    Hello Mr. Lars,

    At a power outtage, the brakes on our UR10 robot didn’t go on and the robot felt with the tool attached. The total weight of the tool is around 3.7 kilos, and in robot installation parameters it was put 5 kilos. The robot was mounted on vertical position, and in that time it was in a waiting position like the one in your site, right side upper banner. That means the robot was standing still keeping the robotic joints motors in current.
    It was expected that brakes are kept rose by applying a voltage to them. In case of missing this voltage, the brakes should go immediately like any other company robot. It’s a safety feature.
    Could you have any explains about this and could you guide me perhaps to a little more documentation about this aspect?

    Thank you.

    Edit

    Reply ↓

    zacopressadmin Post author
    19 – June – 2014 at 15:17
    Hi Dorin

    Thanks for your question.

    I am not sure if I understand you description correct for when there were power and current applied to the robot in the situation.

    The mechanical breaks are spring loaded solenoids that needs power to be disengaged and therefore will engaged if there is no power.

    Maybe ask you robot provider to take a look at the actual situation.

    Regards
    Zacobria.

    Edit

    Reply ↓

    Tom Svilans
    7 – May – 2014 at 01:19
    Hi,

    Are the specs of the servos available anywhere? Do you know what the make / models are of them?

    Best,

    Tom

    Edit

    Reply ↓

    zacopressadmin Post author
    7 – May – 2014 at 08:35
    Hi Tom

    Thanks for your question.

    I have not seen the specs, but I know the gears are Harmonic Drive.

    Regards
    Lars

  42. 80 thoughts on “Preface Universal-Robots CB2 Forum:”

    GANESH P
    30 – December – 2015 at 13:57
    Hi Lars,
    Is it possible to do master reset on UR10 (CB3 Controller) robot.

    Best Regards
    GANESH P

    Reply ↓

    zacopressadmin Post author
    30 – December – 2015 at 13:18
    Hi GANESH P

    Yes by Power cycle. There is also a connector inside the CB3 called “Power” where the robot can be switched by an external button.

    Author:
    By Zacobria Lars Skovsgaard
    Accredited Universal Robots support Centre and Forum.

    Also check out the CB3 forum

    Reply ↓

    srini
    15 – December – 2015 at 20:18
    Hi Lars,
    After switch on the power button in UR10 CB3 controller we get the message as
    The Robot cannot Proceed with Normal Operation
    .Robot :No controller
    Go to initialization screen
    Is this the message we get after we switch on the power button

    Regards
    srini

    Reply ↓

    zacopressadmin Post author
    16 – December – 2015 at 14:51
    Hi Srini

    Thanks for your question.

    That seems to be the normal messages – then you need to go to the initialization screen and On the robot.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Support Forum.

    Reply ↓

    GANESH P
    14 – December – 2015 at 18:20
    Hi Lars,
    QUES 1: REGARDING SINGULARITY
    If i move from random position to random position in UR10 robot i get singularity issues, is there any method to overcome the issue before i choose the coordinate values.
    QUES 2: REGARDING INTERMEDIATE POSITIONS
    How do i determine intermediate positions between two different positions.
    QUES 3: REGARDING PAYLOAD
    If i move the robot with 10 kg of payload but there is not load in the robot why the robot movement is behaving differently, is it necessary to take care of payload while loading and unloading .

    Best Regards
    GANESH P

    Reply ↓

    zacopressadmin Post author
    14 – December – 2015 at 20:34
    Hi GANESH

    1.
    A way that can be considered is to have safe waypoint positions on the way from the current position cordinates to the target position cordinates.

    2.
    You can consider to choose some intermediate positions that is known to be safe and valid pose for example by testing and verifying the safe positions beforehand.
    By using get_actual_tcp_pose you can know which area (polarity of for example X – Y – Z) of a cordinate system the robot is currently located – and if your target if in another area where for example X or Y or Z has change polarity then consider to to a safe position or positions that is inbetween these from and to cordinates.

    It can help a lot to use the GUI programming because then it is easy to see where a valid safe position is on the way to next position.

    3.
    Yes in TCP configuration you can set the TCP payload and center of gravity. And you can also set payload together with a I/O activation for example when you pickup a load.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Support Forum.

    Reply ↓

    Erik
    11 – December – 2015 at 22:43
    Hi everyone,

    I have a UR 10 with controller version 1.8.11281.

    I am trying to make it interact with a 3D sensor that gives me the x,y,z,w,p,r of the part and a gripper ID to grab the part in the coordinate system of the robot.

    The communication is working well ( communication through TCP/IP socket), I am able to place the info in a variable point with no problem.

    I have a transformation x,y,z,w,p,r to move my gripper from a common origin with the part to the position around the part corresponding to the ID number.

    I cannot find a way to apply my transformations and get the right angles at the end. Because the UR does not have multiple tools, i am using setTCP() and transpose() but it is sufficient here. Should i apply the transformation around the point or the tcp? How should i apply the transformation?

    How can i apply the transformation to place my gripper in the right orientation around the part? Am i missing something?

    Don’t hesitate to ask for more information. I am in deseparate need for help.

    Thanks

    Reply ↓

    zacopressadmin Post author
    12 – December – 2015 at 10:27
    Hi Erik

    Thanks for your question.

    Below are some links to some study for equations in a 6 degree system. These equations are over my head, but maybe there are others on the forum that also can contribute.

    http://folk.ntnu.no/tomgra/Diplomer/Kufieta.pdf

    http://en.wikipedia.org/wiki/Axis%E2%80%93angle_representation

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Support Forum.

    Reply ↓

    Erik
    14 – December – 2015 at 19:49
    Thank you Lars for your answer.

    I have digged deeper in my transformation steps and I realized that the pose_transis not working the way I thought. When I apply the pose_trans to the position I use to set the TCP, it only modifies the angles of the point and not the x,y,z translations like a transformation matrice is supposed to do.

    for example:
    tcp=p[0.15,-0.197,0.61,-2.87,0,0]
    rx=-14.78*pi/180
    tcp:=pose_trans(tcp,p[0,0,0,rx,0,0])
    returns tcp=p[0.15,-0.197,0.61,-3.13,0,0]

    I would like something like to get tcp= 0.15,-0.04387,0.639,-3.13,0,0
    Is there any formula that would let me apply a transformation matrice to a point?

    Thanks,

    Erik

    Reply ↓

    zacopressadmin Post author
    14 – December – 2015 at 20:03
    Hi Eric

    There are some other functions like d2r etc. (more in the script manual) which I am not sure if they can help you ?

    Or maybe you can consider to do math on each indivuídual element like

    tcp=p[var_x,var_y,var_z,var_rx,var_ry,var_rz]
    var_rx=-14.78*pi/180
    var_ry= ………
    var_rz= ………
    tcp=p[var_x,var_y,var_z,var_rx,var_ry,var_rz]

    I do not know the math you are trying to acheive, but its the concept I show.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Support Forum.

    Reply ↓

    GANESH P
    11 – December – 2015 at 13:32
    Hi Lars,
    Is it possible to create software emergency stop in UR10.

    Best Regards
    GANESH P

    Reply ↓

    zacopressadmin Post author
    11 – December – 2015 at 15:03
    Hi Ganesh

    Thanks for your question.

    By normal international standards an Emergency stop should not be programmed, but be hardwired in order to avoid if the program has an error so the stop doesn’t work.

    In the program you can control output and set a relay that open a contact which can create a stop, but I wouldn’t call it an emergency stop.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Support Forum.

    Reply ↓

    GANESH P
    11 – December – 2015 at 12:49
    Hi Lars,

    Reply ↓

    Prasath
    10 – December – 2015 at 14:30
    Hi lars,
    i have written a script program with implement client-server, PC as server and UR10 as client and tested it. its working fine.

    But i would send TCP positions or Joint positions, Acceleration and Velocity through socket and in the receiving side i have used movej and movel to move the robot, but i need some clarification, weather the robot speed depends on the Acceleration and Velocity which we send or the teach pendant speed or it takes both in to account if so then how it calculates.

    Reply ↓

    zacopressadmin Post author
    10 – December – 2015 at 17:06
    Hi Prasath

    It is possible to give the acceleration and velocity parameters in the script command

    movej([-0.1, -1.4, 1.64, -2.00, -1.57, 1.52], a=1.4, v=1.0)

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Support Forum.

    Reply ↓

    Prasath
    11 – December – 2015 at 15:17
    Okay, Whether the robot speed depends speed which we send(movej(positions, acceleration and velocity)) or also depends on speed shown in teach pendant?

    Reply ↓

    zacopressadmin Post author
    11 – December – 2015 at 15:00
    Hi Prasath

    Yes can be both.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Support Forum.

    Reply ↓

    Prasath
    14 – December – 2015 at 18:51
    Hi Lars,
    If it depends on both of the speeds, then is there anyway to calculate the actual speed of the UR10 robot ?

    Example:
    i will give acceleration – 0.5 and velocity 1 and teach pendant speed 10%, Then how can we calculate the speed of the robot?

    zacopressadmin Post author
    14 – December – 2015 at 18:14
    Hi Prasath

    The speed slider is mainly for commissioning and troubleshooting purpose. During normal program run it can be at 100% and therefore is normally not to be factored in for the calculation of speed.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Support Forum.

    Prasath A
    26 – November – 2015 at 10:50
    Hi Lars,

    Actually i try to achieve client server communication between PC and UR10. Here server should be PC and Client is UR10.

    Thanks & Regards
    Prasath A

    Reply ↓

    zacopressadmin Post author
    26 – November – 2015 at 11:36
    Hi Prasath

    Yes thats what the “Client-Server” example on this forum acheive – the “client” socket_open is on the robot program side.

    Regards
    Lars

    Reply ↓

    Prasath A
    26 – November – 2015 at 13:53
    Okay, Thank you Lars

    Reply ↓

    Prasath
    22 – November – 2015 at 00:01
    Dear Lars,

    I have some more doubts regards configuring the ESTOP finction. please clarify it

    1) What is the method to configure the configurable inputs and outputs as Safety inputs and outputs?

    2) Once the configurable I/O are configured as Safety I/O, are they programmable with scripts through the Ethernet link? Or does the UR-10 automatically connect these I/O to the internal Safety logic without user control ?

    3) When configured as Saftey inputs and outputs, do these operate as ESTOP input and output to halt the robot, or as Safety I/O that cause the robot to go into reduced mode ?

    4) What is the behavior of configurable outputs when configured as Safety Outputs?

    Reply ↓

    zacopressadmin Post author
    23 – November – 2015 at 08:42
    Dear Prasath

    Thanks for your questions.

    1. There are many different functions and methods to configure the configurable I/O e.g. limiting speed and force or stop or set outputs when an input is triggered or setting of planes for imaginary boundaries. You might ask your robot provider to show you how to set.

    2. The functions are set via the Safety menu in the GUI on the robot.

    3. It is possible to configure both different functions so it is depending on how you choose to configure.

    4. It will perform the action you have chosen from the safety menu.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Support Forum.

    Reply ↓

    Prasath
    24 – November – 2015 at 04:09
    Dear Lars,

    Thanks for your valuable help again and again.

    Here with am continue another queries sir, Now i am stuck with TCP configuration and calculation.
    1). Is there any formula for calculation of TCP?

    2). I am confusing with calculating the X,Y,Z and RX, RY,RZ co-ordinates. and how to find x,y,z axis at each movement of UR10.

    Reply ↓

    zacopressadmin Post author
    24 – November – 2015 at 11:59
    Hi Prasath

    1. There are some informations at these links

    http://www.universal-robots.com/how-tos-and-faqs/faq/ur-faq/actual-center-of-mass-for-robot-17264/

    http://www.universal-robots.com/how-tos-and-faqs/how-to/ur-how-tos/calculate-tcp-payload-15809/

    2. The command get_actual_tcp_pose will get the data.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Support Forum.

    Reply ↓

    Prasath A
    26 – November – 2015 at 00:38
    Hi Lars,

    I have written code for socket communication through TCP/IP and try to communicate with UR10 robot through TCP/IP socket in C++ programming. Initially i had configured PC as client and UR10 is server in port number 30002 and IP address 192.169.100.101 ( for PC), 192.169.100.100 ( for UR10) the communication was established. also i have initiated server in PC side port number 30000. Then i send this command “socket_open(192.169.100.101,30000)\n” from PC client socket(PORT 30002) to initiate the UR10 client connection to the PC. The commend was successfully sent, but client was not initiated from UR10.

    My idea here is to enable the client from UR10 using my own software. Request you to kindly suggest us to the way to implement this method.

    Thanks and Regards

    Prasath A

    zacopressadmin Post author
    26 – November – 2015 at 01:44
    Hi Prasath

    I have not heard about this odd combination before of sending a command to open a socket to where the command is already comming from or maybe send a command to a device to open a socket to another server. I am not sure this is intended. You might consider to have a program on the robot side where the socket open command reside like in the example on the forum shown at this link

    http://www.zacobria.com/universal-robots-zacobria-forum-hints-tips-how-to/script-client-server-example/

    What are you trying to acheive ?

    Regards
    Zacobria

    Prasath
    18 – November – 2015 at 20:57
    Dear Lars,

    Thank you

    Reply ↓

    Prasath
    16 – November – 2015 at 14:55
    Hi,

    I am newer in programming of UR10 robot. Here i need to configure UR10 i/o with modbus using script. So Please suggest me some idea for doing the program.

    Reply ↓

    zacopressadmin Post author
    16 – November – 2015 at 15:59
    Hi Prasath

    The easiest way to work with Modbus is to use the build in configuration menu. An example can be found here.

    http://www.zacobria.com/universal-robots-zacobria-forum-hints-tips-how-to/modbus-io-nodes/

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Support Forum.

    Reply ↓

    Prasath
    16 – November – 2015 at 20:41
    Dear Lars,

    Thanks for your valuable suggestion. And is there any specific script function to read and write for configurable i/o, which are configured for i/o function.

    Reply ↓

    zacopressadmin Post author
    16 – November – 2015 at 21:55
    Dear Prasath

    Once you have configured the I/O names as shown in the example you can use these names right away in the programming.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Support Forum.

    Reply ↓

    Prasath
    17 – November – 2015 at 22:23
    Dear Lars,

    So, By script can read and write internal I/O of UR10 without using modbus.

    Thanks Lars

    zacopressadmin Post author
    17 – November – 2015 at 22:30
    Dear Prasath

    Yes – some example at this link

    http://www.zacobria.com/universal-robots-zacobria-forum-hints-tips-how-to/script-programming-from-the-teaching-pendant/

    The script manual also gives good description of this command.

    http://www.zacobria.com/pdf/universal-robots-scriptmanual-en-v-3-1.pdf

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Support Forum.

    Prasath
    18 – November – 2015 at 10:33
    Thank you Lars

    Prasath
    18 – November – 2015 at 16:48
    Dear Lars,

    i have saved ten different programs in polyscope GUI. here my doubt, Is there any possibilities to access those saved programs via socket programming?

    zacopressadmin Post author
    18 – November – 2015 at 16:27
    Dear Prasath

    There is the dashboard server – more information can be found here.

    http://www.universal-robots.com/how-tos-and-faqs/how-to/ur-how-tos/dashboard-server-port-29999-15690/

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Support Forum.

    Peter
    2 – July – 2015 at 18:22
    Hi

    I have an error code, C153A1: Protective Stop: Position deviates from path: Shoulder.
    I have looked in the CB3 service manual and it is there but no description on how to rectify.

    Can you advise please?

    Regards

    Peter

    Reply ↓

    zacopressadmin Post author
    2 – July – 2015 at 19:29
    Hi Peter

    You need to contact your robot proviede – it could be hardware related.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Distributor.

    Reply ↓

    Matt
    1 – May – 2015 at 23:25
    we have a new robotiq 2 finger 85 gripper and we would like to send scripting commands from a PC to control the robot as well as the gripper. We have tried sending the commands such as rq_activate_and_wait() but this does not work. Is there a way to do this?

    Reply ↓

    zacopressadmin Post author
    2 – May – 2015 at 17:51
    Hi Matt

    Thanks for the question.

    Where did you find the command “rq_activate_and_wait()” ?

    Are you trying to send via port 30002 ? – or have you made a client server application ?

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Distributor.

    Reply ↓

    Matt
    4 – May – 2015 at 05:01
    I am using port 30002. I found that activate command from the robotiq templates. That’s the name of the sub program that is called to activate the gripper.

    Reply ↓

    zacopressadmin Post author
    4 – May – 2015 at 15:51
    Hi Matt

    Then I think you need a program running in the robot GUI that uses this command and then maybe you can consider to construct your program so it receives data from a socket connection that trigger the command in your GUI program.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Distributor.

    Reply ↓

    Kade
    30 – April – 2015 at 14:11
    I tried to find where i can block the program, but the only way i found is to block the programming part of the touch-screen panel by setting a password.

    Can you tell how can i do this please?

    Reply ↓

    zacopressadmin Post author
    30 – April – 2015 at 19:51
    Hi Kade

    Yes thats correct you found it – use the password blocking.

    Then you make your program so the variables you want to change is Opperator input

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Distributor.

    Reply ↓

    Kade
    30 – April – 2015 at 21:48
    I found it! Thank you very much Lars!!

    Reply ↓

    Kade
    27 – April – 2015 at 22:33
    Hi,

    Do you know if we can block some part of the program on the panel, and just let some variables free to be modified?

    Thank you

    Reply ↓

    zacopressadmin Post author
    28 – April – 2015 at 08:31
    Hi Kade

    Thanks for your question.

    It is possible to block the entire program – and then have user inputs for variables.

    A variable can be assigned as “Operator”.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Distributor.

    Reply ↓

    Kade
    28 – April – 2015 at 18:22
    Thank you, so if i block the entire program, it’s impossible to do any modifications but it would be possible to change variables?
    If yes, can i choose which variables and let the others blocked?

    Reply ↓

    zacopressadmin Post author
    29 – April – 2015 at 20:33
    Hi Kade

    Yes you can choose. It is done in the programming where you set each variable that you want to be operator input during program execution.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Distributor.

    Reply ↓

    Peter Tobin
    27 – April – 2015 at 16:57
    Hi Lars

    I need some info.

    Is there any way that an external axis can be added to a universal robot and run synchronously with the robot, i.e. as a waypoint and remembering the user frame so when the extarnal axis turns, so does the user frame? If, not do you know if there are any plans to do such a feature?

    Reply ↓

    zacopressadmin Post author
    27 – April – 2015 at 18:17
    Hi Peter

    Thanks for your question.

    It is already possible to work with variable features – i.e. you can change the robots coordinate system (feature) during program execution – for example based on a variable you send to the robot over the socket connection or if it is only a few different external positions then maybe just select via a digital input.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Distributor.

    Reply ↓

    Ashfaq
    10 – April – 2015 at 19:12
    Hi Lars,

    Thank you for the immediate response.

    Reply ↓

    Ashfaq
    10 – April – 2015 at 19:59
    Hi,

    I had a question regarding the Robot software.
    Where can I find the changeLog for the robot software? I would like to know the differences between update-3.1.16828.urup and update-3.1.17336.urup

    Thank you.

    Reply ↓

    zacopressadmin Post author
    10 – April – 2015 at 19:02
    Hi Ashfaq

    Thanks for your question.

    Your provieder of the robot should be able to do that.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Distributor.

    Reply ↓

    zhijing
    9 – April – 2015 at 09:31
    Thanks very much, is there any manual about how to use a Linux OS that control the UR5? i can not find about it in the forum , i want it to help me use the OS to control the UR5, and i appriciate any this aspect information

    Reply ↓

    zhijing
    6 – April – 2015 at 19:03
    I have question, can we use Linux OS on Industrial robot direct to cotrl UR5? if it can, what work should we do or steps to implemet?

    Reply ↓

    zacopressadmin Post author
    6 – April – 2015 at 19:05
    Hi Zhijing

    Thanks for your question.

    It is already a Linux OS on Industrial robot that control the UR5.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Distributor.

    Reply ↓

    zhijing
    7 – April – 2015 at 21:14
    Thanks very much, i noticed that ; i want to ask you a question further, i have not use the OS to do any test yet, the Linux OS your provid is have the same function to control the UR5, that is to say i can progamming in the Linux OS and down load to the controller to control the UR5 moving like in the screen teaching pendant did, not just be a simulator, thank you.

    Reply ↓

    zihlmanm
    31 – March – 2015 at 17:28
    Hi Lars,

    just received our UR10 and starting to program it. As we would like to use it for deburring and additive manufacturing I wondered what approach you would take to automatically establish waypoints out of existing drawings. Is there a tool to convert gcode to urscript?

    Thanks very much in advance.

    Mike

    Reply ↓

    zacopressadmin Post author
    31 – March – 2015 at 18:08
    Hi Mike

    Thanks for your question.

    I am not aware of such program – if you find it will be interesting.

    Maybe you can consider to use the cordinates in the Move screen to help making waypoints.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Distributor.

    Reply ↓

    Peter Tobin
    27 – April – 2015 at 16:47
    Hi Lars

    I am currently developing such a process which will convert g-code to UR script, I am about 3-4 months from achieving this, so if you or any of your clients require this process, it will sonn be available, contact me privately for more info.

    Regards

    Peter

    Reply ↓

    zacopressadmin Post author
    27 – April – 2015 at 18:55
    Hi Peter

    Sounds like a interesting function – well noted thank you.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Distributor.

    Reply ↓

    Brendan Fogarty
    26 – March – 2015 at 05:14
    Thanks very much for your help again. That does exactly what I needed.

    Best regards

    Brendan

    Reply ↓

    Brendan Fogarty
    25 – March – 2015 at 14:25
    Thanks very much, I’ll try that. Does that mean the output will stay off when the program restarts, and will have to be actively turned back on in the program?

    Cheers

    Brendan

    Reply ↓

    zacopressadmin Post author
    25 – March – 2015 at 15:22
    Hi Brendan

    It depends which software version you are running – on the latest you can choose in the setting what the state should be at different condition.

    In earlier versions you might need to set it your self at the beginning of the program run.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Distributor.

    Reply ↓

    Brendan Fogarty
    25 – March – 2015 at 07:08
    Hello all,

    I am in need of help again. I am using a UR5 in an enclosed safety cell. When the cell safety circuit is broken by opening an access door, the UR5 program stops running. When the safety circuit is made good again, the program resumes running. Is there any way to recognise in the UR5 program that the robot program has stopped or restarted? If the access is breached by an operator, I need to perform some test moves when the program restarts. I cannot use the digital I/O for this, since it stops getting processed as soon as the safety is broken.

    Is there a system flag somewhere? How do i use it?

    Many thanks

    Brendan Fogarty

    Reply ↓

    zacopressadmin Post author
    25 – March – 2015 at 08:06
    Hi Brendan

    Thanks for your question.

    I would think you can use a output port because under Installation tab and I/O setup – select an output port that is not used – then below you can set the port to a certain state when the program is running or not running which could be your flag.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Distributor.

    Reply ↓

    Karl
    17 – February – 2015 at 22:07
    Hi Lars,

    Thanks a lot for the answer. In fact, i dont really know for facts what the robot will do at the end since im currently in a school project with it. I have tried to put the if in a loop but it is not working. When i change the output from a true to false, the program stop even in the loop. The little exemple i gave you was just a test to help me understand how to do it. I would have then apply my understanding to the rest of my program to make the program I need.
    Thank you for your help.

    Reply ↓

    Karl
    19 – February – 2015 at 02:12
    HI Lars,

    I have an other question. I am trying to make the UR communicate with an Allen-Bradley PLC. Is it possible?

    Thank you

    Reply ↓

    zacopressadmin Post author
    19 – February – 2015 at 09:50
    Hi Karl

    Yes through Ethernet – either establish a socket connection or use Modbus.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Distributor.

    Reply ↓

    Karl
    12 – February – 2015 at 03:57
    Hi Lars,

    I am having a little trouble with the programation. When i use the IF/ELSE instruction, is their a way for me to make the program loop from the beginning. I want to use the IF/ELSE instruction to be able to do two different moves.
    Ex : if digital_out(0)=true
    move waypoit 1
    move waypoint2
    Else
    move waypoint 3
    move waypoint 4

    What i want to do is after making the moves, if i change the state of digital_out(0), i want to start making the other moves without having to start my whole program again.

    Reply ↓

    zacopressadmin Post author
    12 – February – 2015 at 07:28
    Hi Karl

    Thanks for your question.

    It depends what the rest of your program does ?

    I sounds for me like you wish to have this IF and the moves in a forever loop ? – so you can insert this into a loop – and the loop can have a condition also if it is not to be forever – but then the rest of the program does not have any use when the loop is active. Maybe I need to understand the rest of your program.

    There is also the feature “Check expression continuously.”
    Which has an explanation here

    http://www.zacobria.com/universal-robots-zacobria-forum-hints-tips-how-to/if-then-else-conditions/

    There are other ways to achieve change of position during program running, but I need to understand the overall flow in your program.

    Author:
    By Zacobria Lars Skovsgaard
    Authorised Universal-Robots Distributor.

    Reply ↓

    bobrien
    31 – July – 2014 at 02:28
    Hi there,

    I have a question. I have been working with my UR5 for almost two weeks now and I am about ready to load a program that we have written onto the UR5. I received it from the developer in both a .txt format and .script. Is there a way to get one of these files to run on the UR5 once I have used a USB and a magic file to upload them to the device?

    Thanks,
    Bob

    Reply ↓

    zacopressadmin Post author
    31 – July – 2014 at 10:26
    Hi Bob

    Tanks for your question.

    Well ya kind of, but it is much better to ask for the .urp file from the developer – then you can run it directly.

    The UR saves 3 files when a program is made

    a x.urp file which is the binary file that can be run directly on the UR.
    a x. script file that is a script representation for the same program.
    a x.txt file that is a text representation of the same program only for information.

    The x.script file contains some headers and comments that needs to be manually edited before it can run as an imported program on the UR.

    Try and read this

    http://www.zacobria.com/universal-robots-zacobria-forum-hints-tips-how-to/script-programming-from-the-teaching-pendant/

    Regards
    Zacobria

    Reply ↓

    Kale
    30 – January – 2014 at 19:59
    I am new to robotics, but i am finding UR to be very user friendly. i have a background in AB plc’s, this helps when looking at stepping through a UR program. my problem is with the “if….elsif” command. i put an “if” command in that says “input 1 = true” run subprogram 1. below that i put “if” “input 1 = false” run subprogram 2. these statements are lines 1 and 2 in my program. they turn green after i enter them in, but when i hit the play button i get “syntax error line 1, (program name). why is this?

    Reply ↓

    zacopressadmin Post author
    31 – January – 2014 at 00:02
    Hi Kale

    Thanks for your email.

    I need to see you program to be sure, but you need to have the Sub routine below the If statement i.e. in the Action field as Call Sub Routine.

    And then below that that another If… statement for next condition.

    Regards
    Lars

    Reply ↓

    RPB
    23 – May – 2014 at 23:11
    Is it because the “Else” is missing ?

    If input 1=true
    Call subprogram 1
    Else
    Call subprogram 2

    Reply ↓

    zacopressadmin Post author
    24 – May – 2014 at 08:27
    Hi RPB

    Thanks for your messages – not sure I understand your question – Else is there.

    Regards
    Lars

    Reply ↓

    1. Dear Lars,

      I saw that in CB3
      “Now monitoring the target position vs. the actual position more tightly
      Added “Protective Stop: Position deviates from path” when the robot is pushed away from it’s path
      Robot can resume programs after protective stop or emergency stop”

      So i am getting this error : UR10 C153A1 protective stop : position deviates from path shoulder
      what if i would like a relaxed constraint .
      please help.

      1. Hi Ravi

        I am not sure I understand your question – what do you mean that you saw on CB3 ?

        How is the robot being pushed away ?

        Author:
        By Zacobria Lars Skovsgaard
        Accredited Universal Robots support Centre and Forum.

        Also check out the CB3 forum



      2. Hi Ravi,

        I have the same issue when the robot collides very lightly with a pallet when dropping the part. I get the error: UR10 C153A1 protective stop : position deviates from path shoulder. I know its possible to solve it by having the drop location slightly higher but the code is already in production and this error happens very rarely.

        Did you manage to have a relaxed constraint?

        Prajval

Leave a Reply

Your email address will not be published. Required fields are marked *