(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

Training an ISM

Description: This tutorial explains how a ISM can be trained using the trainer which is based on heuristics

Tutorial Level: BEGINNER

Next Tutorial: How to use the recognizer


  1. Setup
  2. Tutorial


You need a recorded scene stored in a sqlite-database for this tutorial; see [[asr_ism/tutorial_recorder|recorder tutorial] on how to create one.


At first set the configuration parameters of this application correctly, this should at least be the path to the sqlite-database which contains your recorded scene. You can set this value in the sqlitedb.yaml file which can be found in the param directory of the asr_ism-package. Other than the combinatorial-trainer this one does not write the result to a seperate output file but always adds the ISM-information to the provided database.

If you want, you can adjust further parameters in the trainer.launch file which can be found in the launch directory of asr_ism. Usually the provided default parameters are sufficient but you might want to change them based on your scenario (e.g. you want a star topology instead of a tree topology by setting useClustering to false or you want to provide manually created object relations by adjusting useUserDefCluster and clusterListFile).

Once you set all your parameters start the trainer by calling:

roslaunch asr_ism trainer.launch

Wait until the program is finished (when the console output does not change anymore) and then terminate the program with ctrl-c. Now you can use the sqlite-database which now contains the model information for further steps (e.g. a scene recognition).

Example output:


Wiki: asr_ism/tutorial_trainer (last edited 2019-11-02 18:02:30 by TobiasAllgeyer)