CS684: Embedded System Course

Lab 4: Heptagon implementation for Line Switching and Obstacle Avoidance


Aim

In this lab, the robot should park itself from any of the start point to an empty parking location using Line Following and Obstacle Avoidance algorithm.

parking-arena

a. Line following: The arena provided to you consists of curved and straight paths for the robot. You have already developed the line following algorithm for the black part of the arena above. However, in the current arena setup, the robot needs to switch lines. Therefore, you also need to incorporate the logic for line switching into your line following algorithm.

b. Obstacle Avoidance: While the robot is trying to park itself, it has to use obstacle avoidance algorithm. The obstacles will be placed at certain parking locations, and there will be robots from other teams that have already parked, in that case, they will also be considered obstacles. Considering both scenarios, your robot will have to park itself in an empty parking location..


Interfacing:

  1. Motors: On AlphBot, motors are already connected.

  2. IR Proximity Sensors: You need to connect sensors to the AlphaBot. You can connect the sensors to the shield pins provided on top PCB of the AlphaBot. Total 5 + 2 IR proximity sensors are provided in the kit. You can decide on the number of sensors and position of the sensors accoriding to your algorithm. You can use the sensor either in anlog or in digital mode.


Programming Instructions:

  1. Motor interfacing and PWM initialisation code should be in Embedded C.
  2. IR Proximity sensors Interfacing code should be in Embedded C.
  3. Write the logic about line following and obstacle avoidance in Heptagon.
  4. Values received from sensors should be given to Heptagon.
  5. Velocity values and direction are output or Heptagon

Note: For debugging, you can use serial functions of arduino library.


Video Instructions:

  • Keep the robot at the start loaction. Turn on the robot. Initially robot should follow the white line.
  • Keep obstacle (alphabot box can be used) in 4 random parking locations.
  • Show that the robot has avoided the obstacles and parked itself in an empty parking location..

Submission Instructions

  • For Lab-4 submission you have to upload a .tar.gz file.
    1. Heptagon Project folder: It should contain following
      • Heptagon Folder: Containing the heptagon implementation of the logic.
      • Integrate.sh file: to generate the c files from heptagon.
      • Supervisor Folder: it contains supervisor.ino file and auto generated c files from the heptagon.
    2. Readme.txt file:
      • Youtube link of the video - shoot the working of the robot moving from Point A to Point B.
    3. Contribution.txt file: stating detailed contribution of each member
  • Compress the folder and rename it as <GroupName>_Lab_4.tar.gz (check your file, it shouldn't be empty)
  • Upload the file on Moodle
  • There should be only one submission per group. Member having highest roll no should do the submission.