Download Robot Operating system (ROS)

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Robot Operating System
(ROS)
Weijun Huang
Computer Sciences
OUTLINES
• What is ROS?
• Design goals of ROS
• Usage of ROS SDK
• Build and Install ROS
• Sample Project
• Embedded ROS
What is ROS?
• ROS is a framework for robotics:
from drivers to state-of-the-art algorithms, with developer tools
• ROS was originally designed for a specific set of challenges encountered when
developing large-scale service robots.
• Some design goals of ROS [Quigley 2009]:
1.
Peer-to-peer
2.
Multi-lingual
3.
Tools-based
4.
Thin
5.
Free and open-source
Design Goals of ROS?
1. Peer to Peer
• Heterogenous network situation:
onboard robots (at Ethernet) communicate wirelessly (slow) with offboard
machines running intensive tasks (e.g. speech recognition).
• Running a central data server would result in heavy traffic across the
wireless link.
• Peer-to-peer connectivity avoids the issue (with buffering or fanout software
if necessary).
• ROS provides a lookup mechanism name service for peer-to-peer network
topology: processes can find each other at runtime
Design Goals of ROS?
2. Multi lingual (language neutral):
• supports four languages: C++, LISP, Octave and Python, and provides
other language ports
• supports cross-language development, by using a so-called interface
definition language (IDL)
3. Tools based
• This is an effort of complexity management of ROS
• microkernel design: a large number of tools/modules are used to build/run
the ROS components
Usage of ROS SDK
• Downloadable from ROS.org: http://wiki.ros.org/ROS/Installation
select Ubuntu, OS X, Windows, … ,
• Let select Windows –
WinRos sdk
development environment: Microsoft Visual Studio
• What needs to build the SDK:
http://wiki.ros.org/win_ros/Msvc%20Build%20Environment%20-%20Fuerte
• Uses Windows sdk 7.1
• Compiles with cmake/nmake.
• Compiles in Release mode
• (Currently 32 bit support)
Usage of ROS SDK
• ROS robot software distributions:
http://www.willowgarage.com/pages/software/ros-platform
• ROS Hydro Medusa (September, 2013)
• ROS Groovy (December, 2012)
• ROS Fuerte (April, 2012)
• ROS Electric (August, 2011)
• ROS Diamondback (March, 2011)
• ROS C Turtle (August, 2010)
• ROS Box Turtle (March, 2010)
Build and Install ROS
• Install the following dependencies -•
•
•
•
•
Windows SDK 7.1
CMake 2.8.7
Empy 3.1
PyNose 1.1.2
PySetupTools 0.6c11
• Extract the following archives to C:\opt
Rosdeps : boost 1.47.0, bzip2 1.06, log4cxx 0.10
• WinRos Build Script (pay attention to downloading winros.bat finally)
> mkdir C:\work
> cd C:\work
> wget --no-check-certificate
https://raw.github.com/stonier/win_ros/master/msvc/msvc_sdk/scripts/fuerte/winros.bat
Build and Install ROS
• > cd C:\work
• > winros sdk download
• Then the cmd prompt will guide you to finish the config, build, install
• Python packages:
• Python 2.7.2 : add C:\Python27\ and C:\Python27\Scripts to your PATH.
• PyWin32 217
• PyYaml 3.10
• PySetupTools 0.6c11
• Rospkg 1.0.6
• WinRos Sdk 0.1.3 - extract into C:\opt.
Sample Project
• Back to ROS.org: http://wiki.ros.org/ROS/Installation
select robots -- PR2, Dr. Robot, Kobuki, …
• Let select Kobuki
• Tutorial for testing automatic docking:
http://wiki.ros.org/kobuki/Tutorials/Testing%20Automatic%20Docking
• Download a sample project of Kobuki from
https://github.com/yujinrobot/kobuki
Embedded ROS
• An embedded ROS is an interface framework that provides control &
communication architectures for robots, such as multi-sensor systems [Song
2008].
• It supports human-robot interaction (keyboard, mouse, menu interface, etc).
• Three function layers:
• Low level function call manager (LLFCM) menu
• Mid level functions layer (communication layer)
• High level user interface dialog
control the mobile robot and display sensor status
Reference
• Quigley, M., et al, 2009, ROS: an open-source Robot Operating System,
http://pub1.willowgarage.com/~konolige/cs225B/docs/quigley-icra2009-ros.pdf
• Song, T., et al, 2008, Embedded Robot Operating Systems for Human-Robot
Interaction, Computer-Human Interaction: 8th Asia-Pacific Conference, SpringerVerlag
• Mueke & Powell, 2010, “A Distributed, Heterogeneous, Target-optimized
Operating System for a Multi-robot Search and Rescue Application”, Modern
Approaches in Applied Intelligence: 24th International Conference on, SpringerVerlag