Contact

Also checkout the new CB3 forum

Best Regards
Lars Skovsgaard
Managing Director

Zacobria Pte. Ltd.

47 Tannery Lane, #06-04
Elite Industrial Building II
Singapore 347794

Phone: +65 6884 4002
HP: +65 8127 9082
Email: LSK@zacobria.com
Web: www.zacobria.com
Skype: Lars_skovsgaard

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



29 thoughts on “Contact

  1. Varun

    Hello,
    I am a student working on an experiment on the UR.
    I want the robot to travel to 120 different points and back. Since the number of positions/poses are large, I decided to use an array with all my positions and I ran a loop to get this process done. Unfortunately i have been receiving a lot of errors. Could you please check if the script is correct.!

    This example is for 18 positions.

    def experiment():

    global z = [
    p[390,0,0,0,3,0],p[494,0,0,0,3,0],p[598,0,0,0,3,0],p[702,0,0,0,3,0],p[806,0,0,0,3,0],p[910,0,0,0,3,0],
    p[275,275,0,0,3,0],p[349,349,0,0,3,0],p[422,422,0,0,3,0],p[496,496,0,0,3,0],p[569,569,0,0,3,0],p[643,643,0,0,3,0],
    p[0,390,0,0,3,0],p[0,494,0,0,3,0],p[0,598,0,0,3,0],p[0,702,0,0,3,0],p[0,806,0,0,3,0],p[0,910,0,0,3,0]]

    j=1
    while j<=18:
    movel(z(j), a=1, v=0.25)
    k=j
    while k<=18:
    if k != j:
    movel(z(k), a=1, v=0.25)
    sleep(1)
    movej(z(j), a=1, v=0.25)

    end
    k=k+1
    end
    j=j+1
    end

    Reply
    1. zacopressadmin Post author

      Hello Varun

      Thanks for the question.

      Which error messages do you get ?

      Maybe consider to move ahead in small steps to get small parts of the function one at a time.

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

      Also check out the CB3 forum



      Reply
  2. Jan

    Hello,
    first of all thank You for this forum and all the experience you are sharing. Last week I started to work with an UR10 and my goal will be transporting thin material with a vacuum cup from A to B with the highest accuracy of pose possible. Do you have any recommendations on calibrating the UR10 or a way of programming that delivers a good resolution (~1mm or less).
    Thank you for any information.
    Many Regards,
    Jan

    Reply
    1. zacopressadmin Post author

      Hello Jan

      Thanks for the question.

      The UR robot is already calibrated from the factory.

      The robot repeatability spec is 0.1mm and by choosing Waypoints in Polyscope GUI 1mm can be acheived.

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

      Also check out the CB3 forum



      Reply
  3. Mary

    Hi,
    I have a pallet program that I would like to edit based on different sized items we are using. So, I want the robot to come down and touch a part, and based on the height of that part, edit the entire pallet to fit that specific sized part. Is there a way to do that automatically without creating multiple programs? I tried to do it using a “force” program, but am not exactly sure if that would work. I would appreciate any feedback you can give me.
    Thanks!
    Mary

    Reply
    1. zacopressadmin Post author

      Hi Mary

      Thanks for your question.

      Depending on the nature of the parts and also depending on the end effector whether it is a gripper or vacuum pads it might be necessary to have a sensor instead of the force function to detect the objects and then create some logic to calculate the pallet layout.

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

      Also check out the CB3 forum

      Reply
  4. Steve Haller

    I’m trying to create a generic script function to handle communications to an external information server. I’m able to connect and send strings without any issue, but I need to concatenate strings to make things more reusable. The code below does not work because I get an error that “+” can not be used with Const String variables. Is there a way to concatenate strings using script programming? FYI, I’m coming from vb.net background.

    def FISComm(type,pid,id,process,station,status):
    if pid == “”:
    socket_send_line(type + “|id=” + id + “|process=” + process + “|station=” + station + “|status=” + status)
    else:
    socket_send_line(type + “|pid=” + pid + “|id=” + id + “|process=” + process + “|station=” + station + “|status=” + status)
    end

    recv_from_serv = “”
    while recv_from_serv == “”:
    sleep(.3)
    recv_from_serv = socket_read_string()
    end
    return recv_from_serv
    end

    Thanks for any help,
    Steve

    Reply
  5. Alex

    Hello

    I just found this forum regarding Universal Robots today and it seems quite awesome. I hope that you can answer my question, which my own Universal Robots supplier could not. I have read the entire script manual for the robot and even though it is good, it is also still incomplete incomplete in my opinion. For instance if I have made a random test script like this:

    def myProg():
    a = 0
    def myFun():
    a = 1
    return a
    end
    a = myFun()
    varmsg(“The value of a is:”, a)
    end

    How do I execute it on the robot? Do I need a corresponding urp and txt file? How do I get those?
    I´m working on a quite large and complex assignment, so being able to program the robot from a normal editor on a PC, would give me much better overview and organization of the program, rather the working on the small controller touchscreen.

    Best Regards
    Alex

    Reply
    1. zacopressadmin Post author

      Hi Alex

      Thanks for your question.

      It is possible write script code into a simple flat txt file and then import it into the Polyscope GUI enviorment.

      For example a txt file prepared on a PC containing these lines




      def Activate_Cycle(Delay):

       

        varmsg("Delay",Delay)

        set_digital_out(1,True)

        sleep(Delay)

        set_digital_out(1,False)

        return Delay

      end

       

      def Calculate_Something(Data):

        varmsg("Data", Data)

        global Data = Data + 10

        return Data

      end

       


      Above are two functions inside the text file. Save the file and give the file a name for example function_1.txt to a USB drive. Insert the USB drive into the UR robot.

      This txt file can be imported into GUI by selecting “Script Code” from the Structure – Advanced menu and then insert as file. Navigate to the file that was created above maybe from a USB drive and select Edit – Insert File – Save & Exit.

      Then you can call these functions in your Polyscope program for example this Polyscope program below are then using the functions in the txt file.




      Program

         BeforeStart

           Set DO[1]=Off

           Delay0

           Data0

         Robot Program

           MoveJ

             varmsg("Data", Data)

             Waypoint_1

             Waypoint_2

             Delay1

             Data10

             Activate_Cycle(Delay)

             Data = Calculate_Something(Data)

         Script: function_1.txt

      It is possible to follow the variable change in the “Variables” tab when the program is running.

      However this method makes the program difficult to troubleshoot for others because if a imported file has many lines – it will only be shown as one line in the program execution and therefore if there is something that is wrong in the imported file it is difficult to see where that is.
      Maybe if you have a long equation and calculation that is static and will not be changed this approach can be used if the function is well tested.

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

      Reply
  6. ophardtur

    Hello
    I am working on a project where I needed extra I/O. I have a Modbus connection to a Beckhoff Modbus module and the controller picks up the IP address and all the green nodes are showing until the outputs are turned on then nodes go yellow with ER in them. What is the reason for this as I have tried changing the frequency but this made no difference.

    regards
    shane

    Reply
    1. zacopressadmin Post author

      Hi Shane

      Thanks for your question.

      It could be a Ethernet connectivity issue. How is your connection between the robot and Modbus node ? – any hub or switch in between ?

      What is the model number of the Modbus controller ? – and the output node ?

      Have the Subnet mask been setup ?

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

      Reply
    2. shane

      Hi Lars
      I have setup the IP address and subnet mask and when these setting were applied they stayed on the screen in the Setup network page. The modus is a Beckhoff Modbus BK 9050 and it seems to be connected to the controller of the robot as the green light on the connection is on and no red light on the Modbus module. There is no switch or hub as its just one cable from the controller to the Modbus. The I/O rack on the Modbus is not wired in but some inputs are showing high.

      regards
      Shane

      Reply
      1. zacopressadmin Post author

        Hi Shane

        When the I/O is not wired and the inputs are showing high seems odd – do you mean some outputs are showing high ?

        Do you have a terminator block on the rack ?

        What is the model of Output node ?

        Are there other nodes in the rack ?

        How is the IP setting on the Modbus node ?

        After you see the Er messages and press refresh on the UR screen – will it go green again ?

        Regards
        Lars

        Reply
        1. shane

          Hi Lars
          Do you have a terminator block on the rack ? YES

          What is the model of Output node ? KL1408 is input -KL2408 is output

          Are there other nodes in the rack ? 4 16 inputs /16 outputs on the modus

          How is the IP setting on the Modbus node ? Ip is 172.16.17.6
          255.255.0.0 is the subnet and connection is active.

          After you see the Er messages and press refresh on the UR screen – will it go green again ? YES will go grey and come back yellow with ER on it.

          Reply
          1. shane

            Hi Lars
            Sorry correction for previous post when the yellow node appears on the output node on the installation window it shows E2 on it not ER.
            regards
            shane

          2. zacopressadmin Post author

            Hi Shane

            Try first with one module in the rack i.e BK9050 and KL2408 and KL9010.

            Try to connect the Ethernet via a small hub so the Ethernet go through the hub – i.e.robot to hub – Modbus to same hub.

            Try frequency 1 or 2 Hz.

            In the Modbus setup screen on the robot – do you use “Output and Input” or “Register” ?

            Does the Inputs work correct ?

            Regards
            Lars

          3. shane

            Hi Lars
            only getting back to this problem again. I tried everything you suggested ,
            changed the configuration on the Modbus rack,
            changed the frequency to 2,
            put in the hub,
            I changed the IP address and it connected again without any errors.
            In the Modbus setup I used only digital input and digital output.
            But what we noticed was that some of the inputs and output signal lights on the I/O window were lit. This was always the case from the beginning.These correspond with the inputs that are hard wired into the controller. When we moved a read switch to make the signal go low the wired input showed low as well as a input on the Modbus screen and also one of the outputs on the Modbus screen went low as well. We also done this with the Modbus fully disconnected and still showed the Modbus input and output changing as the read switch went hi-low. The problem looks to be in the controller. I am stuck on this so any help is very much appreciated.
            regards
            shane

          4. zacopressadmin Post author

            Hi Shane

            I am not sure what you mean by wired into the controller ?

            By “controller” do you mean the “Modbus 9050 controller” ?

            If some input and outputs are lit – is that because something is connected to them ?

            Yes if you have strange signals showing on the 9050 Modbus controller are disconnected from the ethernet – it sounds like maybe the setup for the 9050 needs to be checked.

            Have you set the AMS-Net-ID ? Like 172.16.17.6.1.1 ? Have you setup a Default gateway address on the Modbus controller and on the UR ?

            Have you set the 9050 Modbus controller to 100 Mps and Full Duplex ?

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

          5. shane

            Hi Lars
            what I mean by a controller is the UR controller. The original I/O on the UR controller that are wired in are somehow showing on the Modbus I/O window and when a read switch which is wired into the I/o terminal on the UR controller is opened and closed it is also showing in the Modbus I/o window. There is no wiring done on the 9050 Modbus terminal block. I cant under stand how the modbus signal is been cross linked to the UR controller I/O. If I turn on the Modbus out put the node on the installation window for that output goes yellow withE2 in it.
            any ideas.
            Rgards

            Shane

          6. zacopressadmin Post author

            Hi Shane

            I seems like there is a IP address conflict and that the UR is seeing its own Modbus server.

            Make sure the UR and the 9050 Modbus controller has different IP addresses – and the addresses must be near each other so they are in the same Subnet.

            Then the IP address that is set in the Modbus screen on the UR must be the IP addreess of the 9050 Modbus controller.

            Is this the case ?

            Regards
            Lars

          7. shane

            Hi Lars
            I changed the IP address on the network setup page from 172.16.17.10 to 172.16.17.12. rebutted and SUCESS.
            Thank you very much for your help I was beginning to get worried as there was not many options left foe me.
            Many regards
            Shane

  7. Phil

    I noticed on one of your demo videos that you are using a joystick to control the tool location. Was the setup as easy as plugging in the usb joystick? Or, is there scripting or a second computer involved. We currently have a UR-10 and would really like to have this functionality. Details about how you were able to get this setup to work would be very helpful. Perhaps even a tutorial.

    Reply
    1. zacopressadmin Post author

      Hi Phil

      Thanks for your question.

      Yes we have a joystick solution we sell to our customers. I took me 3-4 months to make it and 2 months to test it. Yes it involves a second computer where the joystick is connected to and sending commands to the UR.

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

      Reply
  8. Franz Thannhaeuser

    Hello
    I’am currently working with “UR10 and UR5″

    my question
    How can I save the “LOG FILE”

    Best Regards,

    Franz

    Reply
    1. zacopressadmin Post author

      Hi Franz

      Thanks for your question.

      You can use a script called UR Magic files on a USB stick which will copy the log file to the USB drive.

      Your UR provider should be able to help with that.

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

      Reply
  9. Hernoux

    Hello,
    I’m currently working on a project using an UR10 robot. We use it with a leap motion to control in real-time the position and orientation of the tool and to control also a 3-finger robotiq gripper. You can find a video of what we are able to do here : https://www.youtube.com/watch?v=YJ5s3wxKZ30
    We are doing a C++ program to allow the user to control the robot without having to use the teach pendant at all, but we would like the user can have the hand on the robot at a moment. My question is : does it exist a function to send to the robot to put it in “teach mode”. In fact I’m searching a way to release the breaks at a moment to position and orientate the robot without having to push the button on the back of the teach pendant. We tried the force mode but the feeling is not the same at all than in the teach mode. The user has to put a stronger force to move the robot which is not the case with the “teach mode”.
    My second question is : Is it possible to transfer the messages that appear sometimes on the teach pendant? For example messages concerning torque limits, etc. ?
    These two points are really important for the project I’m working on.
    Any help would be very appreciated !

    Thank you very much for your help,
    Best regards,

    Franck Hernoux

    Reply
    1. zacopressadmin Post author

      Hi Franck

      Thanks for your question.

      Yes I have seen the video with the Leap Motion – very cool. We have done something similar, but with a Joystick.

      http://www.youtube.com/watch?v=7dcB62vsTwg

      I have not seen a command to set the robot in “Teach” mode aside from the “Teach field” in the Move screen and the dry contact.

      For the messages you might check with you robot provider if you can gain access to the log file and retrieve the information from there.

      Regards
      Lars

      Reply
      1. Hernoux

        Thanks for your reply !
        I will check with my robot provider then.
        Btw, nice video too, controlling the robot with a joystick is also an interesting idea.

        Regards,
        Franck

        Reply

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>