SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
PUBLIC
CONTROL YOUR ROBOT WITH OSGI
AND TEACH IT NEW TRICKS
TIM VERBELEN
ROBOTS ARE TAKING OVER THE WORLD...
...ARE THEY?
ROBOT PROGRAMMING COMPLEXITY
4
CONTROLLEDUNCONTROLLED
ENVIRONMENTCOMPLEXITY
SIMPLE HARD
BEHAVIOR COMPLEXITY
SELF-LEARNING ROBOTS?
5
CONTROLLEDUNCONTROLLED
ENVIRONMENTCOMPLEXITY
SIMPLE HARD
BEHAVIOR COMPLEXITY
WE
ARE
HERE
WE
ARE
HERE
CONTROL YOUR ROBOT
OUR ROBOT
KUKA YOUBOT
two finger gripper
5 DOF arm
LIDAR sensor
omnidirectional
base platform
Nvidia Jetson TX1
embedded GPU
- 256 cuda cores
- quad core ARM CPU
- 4 GB RAM
ROS
 Generic message passing framework
 Robot geometry and description
 Advanced robotics features (i.e. FK,
IK, odometry, ...)
 Bindings for C, C++, Python and Java
 Interfaces to many robot simulators
 Supports many robots and sensors
8
ROBOT OPERATING SYSTEM
The Robot Operating System (ROS) is a set of software libraries and
tools that help you build robot applications
FROM ROS TO OSGI
ROS core
rosjavarosjava
ROS core
Additional
ROS nodes
Youbot
OSGi bundle
Youbot
OSGi bundle
Arm
OmniDirectional
OSGi ROS
launch bundles
OSGi ROS
launch bundles
SimulatorROS
controllerYoubotROS
controller
Pub-sub to topics:
/youbot/arm/arm_controller/position_command
/youbot/cmd_vel
/youbot/joint_states
9
ROBOT AS A (OSGI) SERVICE
10
public interface Arm {
// set position for an arm joint
void setPosition(int joint, float position);
// set positions for all joints
void setPositions(float… positions);
// move arm tip to a point in cartesian space
void moveTo(float x, float y, float z);
...
}
WHEN TO RETURN?
ROBOT AS A (OSGI) SERVICE
11
public interface Arm {
// set position for an arm joint
Promise<Arm> setPosition(int joint, float position);
// set positions for all joints
Promise<Arm> setPositions(float… positions);
// move arm tip to a point in cartesian space
Promise<Arm> moveTo(float x, float y, float z);
...
}
A PROMISING API
ROBOT AS A (OSGI) SERVICE
12
@Component
public class MyController {
@Reference
private Arm arm;
public void doSomething(){
arm.openGripper()
.then(p -> p.getValue().moveTo(0.3f, 0.0f, 0.25f))
.then(p -> p.getValue().setPosition(4, 1.57f))
.then(p -> p.getValue().moveTo(0.3f, 0.3f, 0.09f))
.then(p -> p.getValue().closeGripper());
// immediately returns a Promise
}
}
PROMISES IN ACTION
ROBOT AS A (OSGI) SERVICE
13
public interface OmniDirectional {
// This promise resolves “immediately” once the
// robot starts moving
Promise<OmniDirectional> move(float vx, float vy,
float va);
// Convenience method to wait until something happens
Promise<OmniDirectional> until(Promise<?> condition);
...
}
WHAT ABOUT OMNIDIRECTIONAL?
ROBOT AS A (OSGI) SERVICE
14
@Component
public class MyBaseController {
@Reference
private OmniDirectional base;
public void doSomething(){
base.move(0.0f, 0.0f, 1.0f)
.until(lidarDetectsObject())
.then(p -> p.getValue().stop());
// turn around until the lidar detects something
}
private Promise<Object> lidarDetectsObject(){...}
}
PROMISES IN ACTION (2)
TEACH IT NEW TRICKS
THE TRICK: FETCH OBJECTS
16
REINFORCEMENT LEARNING
18
AgentAgentEnvironmentEnvironment
Observation
REINFORCEMENT LEARNING
19
AgentAgentEnvironmentEnvironment
Action
REINFORCEMENT LEARNING
20
AgentAgentEnvironmentEnvironment
Reward
DEEP REINFORCEMENT LEARNING
21
USING DEEP NEURAL NETWORKS AS FUNCTION APPROXIMATORS
AgentAgent
EnvironmentEnvironment
Action
Observation
Train using
Reward
LEARNING ACTIONS FROM ROBOT INPUT
Neural NetworkNeural Network
Reward signal: negative distance to the can
train
22
SCALING DEEP REINFORCEMENT LEARNING
SimulationSimulation
SimulationSimulation
SimulationSimulation
SimulationSimulation
Experience
Pool
LearnerLearner
Neural
Network
Repository
23
DIANNE
DISTRIBUTED ARTIFICIAL NEURAL NETWORKS
 Modular, distributed deep learning framework in OSGi
 Builds on top of Torch, exploiting highly optimized CPU and
GPU operations
 Transparent distributed neural network inference and
training
 Web UI to quickly prototype and experiment
24
EXPLOIT ADDITIONAL SENSORS IN THE ENVIRONMENT
TRAIN A NEURAL NETWORK TO FUSE ADDITIONAL SENSOR INPUTS
27
FusingLayerFusingLayer
deploy on the "edge"
IMEC TECHNOLOGY FORUM
Evaluate the SessionsEvaluate the Sessions
Sign in and vote at eclipsecon.orgSign in and vote at eclipsecon.org
- 1- 1 + 1+ 100
PUBLIC
THANK YOU
http://dianne.intec.ugent.be/
https://github.com/ibcn-cloudlet/dianne
tim.verbelen@ugent.be
How deep is your learning?
12:00-12:35 - Seminarraum 5
PUBLIC

Contenu connexe

Similaire à Run OSGi on your robot and teach it new tricks - T Verbelen

Weekly Report 5 7
Weekly Report 5 7Weekly Report 5 7
Weekly Report 5 7
mimi
 
Weekly Report 5 7
Weekly Report 5 7Weekly Report 5 7
Weekly Report 5 7
mimi
 
Robot Tracking SystemPurpose of the assignment The project is dev.pdf
Robot Tracking SystemPurpose of the assignment The project is dev.pdfRobot Tracking SystemPurpose of the assignment The project is dev.pdf
Robot Tracking SystemPurpose of the assignment The project is dev.pdf
irshadoptical
 
Hey man, can I get a clue?
Hey man, can I get a clue?Hey man, can I get a clue?
Hey man, can I get a clue?
Voxeo Corp
 

Similaire à Run OSGi on your robot and teach it new tricks - T Verbelen (20)

Acciones para AmigoBot
Acciones para AmigoBotAcciones para AmigoBot
Acciones para AmigoBot
 
The Death of a Mouse
The Death of a MouseThe Death of a Mouse
The Death of a Mouse
 
Building Your Robot using AWS Robomaker
Building Your Robot using AWS RobomakerBuilding Your Robot using AWS Robomaker
Building Your Robot using AWS Robomaker
 
Transactional OSGi Applications Done Right
Transactional OSGi Applications Done RightTransactional OSGi Applications Done Right
Transactional OSGi Applications Done Right
 
Android Thread, Rx and Coroutine by Eunsil Jo
Android Thread, Rx and Coroutine by Eunsil JoAndroid Thread, Rx and Coroutine by Eunsil Jo
Android Thread, Rx and Coroutine by Eunsil Jo
 
Weekly Report 5 7
Weekly Report 5 7Weekly Report 5 7
Weekly Report 5 7
 
Weekly Report 5 7
Weekly Report 5 7Weekly Report 5 7
Weekly Report 5 7
 
Robot Tracking SystemPurpose of the assignment The project is dev.pdf
Robot Tracking SystemPurpose of the assignment The project is dev.pdfRobot Tracking SystemPurpose of the assignment The project is dev.pdf
Robot Tracking SystemPurpose of the assignment The project is dev.pdf
 
Automation for KUKA youBot ROS Project.pptx
Automation for KUKA youBot ROS Project.pptxAutomation for KUKA youBot ROS Project.pptx
Automation for KUKA youBot ROS Project.pptx
 
The Ongoing Democratization of Robotics Development
The Ongoing Democratization of Robotics DevelopmentThe Ongoing Democratization of Robotics Development
The Ongoing Democratization of Robotics Development
 
ROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRV
ROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRVROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRV
ROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRV
 
XRobots
XRobotsXRobots
XRobots
 
Building Hermetic Systems (without Docker)
Building Hermetic Systems (without Docker)Building Hermetic Systems (without Docker)
Building Hermetic Systems (without Docker)
 
Fusioninventory openworldforum-paris-2011-september
Fusioninventory openworldforum-paris-2011-septemberFusioninventory openworldforum-paris-2011-september
Fusioninventory openworldforum-paris-2011-september
 
Raising the Bar on Robotics Code Quality
Raising the Bar on Robotics Code QualityRaising the Bar on Robotics Code Quality
Raising the Bar on Robotics Code Quality
 
Web of Technologies Again
Web of Technologies AgainWeb of Technologies Again
Web of Technologies Again
 
Does Java Have a Future After Version 8? (Belfast JUG April 2014)
Does Java Have a Future After Version 8? (Belfast JUG April 2014)Does Java Have a Future After Version 8? (Belfast JUG April 2014)
Does Java Have a Future After Version 8? (Belfast JUG April 2014)
 
JavaScript Essentials in 1 Hour (2018)
JavaScript Essentials in 1 Hour (2018)JavaScript Essentials in 1 Hour (2018)
JavaScript Essentials in 1 Hour (2018)
 
Firefox OS
Firefox OSFirefox OS
Firefox OS
 
Hey man, can I get a clue?
Hey man, can I get a clue?Hey man, can I get a clue?
Hey man, can I get a clue?
 

Plus de mfrancis

Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
mfrancis
 

Plus de mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Run OSGi on your robot and teach it new tricks - T Verbelen

  • 1. PUBLIC CONTROL YOUR ROBOT WITH OSGI AND TEACH IT NEW TRICKS TIM VERBELEN
  • 2. ROBOTS ARE TAKING OVER THE WORLD...
  • 7. OUR ROBOT KUKA YOUBOT two finger gripper 5 DOF arm LIDAR sensor omnidirectional base platform Nvidia Jetson TX1 embedded GPU - 256 cuda cores - quad core ARM CPU - 4 GB RAM
  • 8. ROS  Generic message passing framework  Robot geometry and description  Advanced robotics features (i.e. FK, IK, odometry, ...)  Bindings for C, C++, Python and Java  Interfaces to many robot simulators  Supports many robots and sensors 8 ROBOT OPERATING SYSTEM The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications
  • 9. FROM ROS TO OSGI ROS core rosjavarosjava ROS core Additional ROS nodes Youbot OSGi bundle Youbot OSGi bundle Arm OmniDirectional OSGi ROS launch bundles OSGi ROS launch bundles SimulatorROS controllerYoubotROS controller Pub-sub to topics: /youbot/arm/arm_controller/position_command /youbot/cmd_vel /youbot/joint_states 9
  • 10. ROBOT AS A (OSGI) SERVICE 10 public interface Arm { // set position for an arm joint void setPosition(int joint, float position); // set positions for all joints void setPositions(float… positions); // move arm tip to a point in cartesian space void moveTo(float x, float y, float z); ... } WHEN TO RETURN?
  • 11. ROBOT AS A (OSGI) SERVICE 11 public interface Arm { // set position for an arm joint Promise<Arm> setPosition(int joint, float position); // set positions for all joints Promise<Arm> setPositions(float… positions); // move arm tip to a point in cartesian space Promise<Arm> moveTo(float x, float y, float z); ... } A PROMISING API
  • 12. ROBOT AS A (OSGI) SERVICE 12 @Component public class MyController { @Reference private Arm arm; public void doSomething(){ arm.openGripper() .then(p -> p.getValue().moveTo(0.3f, 0.0f, 0.25f)) .then(p -> p.getValue().setPosition(4, 1.57f)) .then(p -> p.getValue().moveTo(0.3f, 0.3f, 0.09f)) .then(p -> p.getValue().closeGripper()); // immediately returns a Promise } } PROMISES IN ACTION
  • 13. ROBOT AS A (OSGI) SERVICE 13 public interface OmniDirectional { // This promise resolves “immediately” once the // robot starts moving Promise<OmniDirectional> move(float vx, float vy, float va); // Convenience method to wait until something happens Promise<OmniDirectional> until(Promise<?> condition); ... } WHAT ABOUT OMNIDIRECTIONAL?
  • 14. ROBOT AS A (OSGI) SERVICE 14 @Component public class MyBaseController { @Reference private OmniDirectional base; public void doSomething(){ base.move(0.0f, 0.0f, 1.0f) .until(lidarDetectsObject()) .then(p -> p.getValue().stop()); // turn around until the lidar detects something } private Promise<Object> lidarDetectsObject(){...} } PROMISES IN ACTION (2)
  • 15. TEACH IT NEW TRICKS
  • 16. THE TRICK: FETCH OBJECTS 16
  • 17.
  • 21. DEEP REINFORCEMENT LEARNING 21 USING DEEP NEURAL NETWORKS AS FUNCTION APPROXIMATORS AgentAgent EnvironmentEnvironment Action Observation Train using Reward
  • 22. LEARNING ACTIONS FROM ROBOT INPUT Neural NetworkNeural Network Reward signal: negative distance to the can train 22
  • 23. SCALING DEEP REINFORCEMENT LEARNING SimulationSimulation SimulationSimulation SimulationSimulation SimulationSimulation Experience Pool LearnerLearner Neural Network Repository 23
  • 24. DIANNE DISTRIBUTED ARTIFICIAL NEURAL NETWORKS  Modular, distributed deep learning framework in OSGi  Builds on top of Torch, exploiting highly optimized CPU and GPU operations  Transparent distributed neural network inference and training  Web UI to quickly prototype and experiment 24
  • 25. EXPLOIT ADDITIONAL SENSORS IN THE ENVIRONMENT TRAIN A NEURAL NETWORK TO FUSE ADDITIONAL SENSOR INPUTS 27 FusingLayerFusingLayer deploy on the "edge"
  • 26. IMEC TECHNOLOGY FORUM Evaluate the SessionsEvaluate the Sessions Sign in and vote at eclipsecon.orgSign in and vote at eclipsecon.org - 1- 1 + 1+ 100