The data on the "boundary nodes" is coming from his IR sensor on top of the robot. From what he describes, whenever this IR sensor "sees" something it raises an interrupt and updates the 'sensors_in' array which then gets copied to the 'sensors' array when "delayAndUpdateSensors()" is called. The function "servo_scan()" is what moves the IR sensor around and "find_wall()" is what updates the map array.