I NTRODUCTION TO ROBOTICS Tutorial 1. A GENDA Administrations Basic Matlab Robotic Tool Box Introduction to ROS.

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

Threads, SMP, and Microkernels
COM vs. CORBA.
Introduction to Matlab Workshop Matthew Johnson, Economics October 17, /13/20151.
RPC Robert Grimm New York University Remote Procedure Calls.
TURTLEBOT ROBOTIC GUIDE. Project Description Teach a robot to guide a person to a predefined destination. General requirements: 1. Use a Turtlebot as.
Chap 2 System Structures.
Operating-System Structures
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Introduction to Computer Programming in C
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
Reference: Message Passing Fundamentals.
TC2-Computer Literacy Mr. Sencer February 4, 2010.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
Introduction to Databases Transparencies
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Remote Procedure Calls. 2 Client/Server Paradigm Common model for structuring distributed computations A server is a program (or collection of programs)
Client Server Model and Software Design TCP/IP allows a programmer to establish communication between two application and to pass data back and forth.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
INTRODUCTION TO WEB DATABASE PROGRAMMING
Multi-Robot Systems with ROS Lesson 1
Project START System MARS(a new generation 32-bit computer) (1990) Kronos processor2 microprocessor standard cards OS Excelsior LabtamKronos Compilers.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Advanced Operating Systems CIS 720 Lecture 1. Instructor Dr. Gurdip Singh – 234 Nichols Hall –
UNIT - 1Topic - 2 C OMPUTING E NVIRONMENTS. What is Computing Environment? Computing Environment explains how a collection of computers will process and.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
CS 444 Introduction to Operating Systems
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Embedded Runtime Reconfigurable Nodes for wireless sensor networks applications Chris Morales Kaz Onishi 1.
The Socket Interface Chapter 21. Application Program Interface (API) Interface used between application programs and TCP/IP protocols Interface used between.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
C++ and Ubuntu Linux Review and Practice CS 244 Brent M. Dingle, Ph.D. Game Design and Development Program Department of Mathematics, Statistics, and.
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
IST 222 Day 3. Homework for Today Take up homework and go over Go to Microsoft website and check out their hardware compatibility list.
Computer organization Practical 1. Administrative Issues The course requirements are: –To be nice and open minded –To pass the exam (there is a boolean.
ATmospheric, Meteorological, and Environmental Technologies RAMS Parallel Processing Techniques.
Distributed System Services Fall 2008 Siva Josyula
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
CS603 Basics of underlying platforms January 9, 2002.
Page 1 Printing & Terminal Services Lecture 8 Hassan Shuja 11/16/2004.
Remote Procedure Call RPC
Virtualization Technology and Microsoft Virtual PC 2007 YOU ARE WELCOME By : Osama Tamimi.
CPT 499 Internet Skills for Educators Overview of the Internet Session One.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: Operating-System Structures.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
Nir Mendel, Yuval Pick & Ilya Roginsky Advisor: Prof. Ronen Brafman
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Ryan Rasmussen Maggie Krause Jiajun Yang. Hardware Progress Mechanical assembly complete Received APM case and power module last week Connected wi-fi.
Distributed Computing Paradigms1. 2 Paradigms for Distributed Applications Paradigm means “a pattern, example, or model.” In the study of any subject.
Microsoft ® Official Course Module 6 Managing Software Distribution and Deployment by Using Packages and Programs.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
What is BizTalk ?
Advanced Operating Systems CIS 720
Warm Handshake with Websites, Servers and Web Servers:
Java Distributed Computing
What is ROS? ROS is an open-source robot operating system
#01 Client/Server Computing
Multiple Processor Systems
Remote Procedure Call Hank Levy 1.
Chapter 2: Operating-System Structures
Remote Procedure Call Hank Levy 1.
Robotic Perception and Action
Remote Procedure Call Hank Levy 1.
#01 Client/Server Computing
Presentation transcript:

I NTRODUCTION TO ROBOTICS Tutorial 1

A GENDA Administrations Basic Matlab Robotic Tool Box Introduction to ROS

A DMINISTRATIONS 3 HWs, 10% each – 30% total Midterm Exam (Will be held in the lecture), 30% Final Project, 40% There will be NO final exam

M ATLAB

B ASIC COMMANDS - V ECTORS Row Vector >> a=[0.2,7,11,5] a = Column Vector >> b=[0.2;7;11;5] b =

V ECTORS - RULE Space or a comma to move a column. ; to move a row. >> A=[3 4 5; 4 7 9; 2 6 7] A =

O PERATOR R ANGE - : >> 1:5 ans = >> 1:3:5 ans = 1 4 >> 1:-3:-15 ans = >> x = 0:0.25:1 x =

I NDEXES Note indexes in Matlab starts with 1, NOT 0 >> A=[3 4 5; 4 7 9; 2 6 7] A = >> A(1:2,2:3) ans = >> A(1,[1,3]) ans = 3 5

E LEMENTARY MATRICES >> A=ones(3,3) A = >> B = eye(3) B = >> C = zeros(3,5) C =

O PERATIONS ON DATA STRUCTURES >> A+B ans = >> A*B % B is identity, therefore answer is A. ans = >> A^2 % same as A*A ans = 3 3 3

S OLVING L INEAR E QUATIONS >> s = A\b s = 7 13

R OBOTIC T OOLBOX Website: Installing instructions: Adjust your MATLABPATH to include rvctools (pathtool) Execute the startup file rvctools/startup_rvc.m Run the demo rtdemo to see what it can do Interesting examples Animations Inverse Kinematics Forward Dynamics

R OBOTIC TOOLBOX We’ll use the toolbox with the course. Tutorials will use the toolbox for examples Homework assignments will contain a “wet” part, you’ll use the toolbox for the wet part. You’ll need the toolbox for the final project.

ROS – R OBOTIC OPERATING SYSTEM ROS is an open-source, meta-operating system for your robot It provides the services you would expect from an operating system: Hardware abstraction Low-level device control Implementation of commonly-used functionality Message-passing between processes Package management. Distributed System

R OS COMPATIBILITY ROS currently only runs on Unix-based platforms. Software for ROS is primarily tested on Ubuntu and Mac OS X systems While a port to Microsoft Windows for ROS is possible, it has not yet been fully explored.

R OS – C ONCEPTS ROS has three levels of concepts Filesystem level Computation Graph level Community level

F ILESYSTEM Packages Packages : Packages are the main unit for organizing software in ROS. A package may contain ROS runtime processes ( nodes ), a ROS- dependent library, datasets, configuration files, or anything else that is usefully organized together. Manifests Manifests : Manifests (manifest.xml) provide metadata about a package, including its license information and dependencies, as well as language-specific information such as compiler flags. Stacks Stacks : Stacks are collections of packages that provide aggregate functionality, such as a "navigation stack." Stacks are also how ROS software is released and have associated version numbers Stack Manifests Stack Manifests : Stack manifests (stack.xml) provide data about a stack, including its license information and its dependencies on other stacks. Message (msg) types Message (msg) types : Message descriptions, stored in my_package/msg/MyMessageType.msg, define the data structures for messages sent in ROS. messages Service (srv) types Service (srv) types : Service descriptions, stored in my_package/srv/MyServiceType.srv, define the request and response data structures for services in ROS.

ROS C OMPUTATION G RAPH L EVEL Nodes Nodes : Nodes are processes that perform computation. Master Master : The ROS Master provides name registration and lookup to the rest of the Computation Graph. Without the Master, nodes would not be able to find each other, exchange messages, or invoke services. Messages Messages : Nodes communicate with each other by passing messages. A message is simply a data structure, comprising typed fields. Standard primitive types (integer, floating point, boolean, etc.) are supported, as are arrays of primitive types. Messages can include arbitrarily nested structures and arrays (much like C structs). Topics Topics : Messages are routed via a transport system with publish / subscribe semantics. A node sends out a message by publishing it to a given topic. The topic is a name that is used to identify the content of the message. A node that is interested in a certain kind of data will subscribe to the appropriate topic. There may be multiple concurrent publishers and subscribers for a single topic, and a single node may publish and/or subscribe to multiple topics. In general, publishers and subscribers are not aware of each others' existence. The idea is to decouple the production of information from its consumption. Logically, one can think of a topic as a strongly typed message bus. Each bus has a name, and anyone can connect to the bus to send or receive messages as long as they are the right type. Services Services : The publish / subscribe model is a very flexible communication paradigm, but its many-to-many, one-way transport is not appropriate for request / reply interactions, which are often required in a distributed system. Request / reply is done via services, which are defined by a pair of message structures: one for the request and one for the reply. A providing node offers a service under a name and a client uses the service by sending the request message and awaiting the reply. ROS client libraries generally present this interaction to the programmer as if it were a remote procedure call. Bags Bags : Bags are a format for saving and playing back ROS message data. Bags are an important mechanism for storing data, such as sensor data, that can be difficult to collect but is necessary for developing and testing algorithms.