HIGH PERFORMANCE EDGE DATA PROCESSING SOFTWARE FOR ROBOTIC APPLICATIONS
Robotic edge autonomous systems is a fast growing market with as fast growing challenges:
Sophisticated applications,
Increasing demand in complexity:
Communications with other systems,
Heavy algorithms: AI, vision navigation, etc. Hardware has improved substantially:
- Better embedded computers
- Improved sensors (more and faster data)
https://klepsydra.com/demos-media/#earth-observation-throughput
3. Autonomous robotic
systems today
Robotic edge autonomous systems is a fast
growing market with as fast growing challenges:
• Increasing demand in complexity:
• Sophisticated applications,
• Communications with other systems,
• Heavy algorithms: AI, vision navigation, etc.
• Hardware has improved substantially:
• Better embedded computers
• Improved sensors (more and faster data)
4. Parallel data
processing
• The majority of embedded software problems are related to data processing.
•The financial sector has known this for a long time! This is where
Klepsydra come into place
5. High Frequency Trading
• Thousands of transactions per
second.
• Require access to real time
data.
• Delays in processing might
result in millions in loses.
Innovation
7. Use case: windmill inspections
Client Requirements
•Onboard capture, video-stream, process and
record high resolution images at 20 frames per
second(FPS).
•Fly as fast and close as possible to the blades of
the windmill and do it very robustly.
•Vision-based navigation.
Situation before Klepsydra
•Only low resolution images and low FPS.
•Error prone and slow and inaccurate navigation.
9. CAPTURE IMAGE
PROCESSING
FILTERING IMAGE
PROCESSING
(Slam, robotics)
LIVE
STREAM
IMAGE
COMPRESSION
(Low priority)
S
c
a
l
i
n
g
I
m
a
g
e
1 Camera,
3 real-time uses
• One big producer of data.
Usually large data (image,
point cloud, etc)
• Several independent
consumers.
• Each can have different
rates.
10. Percentage
0
20
40
60
80
Time
25 50 75 100
w/o klepsydra with klepsydra
Results
• 30% performance
increase
• 75% standard
deviation reduction
• 25% increase memory
consumption
CAMERA APP CPU
Megabits
1400
1600
1800
2000
2200
Time
25 50 75 100 125
w/o klepsydra with klepsydra
MEMORY USAGE
11. Use case: the solution
With Klepsydra:
High resolution camera
Without Klepsydra:
Low resolution camera
High CPU Consumption
Low CPU Consumption
13. Advanced Navigation
+
=
• Fly really close to the blade (3-5 meters) and
• Fast (3-4 m/s)
• navigation software needs to process approx
2,000 sensor data events per second and
• Simultaneously perform a heavy
computational navigation algorithm.
• “Micro-service” architecture
• Test Driven development
14. Client
Benefits
Now Alerion offers the most advanced
autonomous drones for windmill inspections.
They produce the highest resolution images
and closest captured in the market.
This extremely complex application was
much easier with Klepsydra solutions.
They are now the official inspection provider for
Siemens-Gamesa. The second biggest windmill
manufacturer in the world with 15,000+
turbines.
16. The Robot
Operating System
• Benchmarking for ROS and
ROS with Klepsydra
• Test for high rate sensor
data as per expected in the
vision based navigation.
• ROS is an asynchronous
middleware.
17. Parallel data
processing solutions
Middleware
Single Thread Spin
Application
Middleware
Multi Thread Spin
Application +
concurrency contention
Middleware
Multi Thread Spin
Application
Klepsydra
Single Thread Solution Multi Thread Solution
Klepsydra Solution
18. Benchmarking
SENSOR FUSION BENCHMARKING APPLICATION
Server Application
Producer 2
Producer 8
Client Application
Consumer 2
Consumer 8
Producer 1 Consumer 1
Benchmarking
application:
• Parameterisation for
number or
concurrent producers,
concurrent
consumers and rates.
• Similar
benchmarking for
CAN-bus available
20. Memory
Usage
(Mb)
15
17
19
21
23
25
Publication Rate (Hz)
700 1.275 1.850 2.425 3.000
Single Thread Multi THread Klepsydra
• Klepsydra’s memory
consumption is
constant
independently of
data rate.
• Pure ROS
multithread requires
more memory.
RAM Consumption
Comparison
21. Subscription
Time
(ms)
0
0,06
0,12
0,18
0,24
0,3
Publication Rate (Hz)
750 1.200 1.650 2.100 2.550 3.000
Single Thread Multi THread Klepsydra
Processing Time
Comparison
• 30-50 times reduce
processing time with
respect to multi-
thread version
• Similar to single-
processing version.
• Variability of runs in
ROS MT is large. With
Klepsydra is constant.
22. Process
CPU
(%)
6
11,8
17,6
23,4
29,2
35
Publication Rate (Hz)
750 1.200 1.650 2.100 2.550 3.000
Single Thread Multi THread Klepsydra
CPU Usage Comparison
• CPU consumption
with Klepsydra is
larger.
• Makes sense as
Klepsydra process
more events.
• Better use of
resources.
• Can be reduced by
simple filtering
23. •Negligible latency
•‘Absorbs’ parallel
processing complexity
and therefore, makes
software development
much easier
•Predictable, faster and
reliable behaviour
•No data losses!!!
Embedded
Application
EVENT
LOOP
Event Loop
Analysis
24. Conclusion
Benefits of Klepsydra software for robotics:
• 40% increase in edge data processing = reduce Cloud dependency and
reduce hardware costs.
• 75% increase in reliability and predictability = less faulty software and
reduce development time.
• Sensor multiplexer = reduce the number of sensors in the robot
• Event loop = reduce software complexity and development time
• Klepsydra development tools = agile development, unit testing = 50%
reduce development time.
Increase economical benefit and chances of customer success!!
26. High frequency trading
applied to embedded systems
• Embedded software shares some
principles with trading systems.
• The transformation that occurred in
the
fi
nancial sector 20 years ago, is
starting in the embedded software
data processing sector.
• Klepsydra is a miniaturisation of
some of the main concepts used in
trading, adapted for embedded
systems.
27. Technical description
Development
Tools
Matlab
Integration
CORE
High performance module
Robotics /
Aerospace Add-ons
Image data
processing
Autopilots
Integration
Space Add-ons
Space comms
connectors
On-board
computer
optimisation
Real time
operating
Systems
Robotics
Framework
integration
Auto
Coding
• ‘Miniaturisation’ of High frequency
trading techniques.
• General purpose library for
embedded systems: Robotics,
Space, Aerospace, IoT and Self-
driving cars.
• Platform independent.
28. OpenMCT
Performance Monitoring
• Telemetry monitoring
tool developed by
NASA.
• Used in real missions.
• Web-based,
lightweight.
• Klepsydra uses for
performance
monitoring
29. Development tools
Klepsydra is platform independent, and is
compatible with:
• Any Linux, RTEMS and FreeRTOS
• X86 and ARM
• Plugins for OpenCV, FFMPEG, DDS,
ZeroMQ, ROS, CAN-bus and MATLAB
Tight integration with ROS including:
• Very friendly API. All is needed, is to add
two lines of code.
• Code generation tools for Test-driven-
development and development outside
ROS (= agile and faster development)
ROS Integration Compatibility
31. Team
•Dr. Pablo Ghiglino. Founder, CTO and principal developer.
•Isabel del Castillo. Admin management
•Mandar Harshe. Senior C++ developer.
•Franco Bugnano. Part-time software developer (space)
•Hervé Flutto. Business development Europe.
•Dr. Francisco Sanchez. Part-time C++ developer (core and
aerospace)
•Javier Aldazabal. Part-time C++ developer (aerospace)
32. Semi-finalist in the ESA
Space Masters,
Luxembourg 2017
Finalist in the Digital Energy
Forum, Munich. 2017
Finalist in the BSH
Venture Forum,
Munich 2017
Selected by ESA to be
one of the top space
startups to present at
IAC 2018.
Awards
Finalist in the NASA iTech
Colorado Spring 2019
34. Next Steps
• Trial of Klepsydra for robotics available.
• ROS, OpenCV, etc. integration minimal
• CAN-bus and MATLAB as beta testing
• Collaboration opportunities with ABB?