74
Introduction to Service Robotics Application development with [email protected] http://www.hotblackrobotics.com/ http://www.ludusrusso.cc/ 1 Ludovico Russo, Gabriele Ermacora May 2017

Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Introduction to Service Robotics Application

development with

[email protected]://www.hotblackrobotics.com/http://www.ludusrusso.cc/

1Ludovico Russo, Gabriele Ermacora May 2017

Page 2: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Robotics Fields - Industrial Robotics

2Ludovico Russo - May 2017

Page 3: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Robotics Fields - Space Exploration

3Ludovico Russo - May 2017

Page 4: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Robotics Fields - Military Robots

4Ludovico Russo - May 2017

Page 5: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Robotics Fields - Wearable Robotics

5Ludovico Russo - May 2017

Page 6: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Robotics Fields - Service Robotics

6Ludovico Russo - May 2017

Page 7: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

HOTBLACK ROBOTICSCloud Robotics e IoT

Page 8: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino

Ph.D. in Robotics Engineering, focused on Human Robot Interaction and Cloud Services.

Ph.D. in Robotics Engineering, expert in Service and Cloud Robotics

Page 9: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

MISSION: Democratize robotics through a cloud platform.

Page 10: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

The cloud platform and the community

SW

HW

Sharing of robotics Open Hardware projects and robotic Open Source (Robotic App Store)

Page 11: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Write a robotic app is easy via cloud

Page 12: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Dotbot - the first open hardware project programmable by cloud

Page 13: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Cloud robotics will be the enabler for service robotics

Page 14: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

[Google Autonomous car] You see, a driverless vehicle needs to be able to make a decision in a split second. In order to make that decision, it needs to scan and analyze everything in its local

environment. While it is certainly possible to create a computer — housed inside the vehicle — that can do all these complex calculations, store all the necessary data and handle the analytics side of it, that’s

not what you would call efficient.

Instead, these vehicles tap into a remote cloud computing network to access boatloads of stored data. This data includes roadmaps, instructions and strategies, visual indicators or identifiers and much

more.

e.g Google Car and cloud robotics

Page 15: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Introduction to ROS

15Ludovico Russo - May 2017

Page 16: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

What is ROS? Robot Operating System

- Framework for Robot Application Development

- OS-like functionalities (meta-operating system)- Hardware Abstraction / Drivers- Multiprocess Communication- Package Management

- Collection of Libraries, Tools and Conventions

- Stacks- Packages

- Ecosystem and Community

16Ludovico Russo - May 2017

Page 17: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Why ROS?

- Because creating truly robust, general-purpose robot software is hard.

- Provides plug-and-play solutions to common problems in robotics

- ROS encourages collaborative Software Development

17Ludovico Russo - May 2017

Page 18: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS Distribution- Versioned set of ROS packages

- Like a Linux distributions- Allows developers to work on a stable codebase

- Scheduling- There is a ROS release every year in May.

- Releases on even numbered years will be a LTS release, supported

for five years.

- Releases on odd numbered years are normal ROS releases,

supported for two years.

18Ludovico Russo - May 2017

Page 19: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS release history

19

End-of-life7 distributionC Turtle (2010) -> Hydro (2013)

Supported

Indigo Igloo2014 - 2019

Jade Turtle2015 - 2017

Kinetic Kame 2016 - 2021

Lunar Loggerhead2017 - 2019

Ludovico Russo - May 2017

Page 20: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Hardware

20Ludovico Russo - May 2017

Page 21: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

The ROS Framework- Lives on an Existing OS- Supported

- Ubuntu (ARM)- Debian

- Experimental- Mac OS X- Others Ubuntu Distro

(Gentoo)

21

- Binded for many languages- Compiled in

- C++- Python

- Wrappers- JavaScript- Java- Matlab- ...

Ludovico Russo - May 2017

Page 22: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

The ROS Framework - Communication

- Multi Machines communication- ROS Node

- A process in a ROS application- Communication Patterns

- Publish/Subscribe- Service/Client- Actions

22Ludovico Russo - May 2017

Page 23: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS Organization- Code

- Node- Library- Messages

- Package- Collection of

Nodes/Libraries/Messages- Other related data

23

- Metapackage- Collection of thematically similar Packages. - Bundle together code that is developed

together and is mutually interdependent.

- Repositories

Ludovico Russo - May 2017

Page 24: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS Tools

- Analysis, Debug and Visualization- Command Line Tools- RVIZ- RQT- ROS Bag

- Simulation- Gazebo

24Ludovico Russo - May 2017

Page 25: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS Tools - Command Line Tools- Main tools to manage ROS- Allows to visualize and interact

with a ROS environment from the command line

- catkin - Compilation suite- roscore- rosrun/roslaunch- rostopic/rosnode- rosmsg/rossrv- rosmessage/rosservice- etc.

25Ludovico Russo - May 2017

Page 26: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS Tools - RVIZ

26

3D visualizer for the Robot Operating System (ROS) framework

Ludovico Russo - May 2017

Page 27: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS Tools - RQT

27

GUI tool for data visualization for the Robot Operating System (ROS) framework

Ludovico Russo - May 2017

Page 28: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS Tools - ROSBag

28

Set of tools for recording from and playback ROS stream information

Ludovico Russo - May 2017

Page 29: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS Tools - Simulators

29Ludovico Russo - May 2017

Page 30: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

How does ROS work?

30Ludovico Russo - May 2017

Page 31: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROSGraph Robot Application

An application developed in ROS is a network of processes able to exchange information in a multi-machine communication network:

- The ROS Graph

Page 32: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS main componentsROSNode

- A process in a ROS Application- Actual Code when running- A node belongs to a package

32

ROSMessage

- Data definition of information that nodes exchange to communicate

- A message belongs to a package

ROS Master

- A special node that initialize a ROS application and enables communication

ROSTopic

- Main ROS communication- A channel through which nodes exchange

async information

Ludovico Russo - May 2017

Page 33: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROSNodes

A node is a process (a program that is executed) inside a ROS network, that perform a specific task

- A node is identified by an unique string (name) in the network.

- Nodes interact each other by exchanging messages using topics, services and actions

- A node can - control hardware (drivers)- Perform computations

Page 34: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROSTopics

Topics are the main communication channels in a ROS network:

- A topic is identified by an unique string (name) in the network

- On each topic, data can be send in a specific format (Message Type)

- A node that send data to a topic is called publisher

- A node that receives data from a topic is called subscriber

Page 35: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROSMessages and Message Types

Topics exchange data encapsulated in messages.

- Message Types describes the format of a message.

- Each topic has a specific type.- Can be simple (bool, int, float, string)- Can be complex struct

- geometry_msgs/Point

Page 36: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROSServices

Services are communication channes in a ROS network:

- A node that send a message on a service is called as Client

- A node that receive a message on a service is called as Server

- They works like topics, but a service call is blocking

- Client waits a response from a server

Page 37: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROSActions

Actions are a complex communication system designed for long executing tasks:

- Works like services but with a non blocking system:

- feedback topic- Result topic

Page 38: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Starting a Node Master- roscore is the command to start a ROS master- The ROS master must be started before any other node- Usage

38

$ roscore

Ludovico Russo - May 2017

Page 39: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Bring up ros nodes - rosrun- rosrun is the command to run a specific node- The ROS master must be started before any other node- Usage: rosrun <package_name> <node_name> <OPTIONS>

39

$ rosrun turtlesim turtlesim_node

$ rosrun turtlesim turtle_teleop_key

Ludovico Russo - May 2017

Page 40: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Bring up ros nodes - roslaunch- rosrun requires a shell per node to

be execute- In large project, rosrun is too complex to

be used

- Roslaunch is a solution to launch several nodes at the same time

- Usage: roslaunch <package_name> <launchfile.launch>

40

<launch>

<param name="somestring1" value="bar" />

<!-- force to string instead of integer -->

<param name="somestring2" value="10" type="str" />

<param name="someinteger1" value="1" type="int" />

<param name="someinteger2" value="2" />

<param name="somefloat1" value="3.14159" type="double" />

<param name="somefloat2" value="3.0" />

<!-- you can set parameters in child namespaces -->

<param name="wg/childparam" value="a child namespace parameter" />

<!-- upload the contents of a file to the server -->

<param name="configfile" textfile="$(find roslaunch)/example.xml" />

<!-- upload the contents of a file as base64 binary to the server -->

<param name="binaryfile" binfile="$(find roslaunch)/example.xml" />

</launch>

Ludovico Russo - May 2017

Page 41: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Topics- A Topic is a communication channel in ROS- Each node can listen or publish on a topic - Nodes send messages over a topic- Rostopic is a ros command to interact using the terminal with topics

- rostopic list- rostopic echo <topic_name>- rostopic pub <topic_name> <message_type> <message>

41

$ rostopic echo /turtle1/cmd_vel

$ rosrun pub ….

Ludovico Russo - May 2017

Page 42: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Message Type- A Message Type represents a data type sent over a topic- Each topics transfer specific message type information- rosmsg allows to get informations about a message type in ROS

42

$ rosmsg show geometry_msgs/Twist

geometry_msgs/Vector3 linear float64 x float64 y float64 zgeometry_msgs/Vector3 angular float64 x float64 y float64 z

Ludovico Russo - May 2017

Page 43: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Message TypeROS defines standard messages to handle common type of communication

43

- std_msgs- Int8 - Int16 ..- Float8 - Float16- String- Empty- Time- Bool-

- Arrays- Int8MultiArray- ….

- geometry_msgs- Accel- Pose- Quaternion- Twist- ...

- Different version of the same message that can be stamped and WithCovariance

- PoseStamped- PoseWithCovariaceStamped

Ludovico Russo - May 2017

Page 44: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS Service/Client- Synchronous communication

between nodes- A Service is a couple of

messages - Request (a message)- Response (a message)

- The Client sends a Request and waits for a Response from the Server

44

$ rosservice list$ rosservice call /kill turtle1$ rosservice call /reset

- rosservice is the command line tool to hand Services

Ludovico Russo - May 2017

Page 45: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS Service Type- Like message Type, a Service

Type are the data type sent over a Service/Client communication

- rossrv allows to get informations about a service type in ROS

45

$ rossrv show turtlesim/Spawnfloat32 xfloat32 yfloat32 thetastring name---string name

Ludovico Russo - May 2017

Page 46: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS Param Server- Store and manipulate data

accessible by all nodes- ROS Parameter Server- rosparam is the command line

tool to access to the rosparam server

46

$ rosparam list/background_b/background_g/background_r/rosdistro/roslaunch/uris/host_imacdiludovico_homenet_telecomitalia_it__50532/rosversion/run_id

$rosparam set background_g 160

Ludovico Russo - May 2017

Page 47: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Example

47Ludovico Russo - May 2017

Page 48: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS Developing - Catkin- Catkin is the build system for ROS- Catkin allows to

- Organize packages- Build packages

- Simplify the development of reusable code- Developed over Standard Build tools

- CMake- Python-build

- Allows developer to- Create workspace- Build Nodes- Generate Messages and Services types

48Ludovico Russo - May 2017

Page 49: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Catkin Workspace- A Catking workspace is a workspace

project where code and executables are placed

- catkin_ws/- src/ (all packages code)- devel/- install/

- To generate a catking workspace, you need

- Create the folder catkin_ws/src/- Run the command catking_init_workspace

within catkin_ws/src

49Ludovico Russo - May 2017

Page 50: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Catkin package

- A catkin package is placed within the src folder

- package/- package.xml- CMakeLists.txt- src/ (c++ Code)- msg/ (messages definition)- srv/ (services definition)- scripts/ (Python code)

50

- package.xml- Meta data information about the

package- Name, description, version etc...

- CMakeLists.txt- CMake file containing information on

how to build the package

- catkin_create_pkg <package_name> <deps>

Ludovico Russo - May 2017

Page 51: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS Useful Packages

51Ludovico Russo - May 2017

Page 52: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

gmapping

- A state of the art node for 2D

mapping

- http://wiki.ros.org/gmapping

- https://www.youtube.com/watch?

v=khSrWtB0Xik

52Ludovico Russo - May 2017

Page 53: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Navigation metapackage- A 2D navigation stack

- Implement and solves common

problems in Robot Navigation

- http://wiki.ros.org/navigation

53Ludovico Russo - May 2017

Page 54: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

AMCL- Amcl implements a robot

localization algorithm based on

particle filtes

- https://www.youtube.com/watch?

v=xaeUc1-r9rY

54Ludovico Russo - May 2017

Page 55: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

move_base- Path planning and following

algorithm

- http://wiki.ros.org/move_base

- https://www.youtube.com/watch?

v=QFxTCL-i72A

55Ludovico Russo - May 2017

Page 56: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

MoveIt - Mobile Manipulation- Set of tools for mobile

manipulation- Simulation

- Motion planning

- Control

- 3D Perception

- http://moveit.ros.org/

- https://www.youtube.com/wat

ch?v=vAeEEoxVhAo

56Ludovico Russo - May 2017

Page 57: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Octomap

- 3D Mapping Framework- Equivalent package to gmapping- https://octomap.github.io/- https://www.youtube.com/watch?v=JwbZe

gYgxzc

57Ludovico Russo - May 2017

Page 58: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROSSerial http://wiki.ros.org/rosserial- A protocol for wrapping ROS serialized messages and multiplexing multiple

topics and services over a character device such as a serial port or network socket

58

ROS Network

Rosserial Node

Serial Devices

Ludovico Russo - May 2017

Page 59: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROS Bridge http://wiki.ros.org/rosbridge_suite- Rosbridge provides a JSON API to ROS functionality for non-ROS programs.

59

ROS Network

Rosbridge Server

Web APPs

Ludovico Russo - May 2017

Page 60: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Robot Web Tools http://robotwebtools.org/

60Ludovico Russo - May 2017

Page 61: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

What you can do with ROS?

61Ludovico Russo - May 2017

Page 62: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Robot@CED

62Ludovico Russo - May 2017

Page 63: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

63Ludovico Russo - May 2017

Page 64: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

https://www.youtube.com/watch?v=HlUB0oHuXrc

64Ludovico Russo - May 2017

Page 65: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

65Ludovico Russo - May 2017

Page 66: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

66Ludovico Russo - June 2016 Ludovico Russo - May 2017

Page 67: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

67Ludovico Russo - June 2016 Ludovico Russo - May 2017

Page 68: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

68Ludovico Russo - May 2017

Page 69: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

69Ludovico Russo - May 2017

Page 70: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

70https://www.youtube.com/watch?v=EJ5-uBt7rHs

Ludovico Russo - May 2017

Page 71: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

DotBot

71Ludovico Russo - May 2017

Page 72: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Examples Using the HotBlack Robotics Cloud Platform

72Ludovico Russo - May 2017

Page 73: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

ROKERSwww.rokers.io

73Ludovico Russo - May 2017

Page 74: Introduction to Service - polito.it...Team / HotBlack Robotics was born during the PhD in TIM JOL CRAB (Connected Robotics Application Lab) and Politecnico di Torino Ph.D. in Robotics

Thank you!

74Ludovico Russo - May 2017