Welcome to Seirios FMS!
In this section you will learn:
The general concepts and working of FMS
How to connect your first robot to FMS
On the top right of your dashboard, click Create > Robot
Fill in the details of your robot, then click Submit
After clicking the Submit button, you will get a robot token
In this documentation, we are using the RNS plugin. However, you can choose to use any plugin you like. The steps would be similar.
Copy the robot token (if you couldn’t remember the token, go to My Robots then click on the robot)
Open a terminal on your robot’s machine and run the following command (replace <robot token> with your token):
Check the robot’s detail page. It now should appear that the robot is connected.
Now that you have a robot connected to FMS, it’s time to create a project in which the robot will operate.
On the top right of your dashboard, click Create > Project
Set project owner to “self”
Specify project name and description, then click Submit
Now we need to add our robot to the new project.
Go to robot management of the new project
Go to My Projects
Click on the project
Go to Robot Management page
Click on Assign Robot
Select your new robot and click Submit
Now you should see that the robot is included in the project
Now that you have a robot online and connected to a project, you can start doing fun things with your robots on FMS.
In this page we will define the concepts used in FMS and how the objects in FMS are organised.
FMS objects are organized in projects. A project can be thought of as a workspace in which users can operate and control multiple robots. It can contain multiple connected maps and multiple robots with various types. In practice, a project can cover a whole building, for example a whole warehouse with multiple floors and/or rooms.
A project is owned by a single user or an organisation. However, multiple users can be a member of the same project. A project is in many ways analogous to a repository in Git-based VCS platform such as Github or Gitlab, while the FMS can be analogised as "the Github".
A project contains all the things necessary to operate robots in an environment and it is independent from any other project. The following are entities under a project:
Robots
Maps
Tasks
This organisation means that the three objects above are unique to a project and they only exist within the scope of a project.
A user who is a member of a project can control and operate robots in the project. A robot is owned by a project and it cannot exist in more than one projects simultaneously.
A user can do the following actions on a robot:
Teleoperate
Create map
Localise
Send a command (task, cancel, pause, resume)
Modify its parameters
A robot has a few properties. Three important properties of a robot are Robot Type, Plugin Type, and Robot Token.
A robot connected to FMS has a robot type. A user can create a robot type within a project and categorise robots into a type to differentiate robots with different functions or characteristics.
When the robot connects to FMS, FMS automatically detects the plugin type. This plugin type is used to determine certain payloads and messages which will be relevant if a user wants to use special tasks such as custom tasks and aux tasks.
Robot token is used as the identifier of a robot. This token is unique for every robot and is generated when the user creates a new robot.
Map represents the physical environment in which the robots operate. Other objects such as robots and (most) tasks are located somewhere on a map.
A user can do the following actions on a map:
Import a map
Create a map with a robot
Edit a map (add zones, navigation graph)
Connect two maps
A task is an action that can be done by a robot. In general, a task involves a robot to navigate to a certain point on a map. Similar to RNS, there are two basic tasks in FMS: waypoint and trail. There are also custom task and auxiliary task in FMS, though these concepts are slightly different than those of RNS.