Skip to main content

ROS: Deploy a TurtleBot Simulator

This tutorial walks you through setting up a new project based on a TurtleBot template project and then making some of your own modifications.

The first step is to go to your Account home page by clicking on the link on the top navigation bar.

Click on the 'New Project' link.

Choose the 'Pre-configured Template' option.

Choose the 'ROS TurtleBot Template' and click 'Create Project'.

Your new project is now in the list (default name was Rocos ROS TurtleBot example project) - go ahead and click on it, then click on 'Robots' in the left navigation.

You should now see a new 'TurtleBot 1' robot being deployed.

Clicking on the 'TurtleBot' 1 will show you a screen with the following tabs:

  • Dashboard: This lights up live and historic data from the robot. See Dashboards for how to configure data widgets.
  • Details: Information about the robot. For the Virtual TurtleBot robot it provides a public IP address and port that you can connect to for testing. This IP is provided for virtual robots only for testing purposes.
  • Commands: Here you can design and manage commands that can be sent to the robot. For example you might create a command called 'drive' that can move your robot by sending a twist message to the cmd_vel ROS topic. Commands can have parameters that are filled-in by the thing that calls them. For example, a drive command might have a parameter called forwardBack which is inserted in the x property of the linear payload of the twist message. Commands can be exposed as APIs for programmatic control of the robot, or they can be bound to user interface buttons to carry out control from an operation, or bound to external controllers such as an Xbox controller.
  • Buttons: These are buttons you create to execute commands from a Robot Automation operation. Buttons you create here are defined in the robot definition, so any robot with this definition applied will have these buttons available in an operation view. An example might be 'Drive Forward' which takes has a set 'forwardBack' parameter set (see 'Commands' above) and passes them to the specified command when pressed.
  • Storage Data Streams: This is an area where you can activate or deactivate stream definitions used to record background information from the TurtleBot. See Storage Streams for more information.
  • Live Data Viewer: This is a way to explore the data available on the the TurtleBot for binding widgets, configuring streams, or creating commands. See Streaming Telemetry Data for more information.

Streams Section

Click on the Storage Streams link in the left navigation. This shows you a list of Stream definitions for the project.

In order to record data from your robot and persist it in the cloud the first step is to setup a stream that can then be applied to any of your robots.

One is already setup in this template project called 'ROS TurtleBot'.

Click on the 'ROS TurtleBot' Stream to see a list of Telemetry that is captured in this definition.

The Data URIs /ros/turtle1/rosout and /ros/turtle1/pose have already been added as items of Telemetry.

Local Operations

Go to the Local Operations link in the left navigation to see the TurtleBot.