build details

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

Assembly - Traffic Light DT18-TL

Modified 2021-10-30 by tanij

DT18-TL Traffic light components (can be sourced from the Duckietown project shop)

An appropriately configured SD-card.

Tools: wood glue or hot glue gun.

Traffic light in configuration DT18-TL.

Traffic lights can be used to coordinate traffic at three or four way intersections in Duckietown. Hardware wise, traffic lights are essentially “Duckiebots without wheels”, and a beautiful different chassis.

Reminder: for traffic lights to be recognized by Duckiebots, appropriate signage must be placed at intersections (traffic light traffic sign instead of stop sign).

This section describes the physical assembly and installation of traffic lights.


Modified 2021-10-30 by tanij

Traffic lights are composed of two supports connected by an overhanging tube. They are intended to be placed on the diagonal direction of an intersection. One of the supports is equipped with the computational stack and an overseeing camera.

Traffic lights can double-up as watchtowers when upgrading a Duckietown to Duckietown Autolab.

Assembly of the traffic light parts

Modified 2021-10-30 by tanij

This section shows how to assemble the components from the laser cut traffic light parts.

The small parts with the hole in the middle, i.e., the ones in the left of Figure 3.1, are not all equal. Some have a round hole, others a polygonal hole. Double check you are using the right ones in the process (compare with the pics).

All parts should be glued together as showed in the pictures for enhanced structural stability.

Tube holder with big ground plate

Modified 2021-10-30 by tanij

Tube holder with small ground plate

Modified 2021-10-30 by tanij

Traffic light LED housing

Modified 2021-10-30 by tanij

Ground module cover

Modified 2021-10-30 by tanij

Joint module

Modified 2021-10-30 by tanij

Components of the traffic light

Modified 2021-10-30 by tanij

Now that you have assembled the traffic light chassis, you are ready to add the electronics.

Parts of a traffic light needed to complete these instructions.

These components are needed for one traffic light:

  • Tube holder with big ground plate
  • Tube holder with small ground plate (Duckietown)
  • Cable with soldered LED strip
  • Joint module (2x)
  • Traffic light LED housing
  • Raspberry Pi base plate
  • Ground module cover (Duckietown)
  • Camera mount
  • Camera mount cover
  • Short tube
  • Medium tube (2x)
  • Long tube with hole at the side
  • Raspberry Pi
  • Raspberry Pi shield
  • M2.5x10 MF Nylon spacers (8x)
  • M2.5x8 Nylon screws (4x)
  • SD card with Duckietown software
  • USB cable
  • Ethernet cable

Additionally, the traffic light structure can host:

  • Traffic sign stands (4x)
  • Traffic sign stand supports (4x).

Assembling the Traffic Light

Modified 2021-10-30 by tanij

Put the LEDs into the housing

Modified 2021-10-30 by tanij

Bend the LED strip at an angle to reduce the chance that the exposed soldered wires short. The exposed part of the wires should not be in contact, especially when turning on the power.

the actual traffic light in your hands might vary slightly from the pictures above. In particular, the electrical cables could have different colors or be soldered in different positions. Take note of what each color cable is soldered to, as same will go go with same on the other end.

Bended LED strip cable
Cable with soldered LED strip LED housing

Carefully push the LEDs into the designated holes.

Fix the LEDs with some tape, don’t use glue.

Connect the tubes

Modified 2021-10-30 by tanij

Medium tubes and LED housing.

Stick the tubes into the sides of the LED housing and pull the cable through one side.

Add the joint modules on the side of the tube without the cable.

Mount the other joint module on the long tube, such that it aligns with the hole.

You can add additional tape under the joint modules to prevent them to slip down.

Fully assembled traffic light.

Pull the cable through longer tube and stick the tube into the joint module.

Put the tubes into the tube holders.

Connect the Raspberry Pi

Modified 2021-10-30 by tanij

Use the spacers and the screws to mount the Raspberry Pi on the Raspberry Pi ground plate as shown in Figure 3.51.

Plug the shield on top of the Raspberry Pi.
Insert the SD card.
Connect the LED cable to the shield.

Connect the Ethernet cable.
Connect the USB cable.

If done correctly the LEDs should be on.

Close the ground module with the case.

Add traffic sign stands

Modified 2021-10-30 by tanij

Fully assembled traffic light

Modified 2021-10-30 by tanij

Fully assembled traffic light.

Place the traffic light at an intersection such that the LEDs are exactly in the middle and are facing each incoming lane perpendicularly.

You can verify the position is correct by verifying that Duckiebots at the red stop lines can see only one light blinking, and no reflections of LEDs facing other directions.

You can finally use the provided double-sided tape pads to fix the traffic light to the tiles.

SD-card image Preparation

Modified 2021-10-30 by tanij

At hardware and software level, traffic lights are Duckiebots without wheels. In initializing the SD-card of your traffic light, follow the instructions here, with the extra step of using the option --type traffic_light. Also, WiFi configuration for traffic lights is by default not set. You can add it using the --wifi option as specified int the instructions.

An example flashing command for a wifi connected traffic light can be:

laptop $ dts init_sd_card --hostname watchtowerXX --country COUNTRY --type traffic_light --configuration TL19 --wifi duckietown:quackquack
  • For Autolab users: since traffic lights are coupled to watchtowers, please use the watchtower setup: hostname : watchtowerXX

  • However, if you just want to use it as a traffic light, use the trafficlight setup: hostname : trafficlightXX

  • The default username and password are all the same:

    Username: duckie Password: quackquack

For autolab users, do not change the username and password.

Launch Traffic Lights

Modified 2021-10-30 by tanij

By choosing the robot_type to be traffic_light, the blinking behaviour should happen as soon as you boot your device.

If you need to manually restart the behaviour inside the duckiebot-interface container, you can restart the traffic light behaviour by running

duckiebot-container $ roslaunch duckiebot_interface all_drivers.launch veh:=NAME robot_type:=traffic_light