Post on 12-Jan-2016
Hands-on Robotics with Programming
Feb 22 2010
Shih-Chung KangAssistant Professor
Computer-Aided Engineering (CAE)
Department of Civil Engineering
National Taiwan University
Course Information
Course: Hands-on Robotics with Programming ( 機器人程式實作 )Instructor: Shih-Chung Kang 康仕仲 ( sckang@caece.net )Teaching Assistant: Yi-Chu Chen 陳奕竹 ( yie@caece.net )
Wei-Han Hung 洪偉瀚 ( magic@caece.net )Classroom: Civil Engineering Research Building - Room 405Time: Monday 6,7,8 ( 14:20 ~ 17:10 )Semester: 2009-02Course Number: 521 M6800Course Credit: 3Website: http://sites.google.com/a/caece.net/robot-programming-2010/Course Information: NTU Course InformationGrading: 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 1Fundamentals of MSRDS Service
Schedule
Week Topic Coursework
01 Course introduction
02Fundamentals of MSRDS Service (1/3): CCR
03Fundamentals of MSRDS Service (2/3): DSS
04Fundamentals 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, PortSet2. Dispatcher, DispatcherQueue, Task3. 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 2Mobile Robot Hardware
Schedule
Week Topic Coursework
05Mobile Robot Hardware (1/5): Introduction to mobile robot
Due: Project 1
06Mobile Robot Hardware (2/5): Building mobile robot
07 Tomb Sweeping Day (holiday)
08Mobile Robot Hardware (3/5): Motion control
09Mobile Robot Hardware (4/5): Behavior control
10Mobile 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
Week Topic Coursework
11Simulation (1/3): Building mobile robot model and virtual environment
Due:Project 2
12Simulation (2/3): Virtual actuator and sensor
13Simulation (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
15Multi-robot (2/3): Design railway passing system
16Multi-robot (3/3): Integration of multi-robot
17 Final Project demonstrationDue: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