Semantic Localization for IoT
367
in two or three-dimensional space. For such applications, different representations
of space than a coordinate-system based physical map become appealing.
Relational ontologies of space aren’t wildly foreign concepts; they can be found
in some of today’s apps. Take data from FourSquare, the app that lets users “check
into” locations, as an example of a non-geometric representation of space. A user
checked into a restaurant on FourSquare is known to be inside the establishment, but
it would be a mistake to guess exact geocoordinates for him/her and plot them inside
the restaurant’s perimeter because they might be sitting at a table or standing by the
door, and precise geocoordinates would suggest a false confidence as to the nature
of unknown information. Unplotability doesn’t make the FourSquare data somehow
less accurate or reliable than a physical coordinate map, it just makes it different.
We call this kind of geometrically fuzzy yet logically precise spatial information
semantic localization.
1.1 Designing a Robo-Cafe
In collaboration with researchers at U Penn, Michigan, UW, CMU, and Berkeley,
in 2015 we demonstrated a robotic delivery system at the DARPA “Wait, What?”
conference where users could place an order on a smart phone localized by the
ALPS Ultrasound Localization System [3] and have a desired snack delivered to
their location by a roaming Scarab Robot [4]. The demo was designed to showcase
integration and composability of IoT systems via accessors [5], but most relevant to
this chapter is the spatial interaction needed between the Scarab and ALPS.
The Scarab comes equipped with a laser rangefinder which it uses with standard
ROS packages to perform Simultaneous Localization and Mapping (SLAM) and to
build an occupancy-grid map of its environment (see Fig. 1). An occupancy grid is a
fairly simple data structure commonly used in robotics to represent an environment
(modeled as a grid over 2D or 3D Euclidean space) that is essentially a big array with
values from 0 to 100. A value of 0 indicates the robot is almost certain the cell does
not contain an obstacle, and a value of 100 that the cell is almost certainly impassable.
The robot also maintains an estimate of its pose (position and orientation) at the cell
where it is currently located.
The second localization system, ALPS, uses ultrasonic beacons, and is also
deployed in the DOP Center (Fig. 1). The system is deployed by placing beacons at
known locations in a building and finding the correspondence between the beacons
and coordinates on the building’s floor plan. The beacons send time synchronized
chirps of ultrasound in the 20–22 kHz bands that are beyond the range of human
hearing but receivable at the standard sampling rate of a cell phone microphone. A
smartphone with an ALPS app can locate itself on the floor plan’s coordinate system.
When the robot is localized on its occupancy grid and the phone is localized on
the floor plan, the Scarab uses ROS navigation packages to deliver a snack. However,
there is a rather subtle challenge in the last step: the phone has known coordinates on
the floor plan and the robot is at a known cell of the occupancy grid, but the two are, as
367
in two or three-dimensional space. For such applications, different representations
of space than a coordinate-system based physical map become appealing.
Relational ontologies of space aren’t wildly foreign concepts; they can be found
in some of today’s apps. Take data from FourSquare, the app that lets users “check
into” locations, as an example of a non-geometric representation of space. A user
checked into a restaurant on FourSquare is known to be inside the establishment, but
it would be a mistake to guess exact geocoordinates for him/her and plot them inside
the restaurant’s perimeter because they might be sitting at a table or standing by the
door, and precise geocoordinates would suggest a false confidence as to the nature
of unknown information. Unplotability doesn’t make the FourSquare data somehow
less accurate or reliable than a physical coordinate map, it just makes it different.
We call this kind of geometrically fuzzy yet logically precise spatial information
semantic localization.
1.1 Designing a Robo-Cafe
In collaboration with researchers at U Penn, Michigan, UW, CMU, and Berkeley,
in 2015 we demonstrated a robotic delivery system at the DARPA “Wait, What?”
conference where users could place an order on a smart phone localized by the
ALPS Ultrasound Localization System [3] and have a desired snack delivered to
their location by a roaming Scarab Robot [4]. The demo was designed to showcase
integration and composability of IoT systems via accessors [5], but most relevant to
this chapter is the spatial interaction needed between the Scarab and ALPS.
The Scarab comes equipped with a laser rangefinder which it uses with standard
ROS packages to perform Simultaneous Localization and Mapping (SLAM) and to
build an occupancy-grid map of its environment (see Fig. 1). An occupancy grid is a
fairly simple data structure commonly used in robotics to represent an environment
(modeled as a grid over 2D or 3D Euclidean space) that is essentially a big array with
values from 0 to 100. A value of 0 indicates the robot is almost certain the cell does
not contain an obstacle, and a value of 100 that the cell is almost certainly impassable.
The robot also maintains an estimate of its pose (position and orientation) at the cell
where it is currently located.
The second localization system, ALPS, uses ultrasonic beacons, and is also
deployed in the DOP Center (Fig. 1). The system is deployed by placing beacons at
known locations in a building and finding the correspondence between the beacons
and coordinates on the building’s floor plan. The beacons send time synchronized
chirps of ultrasound in the 20–22 kHz bands that are beyond the range of human
hearing but receivable at the standard sampling rate of a cell phone microphone. A
smartphone with an ALPS app can locate itself on the floor plan’s coordinate system.
When the robot is localized on its occupancy grid and the phone is localized on
the floor plan, the Scarab uses ROS navigation packages to deliver a snack. However,
there is a rather subtle challenge in the last step: the phone has known coordinates on
the floor plan and the robot is at a known cell of the occupancy grid, but the two are, as
