CS684: Embedded System Course

Lab 4: Heptagon implementation for Line Switching and Obstacle Navigation


Aim

In this lab, the robot should follow the line from the start location to end location using Line Following and Obstacle Navigation 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 Navigation: While the robot is traversing the horizontal black line, it has to use obstacle navigation algorithm. The obstacle will be placed at location shown in above image.


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 analog 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 for line following and obstacle navigation in Heptagon.
  4. Values received from sensors should be given to Heptagon.
  5. Velocity values and direction are output from the Heptagon node

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 wrapped in white paper can be used) in location shown in above image.
  • Show that the robot has navigated the obstacle and reached the end loaction.

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 the start location to end location.
    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.