Adaptive Control Strategies for e-puck2 Robot

Obstacle Avoidance & Tracking/Following

e-puck 2 Robot

Linux (Ubuntu)

e-puck2 Library

C Programming

Eclipse IDE

The primary focus of this project was to design, implement, and test adaptive control strategies for the e-puck2 robot in a time-bound and resource-constrained environment. The project was divided into two main tasks and an academic report. The tasks were performed under the strict observation of a Graduate Teaching Assistant (GTA) within limited laboratory sessions.

Task 1 – Environment Exploration and Obstacle Avoidance: 97.5%

Successfully developed and implemented an adaptive control strategy enabling the e-puck2 robot to autonomously navigate a bounded environment filled with obstacles. The strategy ensured the robot could effectively explore the environment while avoiding any collision with both the boundaries and obstacles.

Gained substantial knowledge in utilizing infrared proximity sensors for real-time obstacle detection and avoidance. The task also allowed for a deep understanding of environmental variables and hardware discrepancies and how these factors could affect a robot’s performance.

Task 2 – Object Following/Tracking and Collision Avoidance: 95%

Engineered a dynamic control strategy that allowed the e-puck2 robot to chase a specified object within an open environment, successfully avoiding any collision with the object. The developed strategy ensured smooth, efficient, and safe pursuit under varying conditions.

Practiced the application of control theory in the context of a moving target, cultivating skills in predictive modelling and real-time adjustments. This task also strengthened abilities in designing robust systems capable of maintaining performance despite changes in environmental conditions and potential hardware inconsistencies.

Academic Report:

  • Successfully co-authored a concise, two-page academic report within a team, adhering strictly to the IEEE conference template.
  • Detailed the strategy for each task, explaining their purpose and how they enabled a robot to perform the designated task.
  • Demonstrated clear comprehension of high-level coding, with the implementation of these strategies articulated in the report, pointing to the relevant lines of code in the appendix.
  • Conducted multiple test scenarios and provided an unbiased and factual description of the results, emphasizing both successes and failures.