Full-stack, Robust Robot Cloud Logging

UPDATE APRIL 2020: Added ROS 2 official support!

Today, I am really excited to announce cloud logging on the Freedom Platform for ROS 1, ROS 2, Python, Protobuf and other languages. This has come from a significant amount of work and is one of the key reasons I co-founded Freedom. When we started out and were focusing on building initial demonstration robots, it always took us longer than we thought it should, to debug what was wrong and pinpoint how it happened.

A full-stack replay of an autonomous vehicle in the Freedom Robotics platform.

Here is the official announcement I wrote on the Freedom Robotics blog. You can sign up for free to try it out.

Why is robotic logging a pain?

Robotic development is hard enough with the complexity of a combination of sensors, actuators, battery supplies. The issue that honestly takes move of the time in robotics is figuring out which of 100 inputs or steps in an algorithm went wrong. This isn't because it is actually very hard to identify the issue, but instead that it is exceedingly cumbersome to even record the data to show what the issue is.

Because most robots are either mobile, or at least in a different room, you can't just program on your laptop and see a stream of logs or watch for an exception. You have to remotely log in to the robot, then grep through one of tens of log files for ROS nodes, dmesg, lsusb, custom logging and also usually figure out which session or terminal the data is actually in.

I can't tell you how many times I have gone to debug something just to realize that I piped the output to /dev/null or closed my session and therefore lost the logs in the terminal.

Even when you have all the logs recorded in a CSV file, ROSBag or other format, you now have to figure out how to replay, grep and then visualize that data.

What Freedom's Cloud Logging brings

Freedom automatically introspects your ROS topics or lets you directly stream data in basically any parsable format to the cloud, where well-known data types are automatically visualized and any custom format for which you can set up visualizers, data export, alerts and other integrations.


The same visualization works for an autonomous vehicle, robotic arm or industrial conveyor system.

With this, you can easily install the agent, run your ROS or other robot and have a filtered version of every single sensor or other topics. If you want to analyze 20 days of runtime at 10hz, it is all in the cloud and ready to be efficiently streamed down to you, shown in the standard stream visualizers or have you access data over the API to set up custom integration.