Getting Started
In order to start integrating your robot into FMS, you'll need to create a Robot Plugin which acts as the communication bridge between your robot and FMS.
It's also important to note that FMS is designed to be software agnostic, meaning that our system and APIs are not tied to a specific robot system. In general, most robot systems should be compatible with our APIs.
A robot plugin can run as a standalone program or it can run alongside as a process in your robot system. As long as it is able to send and receive data from or to the FMS, then it can be classified as a robot plugin.
FMS has built-in support for Seirios RNS, you don't to create an additional robot plugin if you're already using it.
You can check this article on how to enable the FMS Mode from Seirios RNS.
Generally, you will need to do these three steps to create a functional robot plugin:
Decide which capabilities you want to integrate from your robot to FMS
FMS is packed with many features and you might find that you don't need all the available features. You can specifically pick features that you want your robot to be able to perform from the perspective of FMS. This concept is called Capabilities and it can help you save time when you are creating your robot plugin.
For example, if your robot is able to perform navigation task by sending a Goal Point but it is not able to Teleoperate manually. You can specify that when you're initializing your plugin and those capabilities will be reflected later in the FMS UI. In this case, the teleoperation joystick will not be shown for the respective robot.
You can read more about Capabilities here.
Integrate your robot with the FMS Robot API
You can integrate your robot with FMS in two ways:
(a) Use the FMS Robot SDK, currently only supported in Python and soon Node.js.
(b) Manually integrate to the FMS Robot API by interacting with our HTTP and MQTT APIs.
You can read more about the integration process with FMS Robot API here.
Deploy and run your robot plugin
After you've finished writing your robot plugin, then you can run it either as a binary or as a docker container. As mentioned in the beginning of the article, there are no specific approach on how to deploy the robot plugin.
For best practices on the deployment, you can check the article here.
Last updated