Hands-on Robotics with Programming Feb Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National Taiwan University
Course Information Course: Hands-on Robotics with Programming ( 機器人程式實作 ) Instructor: Shih-Chung Kang 康仕仲 ( Teaching Assistant: Yi-Chu Chen 陳奕竹 ( Wei-Han Hung 洪偉瀚 ( ) Classroom: Civil Engineering Research Building - Room 405 Time: Monday 6,7,8 ( 14:20 ~ 17:10 ) Semester: Course Number: 521 M6800 Course Credit: 3 Website: Course Information: NTU Course Course Information Grading: Class participation 10% Project Assignments 60% Final Project 30%
Course Major Topic Topic 1: Fundamentals of MSRDS Service – CCR, DSS [Week 02~04 | Project 1] Topic 2: Robot hardware – hardware service, motion control [Week 05~10 | Project 2] Topic 3: Robot simulation – simulation service, simulation environment [Week 11~13 | Project 3] Topic 4: Multi-robot – railway system, multi-robot system design [Week 14~17 | Final Project]
A Typical Class Before class: Students need to download the code from the course website. “Reading” will help you to understand the topic of the week. During class: Teacher will explain the code first, then students need to practice the code in the class. After class: Students need to practice the rest of the code. Every major topic has a project. Project demonstration: At the first class on project due date. The rest two classes have regular progress.
Programming Environment (1/3) Microsoft Visual Studio 2008 and C#
Programming Environment (2/3) MSRDS 2008 R2(Microsoft Robotics Developer Studio) and VPL (Visual Programming Language)
Programming Environment (3/3) innoBasic: Original mobile robot(innoBot) control language.
Topic 1 Fundamentals of MSRDS Service
Schedule Week Topic Coursework 01Course introduction 02 Fundamentals of MSRDS Service (1/3): CCR 03 Fundamentals of MSRDS Service (2/3): DSS 04 Fundamentals of MSRDS Service (3/3): Integration of fundamentals of MSRDS service
WK02 Fundamentals Service (1/3): CCR What is CCR (Concurrency and Coordination Runtime)? CCR major components: 1. Port, PortSet 2. Dispatcher, DispatcherQueue, Task 3. Arbiter class Using C#
WK03 Fundamentals Service (2/3): DSS What is DSS (Decentralized Software Services) ? Using C# and VPL
WK04 Fundamentals Service (3/3): Integration Project 1: Write a service which can control the simulation robot. The service needs to get data from the simulator. After calculating, the service needs to send control command back to the robot.
Topic 2 Mobile Robot Hardware
Schedule WeekTopicCoursework 05 Mobile Robot Hardware (1/5): Introduction to mobile robot Due: Project 1 06 Mobile Robot Hardware (2/5): Building mobile robot 07Tomb Sweeping Day (holiday) 08 Mobile Robot Hardware (3/5): Motion control 09 Mobile Robot Hardware (4/5): Behavior control 10 Mobile Robot Hardware (5/5): Integration of services for mobile robot
WK05 Hardware (1/5): Robot Introduction Introduction to “innoBot” and chips Fundamentals of robot knowledge: square-wave radio signal, servo motor
WK06 Hardware (2/5): Building mobile robot Introduction to “innoBasic”. Building innoBot, then use innoBasic to check and control the robot
WK07 Hardware (3/5): Motion control Using “innoBot innoSDK.dll” to create “innoBot service”. This service needs to control innoBot movement: foreward, backward, turn right, turn left, get sonar distance.
WK07 Hardware (4/5): Behavior control Modifying “innoBot service”, let the service can be used in VPL. Using VPL to control innoBot, let innoBot can avoid obstacles atomically.
WK08 Hardware (5/5): Integration Project 2: Write an “innoBot service” and VPL code to control innoBot. innoBot needs to follow the black line and avoid obstacles atomically.
Topic 3 Robot Simulation
Schedule WeekTopic Coursework 11 Simulation (1/3): Building mobile robot model and virtual environment Due: Project 2 12 Simulation (2/3): Virtual actuator and sensor 13 Simulation (3/3): Integration of services for mobile robot simulation
WK11 Simulation (1/3): Building robot model Building virtual environment Building innoBot model
WK12 Simulation (2/3): actuator and sensor Write a service to control innoBot actuator and sensor.
WK13 Simulation (3/3): Integration Project 3: Write an “innoBot service” and VPL code to control innoBot at virtual enviroment. innoBot needs to follow the black line and avoid obstacles atomically.
Topic 4 Multi-Robot
Schedule Week Topic Coursework 14 Multi-robot (1/3): Design of single line and circular railway system. Design of Y-loop and block signaling railway system Due: Project 3 15 Multi-robot (2/3): Design railway passing system 16 Multi-robot (3/3): Integration of multi-robot 17Final Project demonstration Due: Project 4
WK14 Multi-robot (1/3): Fundamentals of rail way design
WK15 Multi-robot (2/3): Railway passing system Introduction to ATC, ATO, ATP, and AWS.
WK16 Multi-robot (3/3): Integration Final Project: Write an “innoBot service” and VPL code to control multi-innoBot. The service needs to work at actual and virtual enviroment. Students may design a “control panel” to show innoBot status and control innoBot driectly.
WK17 Final Project Demonstration
Thank you