Common Questions

Below, you'll find answers to some of the most commonly asked questions about using Freedom. If your question isn't covered, please contact us!

Accounts and payments


  • How does pricing work and what are your pricing plans?

Freedom offers a variety of plans to meet the needs of everyone from developers just getting started to companies managing fleets of thousands of robots.

Full descriptions of the features of our Standard, Plus, Professional, and Enterprise plans are available by navigating to MENU → TEAM SETTINGS and clicking CHANGE PLAN.

Billing is based on usage, with a monthly fee charged for each active device.

Install and uninstall

  • How do I install the Agent?

You can find our installation quickstart guide here. If you have any difficulties with the installation, please review our installation help guide.

  • How do I uninstall the Agent?

To uninstall and permanently remove the Agent, you should first stop and disable the system.d or init.d process called freedomrobotics, and then uninstall the freedomrobotics Python module as follows:

sudo service freedomrobotics stop
sudo service freedomrobotics disable
pip uninstall freedomrobotics

Error 403 when creating a device


This error means the user does not have the correct permission to create a device. You have "Operator" level permissions and you will need to be elevated to "USER" or "ADMINISTRATOR" or a user with those permissions should create the device.

Changing the permissions associated with an account


First, you will need to be an Admin to change the permissions on an account
To change your permissions you will need to go to MENU in the top right hand corner followed by TEAM SETTINGS. Once in team settings they will scroll down until they see a blue button labeled "USERS" clicking on that they will see a list of users where they can edit the role permissions.

The user in questions will need to log out and log back in for the new permissions to take effect.

**

Using ROS Services and Action Services with Freedom Robotics


  • I want to use a ROS Action Service with the Freedom agent

You can treat action services like regular ROS topics and publish on the .../goal topic.

If you need to monitor any feedback, you can put that as a key metric and watch that feedback topic from the monitoring dashboard.

You should also know, we guarantee the delivery of the ROS topic to ROS.

  • I want to use a ROS Service with the Freedom agent

We are working on a more seemless integration, but in the meantime please use the following workaround.

Download the code in this gist into a ROS package and run it for each service that you wish to control. It will subscribe to the given topic and service and relay messages according to an optional rule you can specify. Example usage:

<launch>
    <node name="topic_to_service"
          pkg="your_pkg" 
          type="relay_topic2service.py"
          args="/global_localization_topic std_msgs/Empty /global_localization std_srvs/Empty ''">
    </node>
    <node name="topic_to_service"
          pkg="your_pkg" 
          type="relay_topic2service.py"
          args="/my_topic /nav_msgs/OccupancyGrid /set_map nav_msgs/SetMap 'map: m.map'">
    </node>
</launch>

Exporting data via API


  • I want want to store data for longer than specified on my contract or just to have it on my own server

You can stream data out of the /data endpoint via the API. Just Stream it out of that endpoint each day (or at your desired frequency). See more about how to use the API here

Communication


-** What protocols do the agent and app use to communicate with the API?
#Both the agent and app communicate to the API via https.

-**Do you have a set of IP addresses of your servers?

While the domain for the API is fixed, the IP can change over time. The only case where the APP communicates directly with the agent is when piloting over WebRTC without using a turn server (if direct communication is possible).

-**What ports do you use with the agent ?

We use port 443 for HTTPS rest requests and tunneled SSH connections and port 5540 for WebRTC connections however you can switch the WebRTC to use any port you want.
Data not loading in Firefox


  • Being asked to disable ad-blocker but no external plug-ins enabled
    You will need to change the settings on your Firefox browser.

    1. Go to preferences in your browser menu in the top right corner.
    2. Select Privacy & Security on the left panel and scroll down until you see “History”.
    3. Make sure you have “Remember History” selected.
    4. Restart your browser and reload the page and you should see data uploading in your stream view now!

Accessing and interacting with your data in the cloud


-**How can I interact with my data in the cloud?

Once you have uploaded data from your robot to the cloud you can then use HTTP requests to GET, POST, PUT and DELETE your data. Additionally we support websockets in Beta.

Compatability


-** What kind of platforms can I install the agent on?

You can install the agent on any compute that is running Linux, Windows or MAC OS and is using an Intel based X86 or ARM based processor.

Bandwidth usage


-** Is there a way to tune how much data my robot is uploading?

Of course! Under SETTINGS -> BANDWIDTH you can select what data you want uploaded to the cloud and at what frequency. This allow you to tune you your robot to upload exactly the data you want.

PRO TIP: You can also modify the bandwidth via an API call to dynamically change the data you upload.

Install questions


-**Where do I run the installation curl command to install the Freedom agent?

If you are using ROS you need to install the agent wherever ROS master is running.

Android compatibility


-**Can my API integrate within the Android Application in Java to communicate information with the robot?

Yes! You can use "Retrofit" to access our REST API in Java and run it in Android to access our API.

SSH access


-**Is there a way to SSH directly into my robot using Freedom?

You can open a secure reverse SSH tunnel on any robot that has the Freedom Robotics micro-agent installed on it. You have to navigate to SETTINGS -> REMOTE SSH and then Click on the ENABLE REMOTE SSH button. You can then paste the command that appears into terminal to initiate the reverse SSH tunnel connection.

System measurement


-** Can I monitor system resources through Freedom? Things like CPU, GPU Bandwidth usage, disk space and memory?

Of course! Under the SYSTEM tab you can see things like CPU and GPU utilization. You can also see Disk space, memory, bandwidth and network data. You can even see CPU temperature.

Running local scripts


-**Can we push other software updates through the Freedom Platform (like update Ubutu)?

You can use our system's "local_script" feature to trigger on-device update scripts which run these updates and others.

User permission levels


-** What level of user permissions do you have?

We have four different level of user permissions. An Account Administratoor, User, Pilot and Spectator. An Account Administrator has full access to make any necessary changes inside an account. A User has limited ability to make changes inside an account. A pilot only has the ability to access and operator robots in your account. A spectator can only view information inside you account cannot make changes or operate robots.

Security


-**What security protocols does Freedom Robotics use?

Security is our top priority and we built our entire platform from the ground up with security in mind. We use best practices for AWS, run our system with a serverless architecture so we do not have servers which could be a weakness, use the same token/secret security as AWS and others, encrypt our data at rest and are continuously analyzing our implementation to ensure we maintain the highest security standards possible.

Resources


  • I've installed the Agent. What's next? Where can I find more information and tutorials to learn how to use Freedom?

Once you've installed the Agent, you're ready to begin exploring the features Freedom has to offer. Here are some good places to start:

  1. Observe: Monitoring: guide to uploading data, creating dashboards, and sharing replays
  2. Detect: Alerts and Integrations: guide to setting up triggers, alerts, and integrations
  3. Act: Teleop and Control: guide to remote command and control, including teleop, remote SSH, and running remote scripts
  4. REST API: reference for the Freedom REST API

Custom ROS topic visualizations


-**I have a custom ROS message, is it possible to have a visualization for my custom ROS message in the Data Stream?

We support visualizations for most standard message types in ROS. If you are not using ROS you can still format the message to be in the same format as a ROS message and your data will display with out visualizations. If you have a message type that is not supported, send it to us and we can help develop a custom visualization for you. We love adding to our ability to display data!

Getting data uploading


-**I have the agent installed and my robot is running but no data is uploading? The Data Stream page says, "CONNECTED, NOT ACTIVE".

Here are a few troubleshooting tips to ensure our agent is recognizing your data:

  1. Make sure ROS is running. If ROS is not running no topics will show up
  2. Ensure that the Freedom agent was installed in the same place that ROS Master is running. If not, then reinstall the agent in the same location that ROS Master is running
  3. Make sure you have the correct workspace selected. Go to SETTINGS -> ROS SHADOW and make sure the correct workspace name is typed into the WORKSPACE box
  4. Make sure the correct interface is selected. Go to SETTINGS -> DEVICE and under interface make sure you have the correct setting entered. ROS, ROS2, Python etc..

also make sure to check out: https://docs.freedomrobotics.ai/docs/install

High level behavior engines


  • Do you support high level behavior engines?

Yes! We support FlexBE which is a powerful and user-friendly high-level behavior engine which is similar to SMACH

Uploading ROSBAGs


  • Can I upload a rosbag to Freedom Robotics?

Yes, you can upload a rosbag to Freedom and then view all the data through our APP. Be aware that when you do this the data will be treated as if it is being live streamed so the data will appear in Freedom at the time it was uploaded vs. the time it was recorded in the ROSBAG.

Miscellaneous


  • Where can I find Freedom logs on the robot?

The logs are located at ~/.config/freedomrobotics/logs


  • Does rerunning the installation script pull down the latest version of the freedom agent?

Yes, anytime you run the install script it will automatically download the latest agent version.


  • Which versions of linux and ROS does Freedom support?

We support Ubuntu 14.04 - 20.04 and all versions of ROS, however, depending on the version, ROS does not support all versions of Ubuntu.


  • Can I use multiple LIDAR's and/or camera feeds in Pilot?

Freedom only accept input from one LIDAR and one camera feed, however, you can use multiple LIDAR or camera streams, you just need to combine them at the robot level before sending them to Freedom.


  • When uploading past data (ROS bags) to Freedom's API will the date be the date the data was uploaded or the original date?

They will show the date the data was uploaded. The original date will be lost.


  • What is the SSH time out? What port does Freedom use?

The timeout is 5 minutes. The port depends from which perspective, internally is 22 but externally is a random port generated by the ssh tunneling service, Ngrok.