Page 148 - Robot Design Handbook ROBOCON Malaysia 2019
P. 148

After that, the image is separated into two, A and B, top part and the bottom part, in

               order to get two contours. Once we obtained the two contours, some calculations have to be
               made in order to get the centroid of the contours. Centroids and contours are shown in Figure

               4. After that, the angle between two centroids had been calculated and send to the Arduino
               by using serial communication. In addition, our robot is also able to detect cross-road. This

               was archived by using Harriscorner detection. Harriscorner detection can detect how many

               corners there are. For example, when there is a rectangular white box in the image, it means
               there  are  four  corners.  When  the  camera  captured  a  crossroad  image,  there  will  be  12

               corners.

               robot_state (imu)

                       This node is created in order to receive the data from the imu sensor. The imu sensor
               helps the robot to locate the position of itself. After it receives the data from the imu sensor,

               it will publish an imu topic and the raspberry node will subscribe to it and receive the imu
               value. The robot can balance itself once it has those values. Besides, our robot is able to

               know if it is on the Uukhai Zone by processing the imu value.

               Movement of MR2

                       How the main system works when it receives the essential data from raspberry-pi B,

               for example the information from the opencv and the imu data. Other than that, it interacts
               with two ultrasonic sensors and one button. The function of the button is to give starting

               signal to the MR2 when the Gerege is placed into the holder, thus triggerring the button in
               the holder. The two ultrasonic sensors are located at front part and back part of the MR2,

               and  both  are  facing  downward  or  the  floor.  The  function  of  the  ultrasonic  sensor  is  to
               measure distance from the MR2 body to the floor. This helps the MR2 to determine when

               to climb up or go down from the Sand Dune by providing feed-back to the system so that

               the robot can have rough estimation of its current location and movement. Besides that, we
               use eight servo motors to moves four legs. Each leg has two servo motors so that the leg has

               two DOF move horizontal and vertical.  Moreover, there are two more servos which are
               used to interact with the Gerege. One of the servo motors is use to hold the Gerege tight so

               that the position of the Gerege can be fixed, and this reduces the variability for the Gerege

               and the other one is to lift up the Gerege holder once the MR2 reaches the Mountain [3].









                                                          144
   143   144   145   146   147   148   149   150   151   152   153