build details

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

Demo Saviors

Modified 2018-06-24 by Andrea Censi

This is the description of the saviors obstacle avoidance demo.

Duckiebot in configuration DB17-wjd.

Camera calibration completed.

Wheel calibration completed.

Joystick demo) successfully launched.

Video of expected results

Modified 2018-06-22 by Andrea Censi


As it can be inferred from the video, the duckiebot should stop if an obstacle (duckie or cone) is placed in front of the Duckiebot.

Duckietown setup notes

Modified 2018-06-22 by Andrea Censi

Duckietown built to specifications. No special requirements like april-tags, traffic lights or similar needed.

To demonstrate functionality, place obstacles (duckies S/M/L or cones) on driving lane. Best performance is achieved when obstacles are placed on the straights, not immediately after a curve.

Duckiebot setup notes

Modified 2018-06-22 by Andrea Censi

Currently the bot has to be on the devel-saviors-23feb branch on git. Furthermore the additional package sk-image has to be installed:

duckiebot $ sudo apt-get install python-skimage

Pre-flight checklist

Modified 2018-06-22 by Andrea Censi

Check: Joystick is turned on

Check: Sufficient battery charge on duckiebot

Demo instructions

Modified 2018-06-22 by Andrea Censi

Step by step instructions to run demo:

Step 1: On the duckiebot, navigate to DUCKIETOWN_ROOT and run

duckiebot $ source

duckiebot $ catkin_make -C catkin_ws/

duckiebot $ make demo-lane-following

Wait for a couple of seconds until everything has been properly launched.

Step 2: In a second terminal on the duckiebot, run:

duckiebot $ roslaunch obst_avoid obst_avoid_lane_follow_light.launch veh:=robot_name

This launches the obstacle avoidance node, wait again until it’s properly started up.

Step 3: Press the X button on the joystick to generate an anti-instagram transformation.

Within about the next 10 seconds in the terminal of Step2 this YELLOW message should appear:

!!!!!!!!!!!!!!!!!!!!TRAFO WAS COMPUTED SO WE ARE READY TO GO!!!!!!!!!!!!

Step 4: To (optionally) visualise output of the nodes run the following commands on your notebook:

laptop $ source robot_name

laptop $ roslaunch obst_avoid obst_avoid_visual.launch veh:=robot_name

laptop $ rviz

Topics of interest are:

/robot_name/obst_detect_visual/visualize_obstacles (Markers which show obstacles, visualize via rviz!),

/robot_name/obst_detect_visual/image/compressed (Image with obstacle detection overlay, visualize via rqt!),

/robot_name/obst_detect_visual/bb_linelist (bounding box of obstacle detection, visualize via rqt),

/robot_name/duckiebot_visualizer/segment_list_markers (line segments).

Step 5: To drive press R1 to start lane following. Duckiebot stops if obstacle detected and in reach of the duckiebot. Removal of the obstacle should lead to continuation of lane following.


Modified 2018-06-22 by Andrea Censi

P: Objects aren’t properly detected, random stops on track.

S: Make sure that anti instagram was run properly. Repeat Step 3 if needed.

P: Duckiebot crashes obstacles.

S: Might be due to processes not running fast enough. Check if CPU load is too high, reduce if needed.

Further Reading

Modified 2018-06-24 by Andrea Censi

More information and details about our software packages can be found in our README on Github or in our Final Report.

Because of mathjax bug

No questions found. You can ask a question on the website.