You are on page 1of 7
Figs. WALL FOLLOWING Abstract The lab is composed of designing and building a robot using LEGO Mindstorm® EV3 kit, installing the leJOS software on it, and writing java code for two types of controller namely Bang-bang controller and P- controller to run on the system. The primary objective is to make the robot ‘autonomously implement a wall- following routine. The Robot is required to use the Ultrasonic sensor to detect some wooden blocks that form the wall and navigate around without touching it. The wall contains gaps, both concave and convex corners and the robot is required to make successful laps around the wall set up. Group: 22 Tanbin Tahsin Chowdhury Michel Abdelnour Design Evaluation The EV3 brick with an attached rechargeable 10v battery, is the core of the structure and the brain of the robot that runs the software. The three other major components are the two motors and the ultrasonic sensor. The two motors are attached on either side of the brick while the sensor is placed on top- left hand side at a 45-degree angle. A third wheel arrangement was attached at the back for balance and allowed to rotate freely to work with turns. The motors and the sensor was connected to the brick using ethernet cables. All the parts were attached with different combinational pillars and parts emphasizing to keep the center of gravity low and produce a compact, functional, and robust structure. A micro SD card inserted to the brick ran the lelOS software with the code being provided from a computer through a micro-USB cable. To run the robot, two different controllers; bang-bang, and p type controllers were implemented. The bang- bang controller operates like a step- function that abruptly switches between Figsa.2 two states- on or off depending on the feedback. The p controller on the other hand uses proportionality logic to determine the output based on the error and alters the speed to make the desired motion. (error= distance-band-center) Test Data Bang-bang controller Test # Does it Complete lap? _| Band-Centre (cm) Observations 1 No 25 = Oscillates back and forth. - Failed to make a 180 degree turn 2 No 30 - No oscillation - Hits the wall when it gets too close to it. 3 yes 35 = No oscillation - Wide turns P controller Does it Testi Multiplier (left- Band-Center (cm) complete —_| Observations Right) (cm) fap? 1 22 40 No = Slower Concave turns 2 12-2 40 No -Failed to make a 180 degree turn 3 82 40 Yes “Successfully done Table: 1.0 Test Analysis Majority of the data collection was done by visual supervision while performing trial and error to obtain the optimal values that ensure the desired motion for the robot. In the Bang-Bang controller, the band-center was introduced for the robot to maintain a required distance from the wall, while being within the range of the bandwidth. However, in practice, both controllers failed at keeping the required distance from the wall as the robot oscillated within the bandwidth range. This is a consequence of over-correction. The bandwidth makes the robot run ina straight line once it is within the required distance. After making a turn through a corner, the robot was not being able to maintain the band Centre consistently. It mostly entered the bandwidth range where it was too close to the wall and it kept going straight until the threshold was reached. When the robot was going beyond the bandwidth range, the outer wheel would speed up to make the robot stay within the range. Therefore, after making a turn, it went straight at a different angle until it reached the threshold again. This process kept repeating itself and the robot kept oscillating from one side of the band Centre to other. Since in Bang-Bang controller, motors had fixed speeds when entering a specific distance range from the wall, it was more prominent compared to P-controller. Observation and Conclusion The ultrasonic sensor detected very large distances when the robot got too close to the wall. A large value, i.e., 20k+ would show up on the EV3 display. However, the sensor quickly oscillated between this large value and the correct value. This behavior of the robot was observed more after turning through convex corners; the robot would travel straight to the wall rather than following it. This large value was a false negative since the sensor could not detect the wall too close to it. This problem was solved by making a sharp right turn whenever the sensor detected the correct value. This way, the robot could overcome left turns caused by the large value. The sensor detected no false positives. Initially, the ultrasonic sensor faced difficulties detecting gaps between the wooden bricks. Particularly, in cases, when the robot completed a turn through corners or made a complete 180-degree turn. This problem was solved by using the given filter in p controller as well as performing trial and error to adjust the band Centre and change the speed of wheels while turning corners. For concave corners, adjusting the band Centre and increasing the speed of inner wheel and decreasing the speed of the outer wheel helped to make turns smoother. In the case of convex corners, the speed of outer wheel was increased and the inner wheel was decreased proportionally by performing trial and error. Further Improvements Sensor Rotation: The robot would have detected the gaps better if the sensor was allowed to rotate but would cause a time delay, which can be fixed by deciding the time and angle of rotation. More number of sensors: One sensor does not give enough information in all scenarios. Using two sensors instead of one would result in better performance of the robot. One sensor placed parallel to the wall, the other one situated at a 45-degree angle would detect the wall and make turns smoother. Backwards Travel: Implementing a code that allows the robot to go backwards after it had crashed the wall, instead of being stuck trying to rotate the wheels, would enable the robot to continue even after if it had made error in judgements and lead to better efficiency of the robot. PID controller: Using PID (Proportional Integrated Derivative) controller instead of Bang-Bang or p type controller would have resulted in better performance, since PID controller is more efficient. Batteries fully charge During testing, we observed that the sensor performance slightly depends on the amount of charge in the battery. Hence, charging the battery fully before testing can bring improvements in performance. Appen ; ba Borg Conbrsliec

You might also like