Control of a Movable Robot Head Using Vision-Based Object Tracking

Received Jun 12 th , 201x Revised Aug 20 th , 201x Accepted Aug 26 th , 201x This paper presents a visual tracking system to support the movement of the robot head for detecting the existence of objects. Object identification and object position estimation were conducted using image-based processing. The movement of the robot head was in four directions namely to the right, left, top, and bottom of the robot head. Based on the distance of the object, it shifted the object to many points to assess the accuracy of the process of tracking the object. The targeted objects are detected through several processes, namely normalization of RGB images, thresholding, and object marking. The process of tracking the object conducted by the robot head varied in 40 various object points with high accuracy. The further the object’s distance to the robot, the smaller the corner of the movement of the robot produced compared to the movement of the robot head to track an object that was closer even though with the same distance stimulant shift object. However, for the distance and the shift of the same object, the level of accuracy showed almost the same results. The results showed the movement of the robot head to track the object under the head of the robot produced the movement with a larger angular error compared to the movement of the robot head in another direction even though with the stimulant distance of the same object position and the distance shift of the same object. Keyword:


INTRODUCTION
The detection and tracking of the object's existence is important and critical especially in automated robot applications so as to interact like human performing autonomous moving, and obstacle avoidance [1], [2] and [3]. A stimulus-driven data processing and acquisition, active vision sensing coupled with spacevariant sensor are essential items that are inspired by the visual system of mammalian biology [4]. The vision sensors are also applied for machining automation to support intelligence system especially in the robotics system such as humanoid robots [5]. An autonomous motions especially in unpredictable area require several solvings in navigation and localisation tasks [6]. Robot vision used does not allow direct contact between sensors and objects, especially such as gamma radiation, [7] has adopted a robot vision as a tool in measuring grasping modules in dark spaces.
Furthermore, to ensure that machine vision is accurate, calibration is required on the accuracy and efficiency of the vision sensing system [8] and [9]. The accurate and online calibration are proposed by [10] to ensure the robot can detect the corners from the image. The implementation of vision sensing in color differentiation has been conducted by [11] in identifying Euclidean position of red spheres. Comba et al [12]  ISSN: 2088-8708 IJECE Vol. x, No. x, September 201x : xxxx 32 presents the vision sensing which develop smart equipments repetitive tasks in an autonomous path. The calibration process of the camera and robot scans has been suitable for the performance of the grasping point to be well-defined [13].
The development of communication technology in accessing the vision sensing is conducted using artificial vision and ant colony optimisation respectively so that it will be done more quickly [11]. It needs vision capability and safe workspace monitoring to perform real addressing in a case so that the robot can interact with the natural surroundings [14]. Sahib & Tiziano [15] proposes an Ant Colony Optimisation to identify an image in complex region. Yanling et al [16] applies a vision-based technology to track the seam in real time for robotic gas tungsten arc welding. On the other hand, Montironi [17] applies a quality control on production lines through vision-based robots using an adaptive strategy for automatic camera placement. Otherwise, to find the suitable detection for a humanoid robot, Qing Shi et al [18] develops an omnidirectional vision system with five Degrees of Freedom.
Several studies propose various vision-based systems to ensure robot tracking performance, by offering various methods for robot tracking even single or multi-robots and supported by a number of cameras [19]. Kinnell [20] simulates a point cloud data into sensor performance to find a fitness of camera positions. Irwansyah et al [21] implements multiple GigE Vision cameras to support the multi-robot tracking based on FPGA. To get a special performance on the vision-based system for robot application, thus Lu et al [22] proposes an efficient deep network to meet its object detection which can support efficient and effective optimisation. The purpose of the vision system is that the robot can follow well the position of the targeted object [23].
The challenge of this paper is specifically about accuracy of the camera which can detect randomly the position of objects in the form of a red circle. This paper presents the use of vision sensors to direct the robot head in order to detect the existence of the targeted object. This paper also discusses the comparison of robot head responses and motions after detecting the presence of objects. The tracking results show the motion accuracy that the movement of the robot head with the same object shift stimulus will be more accurate when the webcam vision detects closer object compared to the farther one. However, for the distance and shift of the same object, the accuracy level shows almost the same result. Figure 1 shows the experimental setup of a part of the robot head used in this work. The rig consists of three main parts: a part of robot head, a camera sensor and a processor. The part of robot head is constructed using a piece of acrylic with specifications as shown in Table 1. The piece of acrylics are assembled in a shaped head fashion to hold the camera sensor that are actuated by rotors.  The sensors used in the system were webcam C170 which was connected to microcontroller for the data processing. The webcam C170 is supported to make a video call and video recording with 640 x 480 pixels and 1024 x 768 pixels respectively. The servo motor used in this study was the Dynamixel MX-28 which was commonly used on humanoid robots with an operating DC voltage of 10 to 14.8V. The Dynamixel MX-28 servo motor had a high speed for data transmission and includes three pieces of connection namely vcc, data access, and ground. On the other hand, the CM-730 microcontroller was used for the data processing in this work.

RESEARCH METHOD
Data acquisition and control were accomplished by employing a CM-730 microcontroller that provided a direct interface between the processor, actuators and sensors through signal conditioning circuits. The experimental rig required two-analogue outputs for both motors to cover two degree of freedom on a robot head movement. The software required editor and compiler of Visual Studio.net, meanwhile it needed to use OpenCV to edit and to compile. Figure 2 presents the window which gives the information system about the webcam scan results. To test the reliability of detection objects, it needed to place a circle shaped object. It was a paper that can be scanned and searched by robots through sensing camera sensors. The diameter and the color of it were 0.10 m and red recpectively. Testing the performance of robots in tracking the existence of objects was followed by the movement of the robot head to scan the object according to the position of the detected object. Robot performance testing was also done by dynamically changing the position of the object. This was done in real time to determine the level of reliability of object detection and robot performance in real time. The tests included movement for various directions and the position of the object. Several positions of the object consist of (a) to the right of the robot, (2) to the left of the robot, (3) on the top of the robot, and (4) at the bottom of the robot.
The first assest was conducted by placing the red circle paper on the right of the robot head. It was done using a variable distance between the robot head and the detected object. Also with the dynamic distance variable of the detected object to the right in which the center point was the center line of the webcam sensor view. Figure 3 shows various techniques to perform the robot head motion were changing the distance of object shift. Figure 3 presents that the magnitude of the robot head movement is as equation ( where  ,  , and  are the motion angles of robot head for the nearest, medium and the longest position of object respectively. It means when scanning the closest object, the robot will produce a larger angle compared to when the robot head scan the object with a further position Table 2 presents the results of performance testing when the robot was tracking objects located on the right. Table 2 shows that the more distant the censored object it will cause the movement of the robot head to the direction of changing objects with increasing angle of motion, although it is based on the distance of the same object shift. The angular difference occurred in the robot head movement response to detect the presence of red objects is caused by the difference in distance between the robot head and the object even with the same distance of the object shift. It can be concluded that the farther the object to the robot head will result in a smaller motion angle in the robot head movement than the robot head movement response to the closer object even with the same distance shift stimulus. It can also be concluded that the robot head movement response is more accurate when it detects objects at closer distances compared to distant ones. The robot head moves to the right when tracking objects spaced 0.25 m sustained linear changes with an increase range of 6 to 9 degrees as a result of changes in object shifts of 0.03 m. The highest change of robot head movement is 9 degrees, this occurs when the object is shifting from 0.12 m to 0.15 m from the center point.

RESULTS AND ANALYSIS
Similarly, the angle of the robot head moves to the right on the detection of objects spaced 0.35 m sustains a linear change with an increase range of 5 degrees as a result of changes in an object shift each 0.03 m. The highest movement of the robot head moves by 6 degrees when the object sustains a shift from 0.21 m to 0.24 m. Meanwhile, the change in the movement of the robot's lowest head moves is 4 degrees.
While the angle of movement of the robot head to the right on the object detection is 0.50 m experiencing a linear change with a range of increase between 3 degrees to 5 degrees as a result of changes in an object shift each 0.03 m. Changes in the movement of the robot head of the highest moves of 5 degrees, this occurs when the object had a shift from 0.21 m to 0.24 m from the center. Meanwhile, the change in the movement of the robot lowest head moves by 2 degrees, this happens as much as two changes that shift after a distance of 0.18 m to 0.27 m from the center.
In the other hand, Table 3 describes the robotic head's response that is almost similar as it occurs when the robot head moves to the right in the opposite direction only. When the robot head is moved to the left of the robot, there is also a difference in the angular response of the robot head movement when it detects the presence of a red object due to the difference in distance between the robot head and the object even with the same distance of the object shift. Table 3 also exposes a relatively similar robot head movement response compared to when tracking the object to the right.   While the angle of the robot head moves upwards on the detection of objects spaced 0.35 m sustains a relatively stable change with an increase range of 5 degrees as a result of changes in an object shift each 0.03 m. Except while moving from changing the object from 0.03 m to 0.06 m, the motion of the robot head moves only 4 degrees.
Meanwhile, the change in the angle of the robot head motion upward on the detection of the object is 0.50 m undergoing changes almost equal to the previous tables which is about 3 degrees as a result of the change of object shift every 0.03 m. Changes in motion of the robot head is the smallest that occurs when tracking the movement of objects at some points from the center point, robot head is only able to move 2 degrees.
In other phenomena, Table 5 describes a robotic head's response that is almost similar as it does when the robot head moves upward just in the opposite direction. There is a slight difference with the upward movement of the robot head, the downward angle of the robot head on the detection of the 0.25 m spaced object with a steady change in the range of 5 to 9 degrees increase as a result of the shifting of each 0.03 m. The highest movement of the robot head moves by 9 degrees, this occurs when the object sustains a shift from 0.24 m to 0.27 m from the center point. While the smallest response is with a motion of only 5 degrees just when moving the object from 0.21m to 0.24 m.   It can be seen that the robot movement response for the same object shift distance, then the robot head movement will move larger when the object is closer to the robot. It can be concluded that the motion of robot head will have the biggest, medium and the smallest degrees for the distance of the object shift of 0.25 m. 0.35 m and 0.50 m respectively. The results also show for the same object distance, the result of object tracking caused the angle of motion of the robot head at a relatively equal value.
Differences or errors in the direction of the head of the robot when moving in the other direction (e.g. right and left) with the same object distance can be searched by using the Mean Square Error (MSE) formula as shown in the following equation (2).
Where n , r  and l  are the number of data, motion angle in one side and motion angle in other side (for example in right and left sides) respectively. Using equation (2), MSE can be searched among the directions of motion of the robot head at every distance of the object position. Table 6 shows MSE values among the directions of the robot head movement.  Table 6 shows that the MSE changes in the direction of the robot head movements at the object distance of 0.25 m obtained the smallest MSE values that occur between the movement to the right and to the left that is the value of 0.3. This is very reasonable because for the movement of the robot head to the right or left with the same power to produce almost the same thrust force so that the two directions are relatively the same direction. Meanwhile, the largest MSE value for object sliding distance in the 0.25 area occurs between up and down movements with a value of 1.5. This highest MSE value can occur because the movement of the robot head down with the same power produces a larger thrust force due to gravity factor. Meanwhile, the average MSE change in the direction of the head of the robot at a distance of 0.25 m is 0.83.
While the value on the change of head movement of the robot at the distance of 0.35 m objects obtained the largest MSE value is 0.6 that occurs between up and down movements, while the smallest MSE is 0.1 that occurs between the movement to the right and left. This happens because the movement of the robot head down with the same power produces a larger thrust force so that the resulted angle is greater. As for the average value of MSE change of head movement of robot at the object distance of 0.35 m is 0.32. Table 6 also describes the MSE changes in the direction of the head of the robot at a distance of 0.50 m object with the smallest MSE value occurs between the movements to the right and left which is 0.1. While the largest MSE value occurs between up and down movement of 0.7, this condition is the same as in the object shift at a distance of 0.25 m and 0.35 m. While the average value of MSE changes of the motion angle of the robot head at the object distance of 0.50 m is 0.33.
Overall the largest MSE value is 1.5 that occurs between upward and downward movements at the point of movement of the robot head with a distance of 0.25 m. The same phenomenon is shown at the object distance of 0.35 and 0.50 m, that there is a large MSE value when the comparison is done between the upward motion of the robot head with downward movement when tracking the object's existence. This