Add a joint states stream

You can configure a joint states stream in the teleoperation view. In ROS 1, you can visualize joint states, planned paths, and perform motion control through the joint states module. In ROS 2, you can visualize joint states.


For more information on ingesting ROS 2 data in Formant, see Ingesting ROS2 Data with the Formant ROS2 Adapter.

This guide will teach you how to add a joint states stream to your teleoperation view.

Step 1: Navigate to device teleoperation settings

  1. In Formant, in the upper-left corner, open the menu and click Settings.
  2. Click Devices, and then click on the device you want to configure.
  3. Click on the Teleoperation tab to open the teleoperation configuration page.

Step 2: Add a joint states observation stream


Formant supports the sensor_msgs/JointState ROS data type.

  1. In the teleoperation configuration page, scroll down to Joint States and click the plus (+) icon.
  2. Click Add ROS Topic.
  3. Enter the ROS topic to which contains the joint state data you want to stream.
  4. Click Done. If you want to configure motion control via the joint states stream, proceed to Step 3. If you are only interested in observing joint states, proceed to Step 4.


Follow this section if you're using ROS 2 data.

  1. In the teleoperation configuration page, scroll down to Joint States and click the plus (+) icon.
  2. Click Add from API.
  3. Enter the name of the joint states stream in your ROS 2 configuration.
  4. Click Done, and then proceed to Step 4.

Step 3 (ROS 1 only, optional): Configure joint control

In this section, we'll connect our joint states streams to additional topics to send pose data from Formant to your device.

  1. Click the joint states stream you just created in Step 2. This will open the configuration window.
  2. Configure your joint states stream for control as follows:
Topic name - e.g. /planned/jointsIf you are using a library which publishes planned joint state data, you can subscribe to that topic here.
Topic name - e.g. /planning/poseIf configured, when you click and drag a pose on your joint states diagram, Formant will send the new pose to this topic.
Link name - e.g. link_6Enter the name of the link in your robot URDF which represents the end effector.
Topic name - e.g. /plan/validSubscribe to the topic which reports if your robot can successfully achieve a requested pose.
Frame id - e.g. base_linkProvide the world reference frame.
Topic name - e.g. link_1Provide the base frame which connects the robot to the ground.
  1. Click Done, and then Save to confirm your teleoperation settings.

Step 4: Add the joint states stream to your teleoperation view

Now that we have a joint states stream configured, we'll add it to our teleoperation view.

  1. Scroll to the top of the teleoperation settings page.
  2. In either the Primary View or Sidebar View, click the dropdown and select the joint states stream you just configured.
  3. Click Save to confirm your teleoperation settings.

Step 5: Verify your work in teleoperation mode

  1. In your device view, in the upper-right corner, click the three dots >> Teleop, or enter Shift + T.
  2. Verify that you're able to see your joint states stream:
joint states stream in teleop mode


If you notice an issue with this page or need help, please reach out to us! Use the 'Did this page help you?' buttons below, or get in contact with our Customer Success team via the Intercom messenger in the bottom-right corner of this page, or at [email protected].