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
First-time users can follow this guide.
To be able to use FMS, you need to create a project. Everything in FMS (robots, maps, tasks, etc.) is organised in projects. To create a project, from the FMS application home click "Add Projects" or "Create" > "Project" from the top right.
Fill in the details then click "Submit". You then should see there's a new project on the list.
Enter the project and you should be directed to the new project's dashboard.
Now that we have a project, let's add a robot to the project. Inside the project, under the "Robots" tab, click "Create Robot".
Fill in the details, then click "Submit".
You will get a robot key. Copy and paste this robot key to your robot's plugin. Refer to this tutorial for a quick start with RNS plugin. Now you can close the dialog.
You will see the new robot appear on the list. When the robot is connected, the connection status should turn green.
Robots must operate within a map. For this, we need to add a map to FMS. There are several ways to add a map to FMS. We will discuss two methods: importing from file and creating a map with robot (mapping).
To import a map from file, go to "Library" tab and click "Import Map from File" on the top left.
Fill in the map information and upload the files. You need both the PGM and YAML files of the map (following the ROS mapping system). Then click "Submit".
You should now see the new map on the list.
To add a new map by mapping, go to the Dashboard tab and switch the mode to manual mapping.
To begin the mapping process, click "Manual" on the control panel.
Drive the robot with keyboard or joystick.
When you're done, click "Save".
A new map will then appear on the list in "Library".
Now we will use the map(s) that we just added into the dashboard so the robots can use it for navigation and localisation. For this, under the "Library" tab, click "Load Maps".
FMS allows multiple maps to be loaded at the same time (e.g. for multi-floor operations). Robots will be able to navigate between maps. To add a map to dashboard, click the little "+" button on the map card. Then click "Save".
If you go to the Dashboard, you should see that the maps are now visible.
Now that we have robots operating in a map, let's put the robot to work. We can send robots to do tasks. Let's create our first task.
Under the "Dashboard" tab, switch the mode to "Waypoint".
Add waypoints on the map by dragging across the map and clicking "Mark" where you want your waypoint to be, then click "Save". Name your waypoint.
To execute the task, click the tasks shortcut icon and choose your task.
Choose the agent to execute the task. You can also ask the FMS to automatically assign the task to any one robot. Then click "Run Now".
You shall now see that the assigned robot is executing the task.
Congratulations, you've executed your first task on FMS. Now let's see the other features that FMS has to offer.
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. In a project, map is stored in Library.
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.