1. Doug Barker, Senior Robotic Systems Engineer, Energid
Dr. Edwin de Jong, RTI
How to Design Distributed Robotic Control Systems
Moderator:
Curt Schwaderer, OpenSystems Media
Speakers:
5. Energid develops software for simulation and
control of any robotic system.
Actin software is at the core of our
business:
• Actin SDK
• Actin Applications
• Integration Services
Energid Technologies
Copyright 2016 Energid
6. Actin Software
• Multi-robot coordination
• Dynamic collision avoidance
• Singularity avoidance
• Kinematically redundant mechanisms
• Complex kinematic chains
• Global path planning
• Real-time dynamic simulation
• IO and sensor feedback
• Easy integration of new hardware
components
• Integration with CAD
• Desktop applications for Windows,
Linux, OS X
• Control on VxWorks, Real-Time Linux
and RTOS32
• Distributed processing over DDS
Simulation and control software for any robotic system
Copyright 2016 Energid
7. Actin Software
Actin is a high level robotics control framework
One column for each robot
(executed on separate machine)
Task building
blocks
Multi-robot tasks can be created on one machine and
executed on many
Copyright 2016 Energid
8. Actin Use Cases
Simulation for Design and Evaluation Control for Dynamic Environments
Copyright 2016 Energid
9. It was customer driven:
• Many government customers began emphasizing DDS
• Single-robot deployments
• Increasing demand for “remote” capability
• Multi-robot deployments
• One robot controller machine per robot
• Communication between the controllers consists of:
• Commands, state synchronization, sensor feedback, hardware status
• Safety and mission critical systems
Learned first hand that developing and maintaining our own
communications middleware was going to be cost prohibitive.
Why did Energid adopt DDS?
Copyright 2016 Energid
10. • There is a trend towards higher-level frameworks
• Joint-level control to end-effector control to path planning
• Traditional socket IPC to DDS
• Message contents and delivery are independent
• Powerful Quality-Of-Service (QOS) options
• Multiple communication channels (unicast, multicast, shared memory)
• Message is the “what”
• QOS determines “if”, “when”, “where”, and “how”
• Redundancy and fail safety
• Allow redundant processes running in parallel
• Respond to critical system events (liveliness, latency, etc)
• Simplify complex communication problems (Security)
• Reduce development time
Why use DDS for robotics?
Copyright 2016 Energid
11. Actin DDS Capabilities
• Common Architecture
• Distributed Robot Control Architecture
• Hierarchical Robot Control Architecture
Copyright 2016 Energid
12. Actin DDS Plugin Architecture
• Actin’s Plugin Architecture
• Mechanism to add simulation capabilities at runtime
• Custom DDS plugins can convert local robotic control
into distributed robotic control
• DDS Common Plugin
• Shares DDS entities with custom DDS plugins
• Domain participant factory
• Domain(s)
• Participant
• Type registration
• Topics
• Partition(s)
• Publisher
• Subscriber
ddsCommonPlugin
Custom DDS Plugin 1
Custom DDS Plugin N
.
.
.
Shared DDS Entities
Copyright 2016 Energid
13. Distributed Robotic Control Architecture
actinViewer (Control)
• ddsCommonPlugin
• ddsSimSynchronizationPlugin
• ddsSensorManagerPlugin
• ddsHardwareControlRequesterGUIPlugin
actinRT (Robot 1)
• ddsCommonPlugin
• ddsSimSynchronizationPlugin
• ddsSensorManagerPlugin
• ddsHardwareControlProviderPlugin
• hardwarePlugin
actinRT (Robot N)
• ddsCommonPlugin
• ddsSimSynchronizationPlugin
• ddsSensorManagerPlugin
• ddsHardwareControlProviderPlugin
• hardwarePlugin
command primitives (joint frames, end-effector pose, …)
robot states
pub
sub
pub
sub
pub
sub
sub sub
Copyright 2016 Energid
14. Hierarchical Robotic Control Architecture
actinViewer (Control)
• ddsCommonPlugin
• ddsTaskPlayerPlugin
• ddsDistributedTaskExecPlugin
• ddsSimSynchronizationPlugin
• ddsSensorManagerPlugin
• ddsHardwareControlRequesterGUIPlugin
actinRT (Robot 1)
• ddsCommonPlugin
• ddsTaskExecPlugin
• ddsSimSynchronizationPlugin
• ddsSensorManagerPlugin
• ddsHardwareControlProviderPlugin
• hardwarePlugin
actinRT (Robot N)
• ddsCommonPlugin
• ddsTaskExecPlugin
• ddsSimSynchronizationPlugin
• ddsSensorManagerPlugin
• ddsHardwareControlProviderPlugin
• hardwarePlugin
higher level
tasks
robot states
and task status
pub
pub
pub
sub sub
sub
subsub
Copyright 2016 Energid
15. Project Examples and Demos
• Robot Drilling Systems
• NASA Rover Proxy Simulation
• Universal Robots
Copyright 2016 Energid
16. Creating a fully autonomous robotic drilling platform
Uses Hierarchical Distributed Tasking
• High level tasking from a control machine
Publishes – task command
Subscribes – task status and robot state
• Robots run on separate machines
Publishes – task status and robot state
Subscribes – task command and robot state
Robotic Drilling Systems (RDS)
Copyright 2016 Energid
18. NASA Rover Proxy Simulation
Network
Scientists
Controllers
Physical Vehicle
Proxy
Virtual
Switch
CORBA
TCP/IP DLL
Direct Link
RTI DDS
Use simulation as a proxy for real hardware
Copyright 2016 Energid
19. Rover Proxy Simulation
Rover Tasking Software
Publish:
• Rover Commands
Subscribe:
• Lidar Scan Data
• Camera Data
• Two Hazard Cameras
• Pan Tilt Cam
• Depth camera
• Rover state
Actin Software
Publish:
• Lidar Scan Data
• Camera Data
• Two Hazard Cameras
• Pan Tilt Cam
• Depth camera
• Rover state
Subscribe:
• Rover Commands
Copyright 2016 Energid
20. Two robots and a motion capture system. Models a
collaborative human-robot work environment.
• UR10 machine
• Publish: UR3 command and UR10 state
• Subscribe: UR3 state
• UR3 machine
• Publish: UR3 state
• Subscribe: UR3 command and UR10 state
• Optitrack Motion capture machine
• Sends rigid body poses over UDP
Universal Robots Demo
Copyright 2016 Energid
21. Universal Robots Collision Avoidance Demo
Robots dynamically avoid collisions with themselves and the environment.
Communication of robot joint state and
status is time critical.
If one robot protective stops, then the others
must know and respond.
Copyright 2016 Energid
28. 200+ companies strong
Goal: build and prove a common
architecture that spans sensor to
cloud, interoperates between
vendors, and works across industries
29. The DDS Standard for the IIoT
• The Data Distribution Service (DDS)
is the Proven Data Connectivity
Standard for the IoT
• OMG: world’s largest systems
software standards org
– UML, DDS, Industrial Internet
Consortium
• DDS: open & cross-vendor
– Open Standard & Open Source
– 12+ implementations
Interoperability between source
written for different vendors
Interoperability between applications
running on different implementations
DDS-RTPS Protocol
Real-Time Publish-Subscribe
Distribution Fabric
DDS API
33. DDS Real-Time Quality of Service
• Highly tunable reliability
protocol
– Balancing throughput
and latency
– Across wide variety of interconnects
• Time aware
– Deadline notifications
– Nanoseconds timestamps
• Historic data for late joiners
• Control over subscribed data
– By time
– By content
39. Security Example
39
Data Item Authentication Access
Control
Integrity Non-
repudiation
Confidentiality
Device
diagnostic
data
X X
Remote
commands
X X X X
Patient Data X X X X
40. Limitations of Transport Layer Security
TCP/IP Capable Network
Native
DDS App
DDS Library
Native
DDS APP
DDS Library
Secure Transport Secure Transport
SSL, TLS or DTLS
Native
DDS APP
DDS Library
Secure Transport
• No multicast
• Poor latency/jitter
• Robust networks only
• Reliable delivery only
• Data and headers
always encrypted
• Gross level security
43. For More Information
• DDS and RTI: www.rti.com
• Building robotics and haptic systems with DDS:
www.rti.com/industries/robotics.html
• Get started with DDS for free:
www.rti.com/downloads
44. Audience Q & A
Doug Barker,
Senior Robotic Systems
Engineer,
Energid
Dr. Edwin de Jong,
RTI
45. Thanks for joining us
Event archive available at:
http://ecast.opensystemsmedia.com/
E-mail us at: jgilmore@opensystemsmedia.com