ICS 452: Software Design for Robotics
Description: Sensors, actuators, signal processing, paradigms of robotic software design, introduction to machine learning, introduction to computer vision, and robot-to-human interaction.
Objectives
- Students will have completed several programming assignments and will also
have implemented a project so that they can acquire experience in software
design for robotics.
- Students will understand basic hardware aspects of robotics and how
programming is influences by robotic hardware issues.
- Students will understand the design principles and implement dataflow
programming for robotics.
- Students will understand the programming issues of robotic programming for
individual robots as well as multiple cooperating robots.
- Students will be proficient at programming both semi-autonomous and
autonomous robotic systems.
- Students will learn to add robustness to their software to compensate for sensor and actuator problems.
Course Learning Outcomes: See objectives.
Program Learning Outcomes
- a. Students can apply knowledge of computing and mathematics appropriate to the discipline
- b. Students can analyze a problem, and identify and define the computing requirements appropriate to its solution
- c. Students can design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
- g. Students can analyze the local and global impact of computing on individuals, organizations, and society
- i. Students can use current techniques, skills, and tools necessary for computing practice
Prerequisites: Two ICS 300-level courses or consent. Recommended: 312 and 313.
Textbook(s): Computational Principles of Mobile Robotics, 2nd Edition, Gregory
Dudek & Michael Jenkin, Paperback, ISBN:9780521692120, July 2010
Grading: 3 homework assignments (30%)
Final project (40%)
Final exam (20%)
Inclass participation (10%)
Schedule: Week 1: Introduction
Weeks 2, 3 Robotics hardware
Week 4, 5: Movement planning
Week 6: Robust software
Week 7: Signal processing algorithms
Weeks 8, 9: Computer vision
Weeks 10, 11: Machine learning
Weeks 12-15: Advance robotics topics
Week 16: Project presentations
Week 17: Final exam