For mobile robots to be effective in a multi-floor environment, they must be able to operate an elevator and determine when the elevator reaches a floor. In this project, I wrote a C++ node in ROS (Robot Operating System) that subscribes to a USB camera’s video feed and analyzes that feed frame by frame to detect a change in the lights on the elevator buttons. This project was created to work specifically on the elevators of the Gates Dell Complex located on the campus of UT Austin.
The Building Wide Intelligence’s primary mission is to design fully autonomous robots that can become a permanent part of the environment in the Gates-Dell Complex. In the process of becoming fully autonomous, these robots have to be able to navigate the interior environment of the main building. Currently, the robots are able to navigate a pre-configured map environment which is configured using a separate method. Ultimately, the goal is to have autonomous robots which can navigate variable environments (environments in which objects don’t have a fixed location, but they move around dynamically as individuals interact with the environment).
A part of this mission is to implement functionality which would allow the robot to move in between floors. Currently, the robots have very little functionality related to interacting with the elevators. In this research paper, we explore an important components of this key functionality when interacting with the elevator - how the robot is to determine what specific floor it is on.
Using a secondary USB camera, we have programmed a Robot Operating System node which can take a clear video feed (presumably in an empty elevator) of the elevator button panel and detect which specific buttons are lit. This detection is specific to circular buttons with floor indicator lights in the center of the button. First, we detect the specific buttons and the numbers placed next to them. We use this detection of buttons to further work on enabling the node to detect the circles in the center and then map a specific button to the relevant floor number in real time.
Installation instructions: