build details

Show: section status errors & todos local changes recent changes last change in-page changes feedback controls

Camera Calibration Verification Test

Modified 2019-09-27 by Aleksandar Petrov

This document provides instructions for testing the camera calibration.

A duckiebot version DB-18.

USB drive.

Camera calibration verification hardware.

A validation of the current camera calibration.

Pre-flight checklist

Modified 2019-04-05 by gibernas

Check: the USB plugged in

Check: the duckiebot has sufficient battery

Check: you have camera calibration verification hardware ready

Abbreviations

Modified 2019-04-05 by gibernas

DOCKER_CONTAINER = duckietown/rpi-duckiebot-base:suitability-suite-v1

SOFTWARE_ROOT = /home/software

PACKAGE_ROOT = /catkin_ws/src/05_teleop/calibration

Demo instructions

Modified 2019-04-28 by tanij

Step 1: SSH into your duckiebot and create the directory for logging.

duckiebot $ sudo mkdir /data/logs

Step 2: Then mount your USB

duckiebot $ sudo mount -t vfat /dev/sda1 /data/logs -o umask=000

Step 3: Now we will run the docker container on our duckiebot that contains the test script. Open a new terminal on your computer. Make sure that DOCKER_HOST variable is set by checking

laptop $ echo $DOCKER_HOST

if the output is empty then DOCKER_HOST is not set. You can set it with

laptop $ export DOCKER_HOST=ROBOT_NAME.local

Now, we will run the docker container. Be sure to replace the DOCKER_CONTAINER with the name provided under Abbreviations section.

laptop $ docker -H HOST_NAME.local run -it --net host --privileged -v /data/logs:/logs -v /data:/data --memory="800m" --memory-swap="2.8g" --name suitability-suite DOCKER_CONTAINER /bin/bash

Depending on you network speed it might take some time until the duckiebot downloads the container.

Step 4: Now Place your duckiebot inside the camera calibration hardware.

If you just executed Step 3, a shell inside the container should be already open.

Having the experimental setup ready, we can start testing, enter into the running camera-test container if your are not already in, and launch the test interface.

laptop $ export DOCKER_HOST=ROBOT_NAME.local

laptop $ docker exec -it suitability-suite /bin/bash

And then launch the camera calibration.

duckiebot-container $ roslaunch calibration camera_calibration_test.launch veh:=HOST_NAME output_dir:=/logs

Note that, if output_dir is not specified the program attempts to save the results to user´s home folder. This will fail it you don’t have enough space in your device.

With data-acquisition interface you can specify

  • the type of the experiment you would like to conduct by choosing amongst the presented options,

  • whether to save the collected experiment data by replying to the question after the experiment has been completed,

  • whether to do another experiment.

The results of the experiment can be found under /logs folder in a zipped form. To download the results ![ZIPPED_RESULT_NAME] to your local computer first move the zipped folder to your /data folder,

duckiebot-container $ mv /logs/ZIPPED_RESULT_NAME /data/

Now you can download the file by heading to HOST_NAME:8082 in your browser and then clicking on ZIPPED_RESULT_NAME.

Troubleshooting

Modified 2019-04-05 by gibernas

No log have been recorded.

Make sure you mounted USB drive. Please note that you have to should first mount it correctly before you can start data collection.

Logs are created but they are empty.

This might be because the Raspberry-Pi did not have enough time to save the data. Please increase wait_start_rosbag and wait_write_rosbag inside this script.

While shutting-down program complains,ROSException: publish() to a closed topic.

This is a known problem and it does not interfere with the healthy operation of the program. It is in the to-do list to have a graceful execution termination. Feel free to contribute with a pull request if you resolve this issue.