Low cost vision system model ST-RVSIn normal robotics the object must be in a known position - a holder or feeder or gate etc. ST Robotics offer a low cost vision system for determining the position of an object which is not in a repeatable position in the usual way. The vision system sends coordinates to the robot so it can be gripped by the robot regardless of position. In addition the system can give you one critical dimension for inspection purposes, for example length.
Like all of ST Robotics products the ST-RVS is designed so you can set up the vision system yourself; you don't need a robotics expert. A detailed manual is provided along with unlimited free technical support.
The system comprises a high spec camera, C-mount lens with zoom, focus and exposure control and Matrox GigE interface and drivers. We can choose whichever camera size and resolution is required for the working area required. The hardware and software are easily installed in your own PC. The system includes PCIe card for PC (not suitable for laptops), all cables, CAT6 cable and camera power supply, all ready to go.
The camera and lighting should be mounted by the user about half a metre above the work area. The workspace should be shielded from stray lighting such as sunlight or fluorescent tubes. The camera is then calibrated to a disc and a rectangle of known size.
This is a high accuracy system
While finding and picking an object does not require much precision, the ST system facilitates positioning the object to very high precision, for example as on a test fixture. It also permits inspection to very fine tolerances. Standard resolution is 0.1mm but down to 0.01mm is possible.
How does it work?
The PC connects to the robot controller in the usual way via serial or USB. A second serial channel (or USB converter) connects to the robot controller second serial channel. So there are now 2 serial connections between the PC and the controller. This permits you to write your program in RobWin and test out communication with the camera as you go along.
Software is provided for the controller i.e. commands or words that you can use. The simplest command is just VISION. This then sends a command to the vision system. The camera takes measurements and sends back the position of the object in X and Y coordinates plus it's angle. The robot now knows exactly where the object is and its orientation and can pick it up rotating the wrist as necessary.
Final coordinates displayed and also sent to the robot as a string of 4 values followed by a flag to indicate a successful result.
The red cross is the camera center (0,0). The mauve cross is the centre of the object, shown in this example as 7.6mm on X and 6.2mm on Y from the camera center with the object tilted to 2.7 degrees. Note that the centre of the picture is not X=0,Y=0 of the robot. These are relative positions. The robot system therefore adds offsets to reach the exact position required.
Example calibration disc in a defined window with measurments and camera settings:
Parameters screen showing measured size of the object and camera settings.
Camera mounted on robot
This is another way of using the camera. It is more versatile because the robot can position the camera anywhere in the workspace but must be carried everywhere the robot goes which might not be convenient.
The robot first takes a 'look' at the object and the camera grabs the coordinates and orientation of the object. The robot can then move to that exact place and pick up the object.
This video shows a typical application. A backing sheet feeds along a conveyor. The robot picks up a box and must place it on the backing sheet central to within 1mm. The vision system tells the robot what the X-Y position and angle of the backing sheet. The robot adjusts the box accordingly and lowers onto the sheet. Four example show how even extreme angles are handled by the system.
In this video the camera is being used to actually learn positions so that the coordinates are of no interest and the teach pad is not required.
When setting up an application you can draw a box around the area where you expect your object to be. Objects outside this box are ignored.
The expected size range is entered into the system so that extraneous objects around that do not conform to the size are ignored.
You can also specify gripper spacing, for example if two objects are too close together for the gripper fingers to fit between them, then those objects are ignored.
Example of multiple objects:
The red areas are objects with parameters outside tolerance values.
Capturing object of interest ignoring extraneous objects:
Ensuring enough space for the gripper fingers: