Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RobotIQ controller through RoboDK
#1
Hi guys,

Did you end up having success in controlling your RobotIQ controller through RoboDK? I've been searching through multiple forums but no one can seem to give a direct answer.

@Albert, what exactly does RunCodeCustom do specifically for a UR? Is it sending a raw UR.script file? How would I go about sending commands from RoboDK to open and close the RobotIQ gripper?
#2
The function RunInstruction (or RunCodeCustom which is the old naming) allows you to generate a program call at a given point in your program.

This will provoke a new line in your generated code.

You should make sure that the name of your program matches the specific function that drives your gripper. For example, if you use the Universal_Robots_RobotiQ post processor, it includes the functions to drive a 2 finger gripper. In that case, you need to call RQ_2FG_Close and RQ_2FG_Open. Example:

robot.RunInstruction('RQ_2FG_Open', INSTRUCTION_CALL_PROGRAM)
robot.MoveJ(target1)
robot.MoveL(target2)
robot.RunInstruction('RQ_2FG_Close', INSTRUCTION_CALL_PROGRAM)
robot.MoveL(target1)

To help you better integrate your RobotiQ gripper:
What gripper do you have?
Are you currently using a specific function to drive the gripper?

It may be better to open a new thread so that we can have a multipurpose post processor to support RobotiQ grippers and Force Control.
#3
I'm using the 2F 140 gripper on a UR5e series arm.

I'm not too sure I understand what you're explaining. Sorry, my understanding is quite new when it comes to comms between RoboDK and the UR controller.

I played around with that you described but couldn't get any response from the program. However, I did try creating a program which executes a Program Call Instruction named RQ_2FG_Close. When right-clicking and attempting to run on the robot, a pop-up message appears on the UR teach pendant saying MODBUS Signal Gripper_Status1 has been deleted. So I guess I'm on the right track.

When trying to look up information about configuring the MODBUS, the most promising information is from here:
http://www.universal-robotiq-grippers.co...-on-ur.pdf

However when loading the .installation file suggested here, I get a checksum error. These files are 5 years old now so I guess these are no longer appropriate for the UR5e series.


How would you suggest to proceed?

Just an update:

I've created 2 separate scripts using the UR teach pendant both opening and closing the gripper. I've exported this to my PC and I can send the raw script file via sockets and port 30002 using a seperate python script and this works. However, every time I run this, it disconnects RoboDK from the robot. Is there a way I can just incorperate this script in RoboDK with my existing project?


Cheers
#4
A further update for anyone interested:

I slowly learned that robot.RunInstruction('FunctionName', INSTRUCTION_CALL_PROGRAM), actually loads a program on the UR and executes. What I found however that this doesn't always work for some strange reason. The program loads, but nothing happens. Not only this, there was about a 5-second delay between the command being sent and then actually being executed.

I ended up disconnecting the RQ-2F from the UR controller and I'm now controlling it from the PC and execution is great, no delays at all. As I couldn't really find anything existing I created my own class using the pymodbus library. On top of that, I've also created a socket server that you can connect to via TCP so I now have two methods for controlling the gripper.

This has allowed me to control the gripper through my custom GUI as well as through RoboDK.

Happy to share it on request.
#5
Thank you for sharing this information! 
This is a great solution and it will allow you to deploy your project on any robot controller with minimal integration changes.
  




Users browsing this thread:
1 Guest(s)