Industrial automation plays a major role in mass production i.e., in manufacturing, and assembly. Automated assembly operations are carried out by following some sequential steps. Individual parts are to be fed from bulk in the right orientation to achieve a successful assembly. The main problem that had been taken up in this work is to automate the pin insertion system.
In many places pin insertion is still being done manually or most commonly in the present-day production line, these processes of feeding and orienting of parts are achieved with the use of parts feeders such as Vibratory feeder, Reciprocating Feeder, Segment or Sword feeders, etc. integrated with a hopper and different orienting and pinning devices. If we can replace this pre-existing system with a Robotic Arm-based automated system, it will make the process more efficient and will also lower the labor requirements while maintaining high precision and high accuracy even at higher cycles.
Although vibratory feeder-based systems are autonomous, they are not up to the mark efficient when it comes to energy usage, product quality of the assembled product. Also, as these Vibratory feeders mainly use mechanical filters to filter out the disoriented parts from the rightly oriented ones, there are also chances of jamming which needs human interventions and as a result slows down the total process.
Vibratory Bowl Feeder
Robotic Arm
On the other hand, Robotic arms-based systems will use intelligent computer vision techniques to know about the orientation of the fed parts. The Robotic arm on getting this information will be able to pick up any pin even if it is rightly oriented or not and thus performing both as a hassle-free pin-orienting and also finally as a pin insertion device. In this work, it has been tried to investigate those feeding systems in detail and propose an inspired but more efficient solution for the automated pin insertion problem. The primary components of the design proposed to consist of a six-degree of freedom Robotic Arm that uses computer vision.
The proposed solution for the automated pinning mechanism should be able to –
Feeding the right number of pins from the bulk of pins.
Sort individual pins from a bulk of pins and rightly orient each one of them before insertion.
Insert the sorted pins in the holes of a metal plate.
Finally, have a feedback loop for both the above processes so to make sure the pins are sorted and oriented before insertion, and lastly check if all the holes are pinned.
This is inspired heavily by the existing solutions but developed to be much more efficient. The primary component of this mechanism is a Robotic Arm integrated with a camera sensor. The Robotic Arm is contributing both as an orienting and an insertion device. Thus, the Vibratory Bowl feeder or any other type of feeder system can be excluded, and also the insertion heads previously used.
Pins are placed in a hopper, which performs as a basic storage device. This hopper has an inclined surface and a reciprocating delivery tube at the bottom. As the name suggests, this delivery tube is reciprocating up and down and will feed individual pins from the bulk to a supply conveyor. The diameter of the reciprocating tube is equal to the maximum diameter of the pins or the diameter of the head of the pins. Thus, ensuring only a single pin will get inside the reciprocating tube at a time. The inclined surfaces of the hopper are also designed such that it does not jam the reciprocating motion of the tube due to the weight of the bulk above. The pins from the bulk can enter the reciprocating tube either in inverted or noninverted orientation.
Reciprocating Tube Hopper
Now the pins fed from the hopper are passed on to a supply conveyor. The supply conveyor takes these pins to a point that can be called as the pickup point, from which the Robotic arm picks up each of these pins.
In the meantime, the pins are being passed on under a camera before they reach the pickup point. Snapshots of each pin are taken by the camera in order. These images are being processed with a microprocessor. The robotic arm grasps each pin from the pickup point. Pins coming from the hopper can either be inverted or non-inverted, as a result, there are only two possibilities of outputs from the image processing.
Again, as there are only two possible orientations in which the pins can come to the conveyor, the robotic arm also has only two possible pickup orientations. The data generated from the image processing are sent to the robotic arm in order. The robotic arm gets to know about each pin orientation and positions itself accordingly for pickup.
Finally, on picking up individual pins from the supply conveyor, the robotic arm inserts them in the holes present on the plates. On successful completion of insertion of pins along a row, the plates move unit distance forward such that the next row of unpinned holes are aligned at the same spot as the previous one. The switching on and off of the motor of the supply conveyor as also the reciprocating tube in the hopper is controlled by sensors present in the system, i.e., the feed rate will also be autonomously controlled with ease.
Basic Workflow
The software used for simulation is Webots, a free and open-source 3D robot simulator. The Webots world constructed consists of an IPR robotic arm, different distance and position sensors, a camera, pins, a plate with holes, and two conveyors - a supply conveyor supplying pins and a conveyor on which the plate is placed.
The Robotic arm is placed at an optimum position so that its grippers can easily grasp on the pins and place them in the holes of the plate. The track supply conveyor is motored by a linear motor and monitored by a distance sensor placed at the pickup position, detecting objects/obstacles (pins) on the conveyor from a transverse direction. Whenever the distance sensor detects a pin the supply conveyor stops and waits till the robotic arm picks up the pin. A camera mounted above the supply conveyor takes images of each pin. Just at the bottom of the camera position, there is a distance sensor that is integrated with the camera, mounted similarly to the previous one. Whenever the distance sensor detects a pin on the conveyor a snapshot is taken by the camera.
Environment Setup in Webots
On the opposite side of the robotic arm, another conveyor is placed which holds the plate with holes. After each time one row of holes gets pinned, the plate is moved forward so that the next set of rows of non-pinned holes are now at that position.
IPR Robotic Arm
The Robotic Arm used in this project is Neuronics’ IPR. Its six degrees of freedom are controlled by six servos (rotational) motors present at each joint. To get position feedback of the joints, six-position sensors are placed at each joint of the IPR. The grippers of the IPR are also equipped with touch sensors that give binary feedback on getting in contact with the pins.
The image is taken by a camera mounted above the supply conveyor. This image is processed to know about the orientation of the pin. As mentioned earlier, there are only two orientations of the pins possible – either ‘inverted’ or ‘non-inverted’. Depending on these two orientations the robot will align its grippers to grasp on the pins from the conveyor.
The image is processed using OpenCV in python. The algorithm can be stated as follows –
Firstly, the raw image is cropped to keep focus only above the pins With the help of thresholding, only the lighter regions (depending on the color of the object with respect to the background, whose orientation needs to be detected) of the images are made brighter.
To remove noises, erode() method is used to perform erosion on the image.
Now row-wise addition of matrix elements is to be performed for the image. Maximum values are located adjacent to the head of the pin whereas the minimum values other than zero are located adjacent to the body of the pin.
Now the location of the mean of this maximum valued position with respect to the mid-position of the image decides finally if the pin is in ‘inverted’ orientation or in ‘non-inverted’ orientation. If the mentioned mean is positioned in the upper region, then the pin is oriented in ‘non-inverted’ orientation or else vice versa.
Image Processing algorithm implemented on snapshots of Pins taken by Webots Camera
Camera Setup in Webots