|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.|
How to use the recorderDescription: Tutorial for recording a scene with the recorder and creating the database for the trainer
Tutorial Level: BEGINNER
Next Tutorial: Training an ISM and Training an ISM using the Combinatorial-Trainer
1. Make sure you have objects as input, e.g.: start a object detector (asr_descriptor_surface_based_recognition etc.) and publish the objects on the topic you have chose at the "objectTopic" parameter at capturing.yaml
2. Check if you have set the parameters right or use the default parameters.
3. Adapt the "dbfilename" parameter in sqlitedb.yaml. Choose a datapath where you want save the recorded data and set a databasename (don't forget the file extension). For example /home/.../documents/database/test.sqlite If there isn't anything specified the results are going to be in /tmp/record.sqlite
4. Set up your scene. Place the objects you want to record at their provided places.
1. Start the recorder:
roslaunch asr_ism recorder.launch
2. Localize your robot in the room. (e.g. using amcl)
3. Place your robot in front of your first objects so the objects are recognized.
(3.1 Press "s" to show which objects are recognized.)
4. Press "a" in the recorder console. This added all recognized object to the scene. And press "s" to check if all objects are marked.
Only marked objects will be recorded.
5. Move your robot around and places it in front of the missing (not recognized) objects.
6. Press "a" again.
7. Repeat this until all objects of the scene are recognized and in the "marked" class in the recorder.
8. If you marked all object, place your robot at the first position.
9. Press "space" and move the recognized object slowly some centimeters around (don't rotate them).
Do this for about one minute for each recognized object. If you have moved all objects at this place press "space" again.
10. Repeat this for all objects at all positions where your robot was standing. Don't forget to deactivate the "Auto Processing" (start/end at press "space" while you move your robot).
11. If you moved all object you can press "CRTL+C" to stop the program, all data is saved automatically in the database.
There could be an error:
[Error] [...]: Lookup would require extropolation ...
This is caused because your PC is too slow, but this isn't a problem. You can ignore this error.