Lab 1 will give you instructions to build, calibrate, and run your Duckiebot. At the end of this lab, you should be able to run ROS code on your robot using your class container.
Please read all instructions in the Duckiebot documentation carefully. Some items are optional and NOT required.
dts init_sd_card --hostname <duckiebot_name> --wifi duckietown:quackquack,<myhomenetwork>:<myhomepassword>
ping <duckiebot_name>.local
(if running this from a VM and it fails, try from your host system as well).
dts fleet discover
ssh <duckiebot_name>
If ssh doesn’t work, then you don’t have your ssh configured correctly. Refer to course slides to set it up properly.
$ dts start_gui_tools <duckiebot_name>
When that starts you will have a connection to the ROS instance on the Duckiebot and can use debug tools. Run:
$ rqt_graph
And you should see a graph of all nodes and topics. Save an image of this graph (as legible as you can get it) to turn it in.
$ dts devel build -H <duckiebot_name>.local
This step may take some time to run the first time as it is pulling images and code onto the robot. Be patient and ask on Slack if you need any help.
$ dts devel run -H <duckiebot_name>.local -s -M --cmd bash
The -H flag tells dts to run the container on another system, in this case, the Raspberry Pi on your robot. The -s flag syncs your code to the robot. We’ll cover this in more detail in Lab 2.
$ source /code/catkin_ws/devel/setup.bash
$ dt-launcher-build
$ roslaunch duckietown_demos lane_following.launch
Wait for the messages to stop (You should see health status change to “STARTED” at the end)
NOTE: you must post links to videos and/or pictures from items 2-4 on Slack in the #demonstrations channel to receive full credit! Do this as soon as you finish each step so we can catch problems early.