Robotics and Engineering Design (SKN11) Syllabus Instructor Mr. Chin-Sung Lin (Email: clin@erhsnyc.net) Course Description Robotics and Engineering Design is a project-based course that uses a hands-on approach to introduce the basic concepts/skills of robotics and the principles/practices of engineering design. The course has been divided into five modules: Autonomous Mobile Robots, Arduino-based Design, Drone Programming, Mobile Apps Programming, and 3D Modeling & Printing. Students will learn the concepts/theories of each discipline, be exposed to a wide spectrum of innovative problem solving/engineering design techniques, and be challenged by a series of real-world application projects. In the first semester, we will be focusing on the construction/programming of autonomous mobile robots, and Arduino design projects. Course information will be tied to lab experiments; students will work in groups to build and test increasingly more complex deliverables culminating in a major project for each module. In the second semester, student groups will be learning to program and control the flight of Drones, developing iphone Apps, and designing/building the 3D models of mechanical/architectural structures. Groups have to meet stage milestones, furnish technical documents, and conduct formal demonstrations and presentations at the end of the semester. We will be using VEX Robotic Design System as our robotic kit, Arduino Leonardo as our embedded design platform, A.R.Drone as our drone programming platform, XCode as our iphone Apps development environment, and SketchUp as our 3D modeling tool. Students will be divided into groups and complete a variety of engineering activities within the confines of these groups. Course Objectives In this course, students will: 1. Explore the broad scope of robotic engineering and applications. 2. Develop the construction and programming skills for autonomous mobile robots. 3. Design embedded system applications using Arduino board. 4. Be exposed to the principles, technology, and programming of autonomous flying drones. 5. Learn the programming language, development tools, and design patterns to build iphone Apps. 6. Learn to construct 3D computer models of mechanical/architectural structures. 7. Acquire the skills to effectively build physical models using a 3D printer. 8. Solve problem using engineering design process. 9. Develop innovative problem-solving skills in a project group setting. 10. Communicate technical facts through verbal/written methods, physical demos, and multimedia presentations. Chin-Sung Lin 1
Essential Questions 1. How can autonomous robotic systems impact our future? 2. How can technology change the rules of our manufacturing industry? 3. How is the engineering design process used to solve real-world problems? 4. How can management facilitate efficient and quality completion of deliverables? Course Requirements and Materials Needed 1. Hardware: VEX TM Robotics Design System, accessories and tools (provided by school). 2. Hardware: The Makerbot Replicator 2, accessories and filament (provided by school). 3. Hardware: Mac and Windows laptops (provided by school). 4. Hardware: A.R.Drone 2.0 and accessories (provided by school). 5. Hardware: Arduino Leonardo board (provided by school). 6. Software: SketchUp (provided by school). 7. Software: ROBOTC license(provided by school). 8. Software: XCode (free download from Apple store). 9. Software: A.R.Drone SDK 2.0 (free download from project.ardrone.org). 10. Software: Arduino IDE 1.0.5 (free download from arduino.cc). Instruction Materials 1. 2008 VEX Inventor s Guide, VEX forum website: http://www.vexforum.com/wiki/index.php/inventor's_guide. 2. VEX Curriculum 2.0, Carnegie Mellon Robotics Academy website: http://www.education.rec.ri.cmu.edu/roboticscurriculum/vex_online/. 3. ROBOTC Curriculum for the VEX, robotc.net website, http://www.robotc.net/education/curriculum/vex/. 4. Teaching ROBOTC for Innovation First Robots, Carnegie Mellon Robotics Academy website: http://www.robotc.net/vex_full/. 5. Arduino Tutorials, Tutorial Series for Arduino website: https://www.youtube.com/watch?v=fcxza9_kg6s&list=pla567ce235d39fa84. 6. A.R.Drone 2.0 Developer Guide, ARDRONE open API platform website: https://projects.ardrone.org/boards/1/topics/show/4365. 7. Objective C Programming Tutorials, thenewboston website: http://www.youtube.com/course?list=ec640f44f1c97ba581. 8. XCode Tutorials, Geeky Lemon Development website: http://www.geekylemon.com/xcodetutorials.htm. 9. ios Developer Library, Apple ios Dev Center website: https://developer.apple.com/library/ios/navigation/. 10. SketchUp Video Tutorials, SketchUp.com website: http://www.sketchup.com/learn/videos?playlist=58. Chin-Sung Lin 2
11. Instructional Video: Various on-line videos of robotics research and iphone Apps development. 12. Website: Dynamic class website and blog provide further learning resources. Course Format 1. Class presentations, and discussions 2. Online video tutorials 3. Group activities and laboratory investigations 4. Unit and module projects 5. Homework assignments Grading Policy 1. Homework Assignments & Quizzes (HQ) (20 pts) 2. Class/Lab Participation and Results (CL) (20 pts) 3. Project Deliverables and Presentations (PR) (60 pts) 4. Your Grade = PR x WF * % + HQ + CL * Weighting Factor (WF) is a value (between 0 and 100) measuring individual contribution. * WF will be multiplied to any group grades of labs, activities, and projects. Content Outline This course is divided into four modules and twenty units: Module 1: Remote-Controlled Robots Unit 1. Entering the Robotics World a. Robot Anatomy b. Dimensions of Robotics c. Project: Robotics Research Unit 2. Robot Construction a. Protobots/Tumblers/Clawbots b. Mechanics & Electricity c. Project: Robot Ball Game Unit 3. Robotics: Locomotion a. Locomotion Theory b. Principles of Walking Robots c. Project: Walking Robot Module 2: Autonomous Mobile Robots Unit 4. Robotics: Programming a. ROBOTC Programming Language b. Microcontrollers & Programs c. Project: Maze Unit 5. Robotics: Sensing & Controlling a. Bumper/Limit Switches b. Ultrasonic Range Finders c. Project: Line Follower Unit 6. Robotics: Algorithm & Intelligence a. Algorithmic Problem Solving b. Autonomous Parallel Parking c. Project: Autonomous Mobile Robot Module 3: Arduino-based Design Unit 7. Arduino Leonardo a. Microcontroller b. Analog and Digital I/Os c. Project: Proximity Detector Unit 8. Arduino Programming Chin-Sung Lin 3
Expectations a. Sound & Light b. PWM & Motors c. Project: Arduino Playground Unit 9. Arduino Application a. Sensors Calibration b. Signal Processing c. Project: Arduino Robot Module 4: Drone Programming Unit 10. Drones & Civil Applications a. Quadcopter Structure & Principles b. Drone Flight Control & Operation c. Project: Drone Applications Unit 11. A.R.Drone Programming a. AutoFlight Control Program b. Python Script Language c. Project: Drone Dance Unit 12. A.R.Drone Sensing & Controlling a. Altitude Sensor b. Gyro/Accelerometer/Magnetometer c. Project: Autonomous Drone Module 5: Mobile Apps Programming Unit 13. Mobile Programming Foundation a. XCode and Objective-C 1. Attend class daily, on time and ready to work. 2. Use computer resource in a safe and responsible way. 3. Participate and contribute to group assignments and projects. 4. Maintain a weekly, complete, organized online engineering journal. b. Basic Interface Elements c. Project: Tutorial App Unit 14. iphone Apps Programming a. ios Design Patterns b. Spritekit Game c. Project: Game App Unit 15. iphone Apps Design a. Case Study 1 b. Case Study 2 c. Project: Killer App Module 6: 3D Modeling &Printing Unit 16. SketchUp 3D Modeling a. Introduction to SketchUp b. Shapes, Tools, Colors & Materials c. Project: Sports Gear Unit 17. Architecture Models a. Dimension & Measurement b. Architecture Design c. Project: Tiny House Design Unit 18. Physical Models & 3D Printing a. Mechanical Design b. Makerbot 3D Printers c. Project: Mechanical Design 5. Complete and submit assignments by their due dates. Late assignments will not be accepted for credit per school policy. 6. Exercise safety and common sense at all times. 7. Have mutual respect for fellow students and their right to an education. 8. Academic integrity per school policy. Open Lab and Technical-Help Time Chin-Sung Lin 4
1. Open Lab: 3rd Period (Tue.) & 8th period (Wed.) 2. Technical-Help: 9th period (everyday) 3. After School: Project groups that need technical advice, access computer resource, robot kits, tools, or work on their projects may come to the lab (Room 201/417) on Wednesday through Friday. Chin-Sung Lin 5