Clone Your Robot
This guide shows you how to migrate or clone your current robot images, database, and configurations of Seirios RNS to another robot.
You can migrate or close your current robot images, database, and configuration of Seirios RNS to another robot, depending on your needs.
Backing up the custom images (not the default ones) is the most important because in our cloud, we don't have any custom images of the clients, we only have the default images. Since custom images may be different for each client/robot.
Usually, the default images are named “registry.gitlab.com/<path>:<tag>”, but the custom images are usually named by adding some word behind the tag like “registry.gitlab.com/<path>:<tag>-<client>” or another name.
- 1.Check the name of your custom image on your docker-compose.yaml file,
image name on docker-compose.yaml file
or you can check on the
docker ps(if you are already running the container):
docker ps output on terminal
- 2.See the image using
docker image ls:docker image ls on terminal
- 3.Save the docker images to a tar archive file:
docker save seirios-ros-development > ~/catkin_ws/movel_ai/seirios-ros-development.tarChange the seirios-ros-development to your custom image name, and you can change the tar filename as well see if the new tar file is generated
ls -sh ~/catkin_ws/movel_ai/seirios-ros-development.tar
It’s also important to back up the default images as well because if it’s not, the new PC has to download the images (it took > 6 GB) and also needs a credential key from movel.ai, you can ask the credential key to [email protected].
Otherwise, if you want to backup the default images as well, you can also backup the images using the same steps above.
You probably want to copy all the logs, maps, and some tasks that are already saved on your robot to another robot. So you don't have to do mapping and creating the tasks again.
Please follow the instructions below to back up the database:
- 1.Go inside the seirios-mongo container, and copy the db to the folder you want to save it inside the container, by executing the following command:
docker exec -i seirios-mongo /usr/bin/mongodump --db=movelweb --out=/backup_db
- 2.Create a folder on the pc, this will be a location for the database file, by executing this command:
mkdir -p ~/catkin_ws/movel_ai/backup_db
- 3.Copy the folder inside the docker container to outside, by following this command:
docker cp <container_name>:/backup_db ~/catkin_ws/movel_ai/backup_db
Since we already copied the database and images to
~/catkin_ws/movel_aifolder, and the
docker-compose.yamland all the configuration files are already on
~/catkin_ws/movel_aias well. Then the next step is you can copy all the files and folders on
If you want to clone the seirios-RNS software with all the configs from one robot to another robot, please make sure those robot has the same configuration below:
- Camera ROS topics
- Dimension or Footprint of the robot
- LiDAR ROS topics
- Odometry ROS topics and frame id
- Transformation of the frame
~/catkin_ws/movel_aifolder from your old robot to the new robot, to restore the docker-compose.yaml and all the configurations.
Since we already copied the image as a tar archive file, you can load it into docker as a docker image file by executing this command:
docker load < ~/catkin_ws/movel_ai/seirios-ros-development.tar
Change the seirios-ros-development.tar to your docker image name.
Then check if all the images are loaded properly or not by executing the following command:
docker image ls.
First, make sure you run the seirios-mongo container on the docker.
To restore the database that you already saved before, you can execute the following command on the new PC:
docker exec -i seirios-mongo /usr/bin/mongorestore --db=movelweb ~/catkin_ws/movel_ai/backup_db.