This document provides an overview of the RoboTICK mobile robot platform project. It introduces Marcin Bielak and provides a short introduction to the Robot Operating System (ROS). It then describes the RoboTICK platform, which is intended to be open source and open hardware for community integration, building, testing, and learning. Features proposed for the RoboTICK include fault tolerance solutions, always-on connectivity, digital twin integration, machine learning experiments, and consideration of IoT blockchain applications. The goal is to build the RoboTICK platform collaboratively.
2. Agenda
● About me
● Robot Operating System short introduction
○ ROS platform concepts
○ software and hardware components
○ ROS industrial
● RoboTICK platform
○ ideas, drafts & skeleton
○ share knowledge with people
■ Open Source and Open Hardware
○ building, testing & have fun ;-)
3. ● Software Engineer/DevOps at Allegro.pl
● Open Source contributor
○ https://github.com/bieli
○ https://github.com/allegro/akubra
● Hardware & Robots fun (AVR/Arduino, x86, ARM, ESP)
● Internet Of Things researcher
○ Internet Of Things Protocols Review
■ https://www.slideshare.net/bieli/internet-of-things-protocols-revi
ew-meetup-wireless-networks-pozna-21022018
○ Digital Twins - IoT for Industry 4.0
■ https://www.slideshare.net/bieli/digital-twins-iot-for-industry-40
-meetup-wireless-networks-poznan-12122018
● meetup organizer
○ Internet Of Things, Hardware & Robotics
Poznań
About me
5. ● ROS is an open-source, meta-operating
system for reliable/complex robots
● Software libraries and tools that
help you build robot applications
● Excellent supporting Linux OS for
x86/64 and ARM platforms (+ Mac OS X)
● Hybrid peer-to-peer network of
processes
● SDK for C++, Python and LISP lang.
● Graphical simulation tools for
virtual ROS robots with environments
● Reusable ROS components and plugins
Robot Operating System introduction
7. Why ROS resides in Linux … ?
● Linux is for people who want to know
why it works.
● Mac is for people who don’t want to
know why it works.
● DOS is for people who want to know
why it does not work.
● Windows is for people who don’t want
to know why it does not work.
https://www.slideshare.net/narrendar/ros-an-opensource-robotic-framework?next_slideshow=1
9. ROS Computation Graph Level 1/2
● Master | Luncher - coordinate
distributing system and names lookup
● Nodes - processes that perform
computation, devices, emulators
● Massages - data structures, Nodes
communicate with each other by
passing messages
● Topics - Messages are routed via a
transport system with publish /
subscribe semantics
10. ROS Computation Graph Level example
topic
node
Example of a ROS Computation Graph. An ellipse represents a node, and a rectangle represents a topic
12. ROS Computation Graph Level 2/2
● Services - Request / reply is done
via services, which are defined by a
pair of message structures
● Bags - format for saving and playing
back ROS message data. Complex robots
processes are recording and replaying
13. Robot Operating System tools
● rviz - graphical introspection
○ visualize sensor data - robot view
○ graphical representation of msgs.
○ typical msgs. visualization
plugins
● gazebo - visual simulator
○ visualize in synthetic environment
○ supporting 3D COLLADA models
(exported from Blender modeler)
○ dedicated XML for world luncher
○ experiments with 3D world objects
14. Robot Operating System tools
● rqt_graph - provides a GUI plugin for
visualizing the ROS computation
graph.
● rqt_plot - provides a GUI plugin
visualizing numeric values in a 2D
plot using different plotting
backends.
● ROS software browser - plugins and
additional toolsets index
● http://www.theconstructsim.com/ - web IDE
22. RoboTICK - for community integration
● Open Hardware
○ fun with electronics
○ learning new SBC, SoC &
architectures
○ practical experiments
● Open Source
○ developing your skills
○ sharing knowledge
○ contributing
● maybe welding, turning, etc ...
23. RoboTICK - fault tolerance solutions
● Save to fail - secure fail with fault
tolerance or failover
○ 2 + 1 computers on board
■ different software versions
■ we have a problems but not at
all computers ?! it’s OK !
■ typical in microservices world
■ redundant systems built-in
● min. 2 different redundant/switched
power sources for
○ SBCs, engines/servos, cameras, ...
https://pl.wikipedia.org/wiki/RAD750
24. Rover Compute Elements ( A + B )
In Curiosity’s case, there are two Rover
Compute Elements (RCEs), A and B. Curiosity
started with RCE A at launch, switched to B
for some of its journey to Mars, and has been
using A since just before its landing in August
2012. Curiosity has now switched back to RCE B,
in the hope that B’s flash memory isn’t
corrupted. We won’t know if the switch-over was
a success until NASA has carried out more
diagnostics, which will occur over the next few
days. Side-A still has damaged memory from
2013, but the computer won’t use those blocks.
https://www.extremetech.com/extreme/278160-nasa-switches-curiosity-rover-to-backup-computer-following-glitch
25. RoboTICK - always connected
● more connections on board
○ GSM/LTE (two different/independent
operators)
○ WiFi (for short range)
○ LoRaWAN (The Things Network)
○ NB-IoT (5G)
● transparent network switching
● IoT platforms (in the clouds)
○ real time monitoring (metrics)
○ remote controller station
○ data/paths reports/results sharing