BT-U-GO

The following post was written by Isabelle Eichhorst, the 2019 BTU summer intern, who is going into her final year of high school in the UK this year. We wish her the best of luck – she was incredible to work with!

Meet the new tour guide! Newcomers to the BTU lab now have a friendly robot that will show them the way from the lobby to the lab. The robot follows the wall down the corridor and stops at the destination, announcing its arrival with a victory jingle.  All the BTU-seeker needs to do is flip the big switch and watch “BT-U-GO” guide you. 

I designed the system comprised of an Arduino main board, a motor driver shield, two Sparkfun Qwiic VL53L1X distance sensors and a sparkfun Qwiic MUX board.

The robot navigates its way using distance sensors. With one of the Infrared sensors on the side of the robot, it has a clear view of wall. Depending on the distance to the wall the BT-U-GO can choose one of three actions.

  • If it is too close to the wall; turns away from the wall (or in this case to the right)
  • If it is too far; turn towards the wall (or to the left)
  • If BT-U-GO is within the designated range; continue at the angle it is now.

 Simple right? Well, yes, except for three sharp 90 degree corners along the wall and with the sensor on the side, BT-U-GO didn’t know when there was a wall directly in front of it. As a result, it used to continuously ram head-on into the walls (poor BT-U-GO!) . To solve this problem I connected a second sensor on the front of the robot. When it senses a nearby object it backs up slightly and then turns sharply to avoid bumping into the object ahead. A good solution except now I had two identical sensors connected in a Qwiic daisy chain. With both sensors having the same address I could not give them separate instructions in my code. Fortunately, I soon discovered the handy Mux breakout board which was designed as a solution for that exact problem.

The robot was now successfully moving down the corridor, but it still needed to know how to stop at the lab. I attached an Infrared-emitting Sparkfun “line follower” to the bottom of the chassis which can detect a change of colour of the surface beneath it based on how much light is reflected back. That way it could tell if the floor has changed from white to black or in this case – dark blue to reflective copper tape. I placed a streak of copper tape placed down outside the lab so that when the BT-U-GO goes over the finish line, the motors stop. 

There was a slight issue, however, because there are some shiny silver specks in the flooring on the way to the BTU. To overcome this, I added two line-followers and adjusted the code so that the motors will only stop if all three sense a change in the surface. An individual sensor may hover over a speck but this will not cause BT-U-GO to accidentally stop.

The body of the robot is essentially three futuristic-yet-gentle-looking white mesh shapes stuck together like marshmallows on a stick. The design was aimed to be a bridge from the simplistic lobby (represented by the simple white) and the vibrant BTU lab (represented by the watchful googley eyes).

Here are 2 videos of BT-U-GO in action. The first shows a fully completed BT-U-GO overcoming some of the challenges along the path. The second one is from when the robot was still in its testing stages but it shows the guide completing the whole journey. Below is the code:

BT-U-GO code

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *