Page 108 - Toucpad robotics C11
P. 108

21 st   #Coding & Computational Thinking
                      project 1                                                  Century   #Experiential learning
                                                                                  Skills
                                                     The Autonomous Delivery Robot
                  Objective: Design and build a mobile robot that can navigate a simple indoor environment (e.g., a classroom or
                  corridor), avoid obstacles, and autonomously deliver a small item from a starting point to a pre-defined destination.
                  Steps of the Solution:
                  1.  Project Planning & Design (Project Management):
                     ∑   Define the Scope: Specify the robot's size, the maximum payload, its speed, and the complexity of the
                         environment (e.g., a flat surface with static obstacles).
                     ∑   Component Selection (Power, Brain, Senses, Muscles):
                             Brain: Choose a microcontroller (like an Arduino Mega) or a Single Board Computer (like a Raspberry
                         §
                             Pi 4) as the central processing unit.
                         §     Senses: Select ultrasonic sensors for obstacle avoidance and wheel encoders for tracking distance
                             travelled.
                         §   Muscles: Choose two Direct Current motors with gearboxes for the drive wheels and a servo motor
                             for a simple gripper or a lifting mechanism.
                         §   Power: Select a suitable Lithium-ion battery for its high energy density to power the robot.
                     ∑   Frame & Wheels: Design the chassis (frame) using lightweight materials like acrylic or MDF. Choose
                         standard wheels for the drive and a castor wheel for balance.
                  2.  Hardware Assembly & Wiring:
                     ∑   Build the Chassis: Cut the chosen material and assemble the chassis.
                     ∑   Mount Components: Securely mount the motors, sensors, battery, and microcontroller to the chassis.
                     ∑   Wiring: Connect all the components to the microcontroller. This includes wiring the motors through a
                         motor driver (a separate circuit that amplifies the microcontroller's low-power signals to drive the motors),
                         connecting the ultrasonic sensors, and wiring the servo motor.
                  3.  Programming & Control (Fundamentals, Logic, Systems):
                     ∑   Basic Movement: Write basic code to control the Direct Current motors for forward, backward, left, and
                         right movements.
                     ∑   Sensor Integration: Write code to read data from the ultrasonic sensors. Use Boolean operators to create
                         simple decision logic. For example, IF (front_sensor_distance < THRESHOLD) THEN (stop_and_turn).
                     ∑   Navigation Algorithm: Implement a simple algorithm for autonomous navigation.
                         §   Step 1: Move forward.
                         §   Step 2: Continuously check for obstacles using the front ultrasonic sensor.
                         §   Step 3:  If an obstacle is detected, stop, check the left and right sensors to find a clear path, and turn
                                   in that direction.
                         §   Step 4: Repeat the process until the robot reaches its destination.
                     ∑   Object Delivery: Program the servo motor to activate at the destination point to either lift or drop the item.
                  4.  Debugging & Testing (Ensuring Performance):
                     ∑   Unit Testing: Test each component individually. Ensure the ultrasonic sensors provide accurate readings
                         and that the motors spin correctly.
                     ∑   Integration Testing: Test the entire system. Place the robot in a test environment with a simple obstacle
                         course and run the code to ensure the navigation algorithm works as expected.
                     ∑   Performance  Testing: Measure  the  robot's  accuracy  in reaching the  destination and its  efficiency  in
                         avoiding obstacles.


              106
              Touchpad Robotics - XI
   103   104   105   106   107   108   109   110   111   112   113