What This Document Is
This is a detailed lab guide for an embedded systems course at the University of California, Berkeley (EECS 149). Specifically, it focuses on the practical application of interfacing with and controlling a physical robotic system – the iRobot Create. The guide details a multi-week laboratory assignment centered around programming the iRobot to perform a complex task, building upon concepts learned in prior labs. It bridges the gap between simulated environments and real-world robotics, utilizing both high-level graphical programming and lower-level embedded code generation.
Why This Document Matters
This guide is essential for students enrolled in the Introduction to Embedded Systems course who are undertaking Lab 4. It’s particularly valuable for those seeking a hands-on understanding of how to translate theoretical knowledge into functional robotic control systems. Students will benefit from this resource when they need a clear, step-by-step approach to developing and deploying embedded code for a mobile robot, and for understanding the challenges of real-world sensor integration and actuator control. Access to the full guide unlocks the detailed instructions needed to successfully complete the lab assignment.
Topics Covered
* Sensor and actuator interfacing
* Embedded systems programming with LabVIEW and C code generation
* Robot control algorithms and state machine design
* Hill climbing navigation strategies
* Obstacle avoidance techniques
* Development environment setup and configuration (Keil pVision, LabVIEW Embedded)
* Utilizing a Luminary Micro microcontroller
* Accelerometer data integration
What This Document Provides
* A comprehensive overview of the lab objectives and required equipment.
* Detailed instructions for setting up the development environment.
* Guidance on transitioning from desktop simulation to embedded deployment.
* A structured approach to programming the iRobot Create for autonomous hill climbing.
* Information on utilizing specific hardware components like the ADXL-322 accelerometer.
* Contextual information regarding code generation and its implications for resource-constrained embedded systems.