ROS Tutorial. Me133a Joseph & Daniel 11/01/2017

Similar documents
CONNECT TO BUFFALO ROUTER

CSCE 574 Robotics Fall 2018

Mini Turty II Robot Getting Started V1.0

Other RTOS services Embedded Motion Control 2012

Say hello to BAXTER! A.P.R.I.L. Project - Residential Workshop Plymouth MSc. CNCR Gabriella Pizzuto & MSc. Eng. Ricardo de Azambuja

Marine Robotics. Alfredo Martins. Unmanned Autonomous Vehicles in Air Land and Sea. Politecnico Milano June 2016

Running the PR2. Chapter Getting set up Out of the box Batteries and power

TurtleBot2&ROS - Learning TB2

Individual Hands-On Project Description

Introducing modern robotics with ROS and Arduino

Using Robot Operating System (ROS) and Single Board Computer to Control Bioloid Robot Motion

Overseer: A Multi Robot Monitoring Infrastructure

Shadow Robot Documentation

1 Lab + Hwk 4: Introduction to the e-puck Robot

Lab 8: Introduction to the e-puck Robot

Lab 3 Swinging pendulum experiment

Introduction to Pioneer Robots

Developing Applications for the ROBOBO! robot

NASA Robotic Mining Competition

Reviewing Your Tax Return In Your Portal

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Infoblox and Ansible Integration

Getting Started Guide AR10 Humanoid Robotic Hand. AR10 Hand 10 Degrees of Freedom Humanoid Hand

Report, IDE1229 MASTER THESIS. A Mixed-Reality Platform for Robotics and Intelligent Vehicles

Fetch Robotics. Release Indigo. Fetch Robotics Inc

Robotics Introduction Matteo Matteucci

Performance Evaluation of Augmented Teleoperation of Contact Manipulation Tasks

Recitation 2 Introduction to Photoshop

A Denunciation of the Monochrome:

STEM SUMMER CAMP 2019

ReVRSR: Remote Virtual Reality for Service Robots

Development of a Low-Cost Education Platform: RoboMuse 4.0

SonicCell. Using SonicCell with GarageBand. Workshop ÂØÒňÎ. Expandable Synthesizer Module and Audio Interface SCWS06 1

ARS AUGMENTED REALITY SERIES

AUTOMATION ACROSS THE ENTERPRISE

CS 378: Autonomous Intelligent Robotics. Instructor: Jivko Sinapov

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Turtlebot Laser Tag. Jason Grant, Joe Thompson {jgrant3, University of Notre Dame Notre Dame, IN 46556

GESTURE BASED HUMAN MULTI-ROBOT INTERACTION. Gerard Canal, Cecilio Angulo, and Sergio Escalera

Visual compass for the NIFTi robot

Robot Operating System Ros The Complete Reference Volume 1 Studies In Computational Intelligence

Evolution of the robotic control frameworks at INRIA Rhône-Alpes

dspace and Real-Time Interface in Simulink

Outernet L-band for Linux Documentation

Meet Cue. USER PROGRAMMABLE LEDS & BUTTONS Customizes your experience.

Multi-robot Control via Smart Phone and Navigation in Robot Operating System

Robo$cs Introduc$on. ROS Workshop. Faculty of Informa$on Technology, Brno University of Technology Bozetechova 2, Brno

IRU151_IRU152. OPC UA User Manual

Application Note. Communication between arduino and IMU Software capturing the data

MOBILE ROBOTICS SOFTWARE REVIEWS

Vision Based Fuzzy Control Autonomous Landing with UAVs: From V-REP to Real Experiments

Scanner Utility for Microsoft Windows Version 9.6. User's Guide

Construction of Mobile Robots

Downloading a ROBOTC Sample Program

User Guide / Rules (v1.6)

Design Lab Fall 2011 Controlling Robots

Human-Robot Interaction for Remote Application

Benthic Photo Survey Documentation

ME 597/780 AUTONOMOUS MOBILE ROBOTICS SECTION 1: INTRODUCTION

Simulink Support for VEX Cortex BEST Robotics Sandeep Hiremath

ZX Distance and Gesture Sensor Hookup Guide

DESIGN OF AN IMAGE PROCESSING ALGORITHM FOR BALL DETECTION

FUJITSU TWAIN 32 Scanner Driver. Scanner Utility for Microsoft Windows Version User's Guide

Version: 2.0 Date: 5/31/ :07:00 AM

RoboyXylophoneRecording Documentation. Arash, Ludwig, Yupei

Welcome to Storyist. The Novel Template This template provides a starting point for a novel manuscript and includes:

Robots are similar to humans if you consider that both use inputs and outputs to sense and react to the world.

3 USRP2 Hardware Implementation

First Steps in Unity3D

Congratulations on your decision to purchase the Triquetra Auto Zero Touch Plate for All Three Axis.

TRDB_DC2 TRDB_DC2. 1.3Mega Pixel Digital Camera Development Kit

League <BART LAB AssistBot (THAILAND)>

VR-Plugin. for Autodesk Maya.

Release Notes v KINOVA Gen3 Ultra lightweight robot enabled by KINOVA KORTEX

EITN90 Radar and Remote Sensing Lab 2

Adafruit 16 Channel Servo Driver with Raspberry Pi

PR2 HEAD AND HAND MANIPULATION THROUGH TELE-OPERATION

EVOS M5000 Imaging System

Open Loop Frequency Response

ECE 497 Introduction to Mobile Robotics Spring 09-10

Anki Documentation. Jennifer and Soren Bjornstad Contact: November 20, 2011

3D Projected Imagery Freespace Control Unit (PIFCU): Design, Implementation, and Analysis

LAUNCHPAD. Getting Started Guide

INSTRUCTIONS. 3DR Plane CONTENTS. Thank you for purchasing a 3DR Plane!

Robot Autonomy Project Final Report Multi-Robot Motion Planning In Tight Spaces

Transferring Deep Reinforcement Learning from a Game Engine Simulation for Robots

Emergency Stop Final Project

Lab 7: Introduction to Webots and Sensor Modeling

EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs Introduction to Arduino

Lab 1: Testing and Measurement on the r-one

PWM Guide: Zen Buzzer and Tri-Colour LEDs For Linux Kernel 4.1+ Table of Contents. by Brian Fraser Last update: November 17, 2017

ROS Based Multi-sensor Navigation of Intelligent Wheelchair

Robotic manipulator capable of sorting moving objects alongside human workers using a budget-conscious control system

Multi-Robot Frontier Based Map Coverage Using the ROS Environment. Brian Pappas

Contents. Introduction

CS 378: Autonomous Intelligent Robotics. Instructor: Jivko Sinapov

Brightness and Contrast Control Reference Guide

Robotics Engineering DoDEA Career Technology Education Robot Programming

Basics of Error Correcting Codes

EE 461 Experiment #1 Digital Control of DC Servomotor

Transcription:

ROS Tutorial Me133a Joseph & Daniel 11/01/2017

Introduction to ROS 2D Turtle Simulation 3D Turtlebot Simulation Real Turtlebot Demo

What is ROS ROS is an open-source, meta-operating system for your robot open-source: all code is public. Most people share their code as to be used with ROS meta-operating system: contains many of the components expected in an OS: hardware abstraction, low-level control, package management We can use C++ or Python We will cover the basics with some examples. Follow the tutorials to understand more http://wiki.ros.org/ros/tutorials Note: each version of ROS works with a different Ubuntu (the virtual machine has Ubuntu 14 and ROS Indigo) ROS Indigo works with Ubuntu 14.04 ROS Kinect works with Ubuntu 16.04 3

ROS Terminology Package: a collection of software bundle together Nodes: a process $ rosrun <packagename> <nodename> $ roscore Topics: labelled buses to exchange data between nodes $ rostopic list Messages: data structures. $ rostopic type <topic> $ rosmsg show <messagetype> Launch file: it can run several nodes at once with specific parameters $ roslaunch <packagename> <launchfile> 4

ROS Tools Comes prepackaged with some useful stuff $ rqt Debugging $ rqt_graph node-topic interaction $ roswtf general troubleshooter (v. useful) Visualization $ rqt_plot 2D plot $ rviz 3D plot 5

Why do we use ROS? We use ROS to Interact between different programs (threads) running in parallel Interact with robot hardware Display data in real time Record and replay sensor data Advantages of ROS It is a easy way to share and use code from others There are already many drivers and programs to use It hides the complexity to use several computers talking to each other We can use the speed of C++ in some parts and the flexibility of Python in other parts. It is becoming the de-facto standard in for robotics in industry and academia, you should learn it! 6

Basic linux commands Open a new terminal (ctrl + alt + T) Navigate your filesystem using $ cd path where path is the folder you want to go $ cd.. to go back one folder $ ls to display the contents in the current folder $ ls -l adding the argument -l gives more info Use key TAB to autocomplete results ~ denotes the Home directory $ cd ~/Documents 7

Introduction to ROS 2D Turtle Simulation 3D Turtlebot Simulation Real Turtlebot Demo

ROS setup Open the virtual machine For each command open a new terminal (ctrl + alt + T) Start ROS core $ roscore 9

2D Turtle Simulation ROS tutorial: http://wiki.ros.org/ros/tutorials/understandingtopics Start turtlesim node $ rosrun turtlesim turtlesim_node Start keyboard teleoperation node $ rosrun turtlesim turtle_teleop_key Visualize the node graph $ rqt_graph 10

2D Turtle Simulation 11

2D Turtle Simulation You need at least 3 terminal windows 12

After turtlesim_node After turtlesim_node and turtle_teleop_key 13

Introduction to ROS 2D Turtle Simulation 3D Turtlebot Simulation Real Turtlebot Demo

3D Turtlebot Simulation We have limited hardware and it can break: we will use the simulation to test our algorithms It includes dynamics, sensors and actuators models It uses Gazebo, a simulation environment built-in ROS 15

3D Turtlebot Simulation Close all previous terminals and execute $ roslaunch turtlebot_stage turtlebot_in_stage.launch $ roslaunch turtlebot_teleop keyboard_teleop.launch $ rqt_graph 16

3D Turtlebot Simulation Graph 17

3D Turtlebot Run a Script Open Firefox and go to the class webpage Download Python script for lab 1 and save it Cancel the turtlebot_teleop node (ctrl + C) and then run the commands: $ cd Downloads $ python me133a_lab1.py Open the file with the command: $ gedit me133a_lab1.py 18

Introduction to ROS 2D Turtle Simulation 3D Turtlebot Simulation Real Turtlebot Demo

Turtlebot Kobuki Base: it has 2 motors with wheel encoders Sensors: Gyroscopes Wheel encoders Hokugi 2D lidar Kinect rgb-d camera 20

Real Turtlebot Demo We will use turtlebot for future labs To start it: Turn on the turtlebot laptop and log in Turn on the base Run $ roslaunch turtlebot_bringup minimal.launch Run whatever scripts you need 21

That is just the beginning.. Things we haven t covered: How to record and play data using bags How to write your own programs to publish and subscribe topics How to create your own packages How to create your own messages Undestanding of ROS transforms (tf) How to create your own rqt plugin 22

Extra: using Bag files Bag file: ROS format to store data Binary. Record: $ rosbag record <newbagname.bag> <topicstorecord> Use option -a to record all topics (warning: recording video takes a lot of space!) Analyze $ rosbag info <existingbagname.bag> Play $ rosbag play <existingbagname.bag> 23