oberseminar 2014
play

Oberseminar 2014 TAMS activities in RobotEra Hannes Bistry - PowerPoint PPT Presentation

MIN Faculty Department of Informatics University of Hamburg 3. June 2014 Oberseminar 2014 TAMS activities in RobotEra Hannes Bistry University of Hamburg Faculty of Mathematics, Informatics and Natural Sciences Department of Informatics


  1. MIN Faculty Department of Informatics University of Hamburg 3. June 2014 Oberseminar 2014 TAMS activities in RobotEra Hannes Bistry University of Hamburg Faculty of Mathematics, Informatics and Natural Sciences Department of Informatics Technical Aspects of Multimodal Systems 3.June 2014 TAMS 1

  2. MIN Faculty Department of Informatics University of Hamburg 3. June 2014 Outline 1. Introduction 2. ROS Overview 3. Example of a ROS-based robot 4. Camera Integration 5. MoveIt Integration TAMS 2

  3. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 General problem of research in robotics (from willowgarage.com) TAMS 3

  4. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 ROS R obot O perating S ystem ◮ component-oriented robotics framework ◮ Inter Process Communication middleware ◮ development suite ◮ language support (C++, Python, Java,...) ◮ debugging functions ◮ package management system ◮ active community TAMS 4

  5. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 ROS - basic concepts Main components: ◮ roscore (directory service and parameter storage) ◮ usually one in an environment ◮ Nodes (each component is called a node) ◮ Communication mechanisms ◮ topics ◮ services ◮ (actions) ◮ Parameter Server ◮ part of the “roscore“ ◮ configure nodes / share files and information TAMS 5

  6. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 ROS - Topics Each Node can listen or publish on arbitrary topics: ◮ a “named“ datastream of a certain type (e.g. “/front camera/image raw“) ◮ N:N communication ◮ every node can listen to a topic ◮ example: multiple nodes need data from the camera ◮ multiple nodes can publish on a topic ◮ example: all nodes may generate debug output (collected) ◮ Problem: dysfunctional nodes may break the whole system ◮ trusted zone ◮ ROS offers good debugging options The topic names are used to match clients and servers. TAMS 6

  7. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 ROS - Topics Every topic is restricted to one Message type: ◮ (first come - first serve to announce the message type for a topic) ◮ Built-in types string, float (32 or 64 bits), integer, booleans and Header ◮ defined in other own and third-party packages “MyOtherPackage/CustomMessage“ Definition of new message formats in a .msg file: float64 myDouble string myString float64 [ ] myArrayOfDouble The message definition can also contain full messages defined in other packages (nested definition). TAMS 7

  8. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 ROS - Topics - Properties ◮ “Fire-and-Forget“ style of communication ◮ comparable to UDP-packets ◮ messages may be dropped due to: ◮ limited network bandwidth ◮ processing of last message lasted too long Behavior can be adjusted: ◮ message queue length ◮ whether to latch last message for new subscribers TAMS 8

  9. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 ROS - Topics - Examples ◮ joint values ◮ camera images ◮ laser scanner data ◮ point cloud (Microsoft Kinect) ◮ system health status (temperature, battery, ...) TAMS 9

  10. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 ROS - Topics - Examples Publishing from the command line: rostopic pub / topic_name std_msgs / String ” Hello World” Receiving the Topic: rostopic echo / topic_name data : Hello World − − − TAMS 10

  11. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 ROS - Topics - Example N:N communication Publishing repeatedly from the command line 1: rostopic pub − r 1 / topic_name std_msgs / String ” Hello ” Publishing repeatedly from the command line 2: rostopic pub − r 1 / topic_name std_msgs / String ”World” Receiving the Topic: rostopic echo / topic_name data : Hello − − − data : World − − − data : Hello − − − data : World TAMS 11

  12. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 ROS - Topics - Invalid message types Publishing repeatedly from the command line 1: pub − r 1 / topic_name std_msgs / String ” H e l l o ” rostopic Listen to message with command line 2: echo / topic_name rostopic Publishing repeatedly from the command line 3: pub − r 1 / topic_name std_msgs / Int16 42 rostopic Error Message: [ WARN ] [ WallTime : 1403186454.670754] Could not process inbound connection : topic types do not match : [ std_msgs / String ] vs . [ std_msgs / Int16 ] { ’ message_definition ’ : ’ string data \ n \ n ’ , ’ callerid ’ : ’/ rostopic_12368_1403186454023 ’ , ’ tcp_nodelay ’ : ’0 ’ , ’ md5sum ’ : ’992 ce8a1687cec8c8bd883ec73ca41d1 ’ , ’ topic ’ : ’/ topic_name ’ , ’ type ’ : ’ std_msgs / String ’ } TAMS 12

  13. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 ROS - Services Nodes can provide and call so called Services . ◮ asynchronous communication (RPC) ◮ Service request / reply ◮ each part has its of datatype ◮ definition similar to messages in a .srv file (request / reply are separated by dashes) float64 query_x float64 query_y − − − float64 result TAMS 13

  14. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 ROS - Actions Interface for preemptable tasks. ◮ for longer lasting tasks ◮ goal / result /feedback ◮ client calls service with goal message ◮ (server sends one/many feedback messages) ◮ server sends result ◮ definition similar to messages in a .action file (example from ros.org) # Define the goal uint32 dishwasher_id # S p e c i f y which dishwasher we want to use − − − # Define the r e s u l t uint32 total_dishes_cleaned − − − # Define a feedback message float32 percent_complete TAMS 14

  15. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 ROS - Actions TAMS 15

  16. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 ROS - Filesystem Structure ROS workspace: ◮ the ”root”directory where all your packages are in ◮ announce this to the ROS system by export ROS PACKAGE PATH=$ROS PACKAGE PATH:/path/to/your/workspace ROS package: ◮ directories under one directory defined in your ROS PACKAGE PATH variable ◮ may contain executables, libraries, configuration files, robot models, message/service/actions definition files ◮ anything that logically constitutes a useful entity can be part of the package ◮ may depend on other packages ◮ description / dependencies defined in Manifest.xml TAMS 16

  17. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 ROS - Filesystem Structure ROS Nodes: ◮ are usually executables within one package ◮ instead of “path/to/your/workspace/package name/bin/node name“ you can simply type “rosrun package name node name“ in ANY directory Launch-files: ◮ comparable to shell-scripts ◮ .launch files in the “path/to/your/workspace/package name/launch“ folder ◮ start roscore if no one is running ◮ start one or multiple nodes, also from other packages ◮ define parameters ◮ start with “roslaunch package name launchfile name.launch“ TAMS 17

  18. MIN Faculty Department of Informatics University of Hamburg 2 ROS Overview 3. June 2014 Gazebo Simulator ROS Nodes: ◮ Physical simulation of robots ◮ ROS integration ◮ simulate sensors ◮ laser ◮ cameras ◮ Kinect ◮ simulate actuators ◮ robot arms ◮ drive system Note: RViz can only visualize , not simulate. TAMS 18

  19. MIN Faculty Department of Informatics University of Hamburg 3 Example of a ROS-based robot 3. June 2014 System Architecture of DORO ◮ Scitos G5 platform ◮ ROS Hydro (Robot Operating System) ◮ Core i7 Industrial PC ◮ Software Subsystems: ◮ MoveIt (IK, Manipulation) ◮ Mira / Cognidrive (navigation) ◮ PEIS (high level task planning) ◮ GStreamer / OpenCV for vision TAMS 19

  20. MIN Faculty Department of Informatics University of Hamburg 3 Example of a ROS-based robot 3. June 2014 The Robot Description File One essential part of running a Robot under ROS is a URDF description of a Robot, that is needed for: ◮ specification of coordinate frames ◮ calculation of frame transformations ◮ visualization ◮ simulation ◮ needs additional files Usage: ◮ The file is uploaded to the ROS parameter server. ◮ several ROS-nodes fetch the robot-description file from there ◮ In practice, the URDF file is often generated by a .xacro file, that offers comfortable features like macros. TAMS 20

  21. MIN Faculty Department of Informatics University of Hamburg 3 Example of a ROS-based robot 3. June 2014 The Robot Description File ... TAMS 21

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend