Abstract:
Objectives: Build a mobile robot with an attached handler, with the capabilities of search the near area for objects, collect them, and put them in a specific place.
Methods: In order to achieve the proposed goal, the robot must perceive its workspace somehow. The robot perceives its environment through a simple webcam that records nearby area in real-time. The resulting stream of images is then processed frame by frame such a way that surrounding objects and obstacles can be detected. Some filtering techniques can be used to remove noise - random occurrences of undesired colored pixels - from an input frame, an approach that is common to image processing applications. Once most of the noise has been removed, the frames are processed to obtain information needed to process what appears in the workspace. The objects discovered in the workspace are highlighted after a special library function has been called to find their contours. As soon as the areas of the contours found are defined, some calculations are performed to evaluate which of them meets the requirements to be a target and how close it is from the robot. The coordinates of the object in the frame are used to set the movements the robot needs to make in order to get to the target.
Results: To test our system, we have set a workspace such a way that the robot could realize its work properly. The environment consists of a square area surrounded by a line that identifies the boundaries of the workspace as can be seen in Fig. 1. The objects in cylindrical form were chosen such a way that the robot’s gripper can grab them easily from every position possible. Some parameters were corrected later to ensure that a 180-degree turn could be realized without causing damage to the platform. The deposit of the object was as expected. Fig. 2 shows a snapshot of the moment the object is dropped. The moment following the deposit of the object was registered as well. Fig. 3 shows a snapshot of the moment the robot returns to the workspace.
Conclusion: After reviewing the work presented the learner should be able to understand how filtering techniques can be used to remove noise - random occurrences of undesired colored pixels - from an input image, and how this approach is useful to image processing applications. The reader should also be capable of understand how edge detection techniques can be applied to identify objects of interest in a frame such the resulting contours may be processed later. Some other learning objectives include understanding how to choose components to be used in a robot and an overview of the software library required to run such applications.