MOV.AI Flow™, The IDE that introduces visualization and structure to ROS.
An IDE that introduces visualization and structure to ROS. You can develop faster, understand ROS projects in an instant, and debug easily.
MOV.AI Flow™ brings many features to your ROS project development
Web-based Visual ROS Editor | Built-in visual State machine and node orchestration |
Callback Editor | Visual Debugging |
Configuration Editor | Out-of-the-box Integration with the ROS Ecosystem |
Please follow our installation procedure in the documentation.
You can find an overview of icons and CLI for launching the installed software. Follow our readme page for a detailed explanation.
MOV.AI Flow™ Can run between two modes at a given time. The host mode and the isolated mode. Please find the details of both in our documentation website.
Installing the Flow package will provide a few application shortcuts in the programming section:
- MOV.AI Flow™: launches the needed services and then open a browser connected to the flow
- MOV.AI Flow™ RViz: launches rviz connected to the flow
- MOV.AI Flow™ Simulator: launches Ignition simulator connected to the flow
Installing the MOV.AI Flow™ package will provide a few command line tools to control the cluster of containers running the flow:
movai-flow-launch
: launch this script to launch the needed services and then open a browser connected to the flowmovai-flow-stop
: stop all flow servicesmovai-flow-rviz
: launch rviz connected to the flowmovai-flow-simulator
: launch Ignition simulator connected to the flow
MOV.AI Flow™ initiates a set of docker containers orchestrated using docker-compose, namely:
- backend: Web service application
- backend source code: Source code for backend application.
- frontend source code: Source code for our frontend application.
- spawner: Flow orchestrator container of ROS and MOV.AI nodes.
- flow initiator: Source code for our flow initiator.
- movai ce demos: Source code for the demos.
- movai ign sim packages: Source code for simulator driver package.
- movai ports and messages: Metadata list of supports protocols and messages.
- redis-master: Master DB of the cluster.
- redis-local: Local DB of the cluster.
- simulator: Ignition Fortress container with graphical capabilities enabled.
- movai-ign-plugin-world-launcher: GUI Plugin to select and launch the worlds.
- ros-master: ROS core service.
- ros-tools: RVIZ container with graphical capabilities enabled
- haproxy: Web proxy.
Some directories in the containers are mounted, which means that their contents are synchronized between your computer (host) and the container.
Run
docker images
to check all downloaded images into your disk. Rundocker container ls
to check current running containers
After starting MOV.AI Flow™, you can interact with it via a browser using the web interface
Once the services have started up, you can log in to the web interface and try to run some tasks.
The webserver is available at: http://localhost:8080. The default account has both the username and the password: movai
.
To get access to rostopic
and rosbag
commands, or to install/build more ros-packages, access the spawner container terminal by typing: docker exec -it spawner-robot1 bash
omen:~ $ docker exec -ti spawner-robot1 bash
./--/-` -/--/.
:--//:.-` `-.://:./ .-:::::::-- .:- .:- `:-
:`/-.`//:` `://`.-/.: `//-```````-//` ./:. .:-.:/. `-.
:./- -:/.:. .:`//- -/.: `//` `//` `:/-` `:/-` -/:` -//
:.:- `-:------:-` -/./ `//. .//` .::../:. `:/- -//
::.. `-:///-` ..:: .:/:::::::/:- `-//- .:- ./:`-//
`` `` ` ``````` `` ` ` ``
Copyright 2021 MOV.AI
Licensed under the Mov.AI License version 1.0;
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.mov.ai/flow-license/
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Welcome! Have fun!
movai@8245cb518b06:~/app$
Follow our documentation to get detailed information on getting familiar with the platform and how to setup your flows.
Clone the repository or download the sources and follow the following instructions.
git clone
Before starting MOV.AI Flow™ for the first time, You need to prepare your environment, i.e. create the necessary files, directories and initialize the database.
To do it, edit .env file and customize variables values:
gedit .env
Values present in the environment at runtime always override those defined inside the .env file. Similarly, values passed via command-line arguments take precedence as well.
To use the scripts that are available in the scripts/
directory we should first set the APP_PATH environment variable
First cd
in to your cloned repository
Now you can start core services, by cd
ing into the folder where docker-compose.yml
is:
docker-compose up -d
The recommeded setup is to have an NVidia GPU, but still an integrated Intel GPU can also work with lower performance
xhost +local:docker
docker-compose -f docker-compose-nvidia.yml up ros-tools
xhost +local:docker
docker-compose -f docker-compose.yml up ros-tools
First of all be aware that the Simulator is based on the containerized Ignition Fortress application.
The recommeded setup is to have an NVidia GPU, but still an integrated Intel GPU can also work with lower performance
After starting MOV.AI Flow™, you can launch Ignition Fortress :
xhost +local:docker
docker-compose -f docker-compose-nvidia.yml up simulator
xhost +local:docker
docker-compose -f docker-compose.yml up simulator
The docker-compose we prepare is a “Quick-start” one. It is not intended to be used in production and it has a number of caveats - one of them being that the best way to recover from any problem is to clean it up and restart from the scratch.
The best way to do it is to:
-
Run
docker-compose down --volumes --remove-orphans
command in the directory you downloaded thedocker-compose.yml
file -
remove the whole directory where you downloaded the docker-compose.yaml file
rm -rf '<DIRECTORY>'
-
re-download the docker-compose.yml file
-
re-start following the instructions from the very beginning in this guide
To stop and delete containers, delete volumes with database data and downloaded images, run:
docker-compose down --volumes --rmi all
A python package build to facilitate development when using MOV.AI. The tool can be used to, but not limited to, expose the ros topics to the host as well as export/import MOV.AI metadata. Please follow this link for more detailed documentation.