Home Robotiq Products


Left ArrowBack to discussions page
TobyToby Posts: 5 Apprentice
edited October 2017 in Robotiq Products
Hey All,

Our application involves a payload that is quite large, and can vary in its CG / total mass. I was curious how the FT150/300 calibrates itself, so that we can replicate that in our code to run it when needed. I attempted a simple statics calculation to account for CG, but the output was not correct.


Best Answer


  • TobyToby Posts: 5 Apprentice
    additionally, I tried sending 'rq_set_zero' through the socket, but this didn't change the FT300's readings at all
  • URTrentURTrent Posts: 4 Apprentice
    Toby, I haven't used socket commands, but to verify functionality have you tried using the "rq_set_zero()" through just a simple script block in Polyscope?  I've been using this extensively to compensate for the weight of tools I pickup when trying to apply specific forces or set heavier parts down gently with success.
  • TobyToby Posts: 5 Apprentice
    @louis_bergeron Thank you, this works well.

    I use python-urx: https://github.com/SintefRaufossManufacturing/python-urx for the connection, and use this python code to reset the FT300:

    def reset_FT300(rob, wait=True): <br>&nbsp;&nbsp;&nbsp; prg = '''def prog():<br>&nbsp;&nbsp;&nbsp; if(socket_open("",63350,"acc")): <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; socket_send_string("SET ZRO","acc")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sleep(0.1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; socket_close("acc")<br>&nbsp;&nbsp;&nbsp; end<br>end<br>'''<br>&nbsp;&nbsp;&nbsp; programString = prg<br>&nbsp;&nbsp;&nbsp; rob.send_program(programString)<br>&nbsp;&nbsp;&nbsp; time.sleep(0.25)
    Afterwards, I can take into account the location of my weight by taking my mass vector: [0, 0, -9.81*mass] and rotating it into tool-frame, and then subtracting from my force readings.

Sign In or Register to comment.
Left ArrowBack to discussions page