31
Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National Taiwan University

Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

Embed Size (px)

Citation preview

Page 1: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

Hands-on Robotics with Programming

Feb 22 2010

Shih-Chung KangAssistant Professor

Computer-Aided Engineering (CAE)

Department of Civil Engineering

National Taiwan University

Page 2: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

Course Information

Course: Hands-on Robotics with Programming ( 機器人程式實作 )Instructor: Shih-Chung Kang 康仕仲 ( [email protected] )Teaching Assistant: Yi-Chu Chen 陳奕竹 ( [email protected] )

Wei-Han Hung 洪偉瀚 ( [email protected] )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%

Page 3: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

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]

Page 4: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

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.

Page 5: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

Programming Environment (1/3)• Microsoft Visual Studio 2008 and C#

Page 6: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

Programming Environment (2/3)• MSRDS 2008 R2(Microsoft Robotics Developer

Studio) and VPL (Visual Programming Language)

Page 7: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

Programming Environment (3/3)• innoBasic: Original mobile robot(innoBot) control

language.

Page 8: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

Topic 1Fundamentals of MSRDS Service

Page 9: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

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

Page 10: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

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#

Page 11: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

WK03

Fundamentals Service (2/3): DSS• What is DSS (Decentralized Software Services)

?• Using C# and VPL

Page 12: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

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.

Page 13: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

Topic 2Mobile Robot Hardware

Page 14: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

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

Page 15: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

WK05

Hardware (1/5): Robot Introduction• Introduction to “innoBot” and chips• Fundamentals of robot knowledge: square-wave

radio signal, servo motor

Page 16: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

WK06

Hardware (2/5): Building mobile robot• Introduction to “innoBasic”.• Building innoBot, then use innoBasic to check

and control the robot

Page 17: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

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.

Page 18: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

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.

Page 19: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

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.

Page 20: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

Topic 3 Robot Simulation

Page 21: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

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

Page 22: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

WK11

Simulation (1/3): Building robot model• Building virtual environment• Building innoBot model

Page 23: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

WK12

Simulation (2/3): actuator and sensor • Write a service to control innoBot actuator and

sensor.

Page 24: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

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.

Page 25: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

Topic 4 Multi-Robot

Page 26: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

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

Page 27: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

WK14

Multi-robot (1/3):• Fundamentals of rail way design

Page 28: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

WK15

Multi-robot (2/3): Railway passing system • Introduction to ATC, ATO, ATP, and AWS.

Page 29: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

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.

Page 30: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

WK17

Final Project Demonstration

Page 31: Hands-on Robotics with Programming Feb 22 2010 Shih-Chung Kang Assistant Professor Computer-Aided Engineering (CAE) Department of Civil Engineering National

Thank you