ROBOT MOBILE PLATFORM

                                               

                                                      ROBOT MOBILE PLATFORM

This year, I was privileged to get and internship with the Robotics Dojo team. We were to build an assembly robot which was to participate in the ROBOKEN 2023 contest whose theme was "AUTOMATION OF MANUFACTURING PROCESSES" and it involved a robot application in the manufacturing and assembly of a car by fitting the engine, cabin, trailer and wheels on a fixed car chassis. With the prior knowledge I thought I had on robotics, I wasn't ready for what was to come. From learning ROS (Robot Operating System), to PID controllers, to finite state machine (FSM)etc. The internship offered a great opportunity to learn and experiment new concepts I had never tried out in robotics. In a group of seven, a colleague and I were charged with the responsibility of developing the mobile platform of the robot. Basically, we were to take care of how the robot maneuvered the game field from start to finish. With no further ado, let's dive right in;

                                                The Mobile Platform (version 1)



For the first version of the robot, we had worked with what we had, including a wooden chassis where line-following was the main way of movement round the game field. We had 5 infrared sensors attached, of which the three middle sensors were for following the line and the far left and far right sensors were for navigating corners. We were working with a logic similar to that of a 3 input truth table.


For the output, a "1" represents "turn" and a "0" means "keep going."  If the far left IR sensor read a HIGH it meant we needed to turn left as it had detected a black line same to the far right sensor. This method proved infeasible when we were to cross a junction. At a junction, it meant all sensors will be HIGH. The biggest challenge was if the robot approaches the junction at and angle. This meant that the robot obtains a false inference and thus would make a wrong move/turn.

As seen in the image, an ultrasonic sensor was used for distance measuring. When the robot reaches a certain specified distance from an object e.g. the wheel rack, the ultrasonic reads this pre-programmed distance and the robot is able to stop for picking or placement of the objects. 

This also had a challenge of it's own depending on the angle at which the robot approaches the object. The stopping distance was almost perfect when the robot approached in a straight way, i.e. at 90 degrees.

With time we changed the wooden chassis to an acrylic board as it was much lighter hence less load on the motors.

From there, we decided to include the gyroscope MPU6050 and ditch the 3 IR sensors.



The gyroscope turned out to be the best decision we made. It belongs to a class of devices called IMUs(Inertial Measurement Units). It can be used to measure acceleration, inertia and other factors that can be used to tell the spatial position and velocity. The robot can rotate in three directions: Roll, pitch, and yaw.  For our case, we were only dealing with yaw, that is, the rotation along the z-axis.

Here, we could turn the robot in whatever angle we desired and thus did not solely depend on following the line to move round the game field. We were able to cut in between paths directly and get to the other line much faster.


                                                                    The motors

Initially, we started with the wheel encoders which enabled us to measure and move a desired distance. The biggest challenge working with the wheel encoders was that it did not record the accurate distance moved by the robot. Thus we could not depend on it fully to get to a set destination. Mostly it moved a few centimeters from the desired destination. To add onto that, the motors with the wheel encoders did not have enough torque to carry the weight of the robot onto the ramp hence the need to source better motors.

For the final motor design which we settled on, the ZGB37RG 12vDC 100rpm 37mm Eccentric Shaft

geared motor. We chose to work with only 2 driver wheels and a castor wheel as it was much easier to control and work with. 

This was the initial robot before mounting the arm onto it.


Front view after mounting the arm.


This is the initial blog for understanding how the robot worked. I will write a more detailed, technical blog on top of this coming out soon.

Resources

https://github.com/roboticsdojo/roboticsdojo.github.io/tree/main/files/rule







Comments

Popular posts from this blog