Long-term Autonomy in the Iribe Glass Hallway

Author: Jingxi Chen (ianchen@terpmail.umd.edu)

Motivation:
Nowadays, mobile robots are generally equipped with Lidar and 3D Cameras for perceiving and representing the environment. However, these ray-tracing sensors would fail to detect the transparent objects, such like glasswall in the building. This limitation will impede robots in their navigation capacity, such as going in and out of a glasswall-enclosed room without colliding with glasswall.

For example, in this case we send robot a goal pose that goes out of our lab into the hallway, the planner will view the missing glasswall as free space and plan a path through it correspondingly. (will result in robot bump into the glasswall)


fail case


fail run

In this project, we are trying to enable robot to perceive and represent glasswall using visual recognition for improving the robot navigation in glasswall environment.

Part 1: Building and testing the research platform

1. The robot

The first step for this project is to select and test a reasonable research platform (mobile robot) that fits to our research purpose.

Our major considerations are:

  • It is compatible with ROS
  • Low-cost with reasonable functionality (after some upgrade)
  • Medium size

Based on these criteria, we selected TurtleBot 2 as our base platform. tb2

To setup TB2, please see the documentation: Setup TB2

2. The ROS-based autonomy/navigation stack

Our ROS-based Navigation stack includes following components:

  • Perception
  • SLAM
  • Motion planning

After fine-tuning and modifications, here are the examples of effect of three components:

Perception:

Converting static map (after mapping) and dynamic sensor observations in to global and local costmaps (used for later global and local planning)

perception


SLAM:

Mapping of our lab + the surrounding hallway environment: mapping


Particle-filter based localization during autonomous run: localization

Motion Planning

Motion Planning stack involves two-level of planning: global planning (plan a path from a to b on global scale) and local planning (path following and collision avoidance) mp1 mp2

Part 2: The problem of glasswall in navigation

The problem that glasswall will impose during the autonomous navigation is that robot cannot detect it using the Lidar or Depth camera and thus will plan a path that collide with the glasswall.

  • The depth image of 3D camera cannot correctly measure and detect glasswall (will penetrate and ignore glass wall)

RGB image when robot facing the glass wall

glass wall


The depth image

depth glass wall depth

  • The Lidar will face similar problems with glassway and we can see it from the following map generated by Lidar-based gmapping

After mapping, the glassway in red circle is missing in static map generated

static map



  • This will result in planner generate a false path that bump into the glasswall

For example, in this case we send robot a goal pose that goes out of our lab into the hallway, the planner will view the missing glasswall as free space and plan a path through it correspondingly. (will result in robot bump into the glasswall)

The planned path and costmaps


fail case


fail run

Part 3: Unifying the geometry and semantics of glasswall

The robot plans path based on the costmaps which are from the sensor measurements (Lidar scan, Depth images). In this way, we essentially use ray-tracing for endpoints in order to perceive and represent the world. This way of using only geometry to represent the world makes it difficult to deal with the glasswall (invisible to ray-tracing).

To address this, we are going to incorporate the semantic understanding of environment (from RGB images) into the geometric measurement for detecting and representing the glasswall such that we can improve our autonomous navigation.

RGB image when robot facing the glass wall

glass wall


  • Training a semantic segmentation network which using the surrounding context to generate segmentation mask for glasswall

    The glasswall segmentation mask from our trained model

seg masks


  • Using the resulting segmentation mask to correct the depth image

On the left is original depth image, on the right is the corrected one

seg depth


  • Using this idea we can correctly perceive and represent glasswall thus improve the autonomous navigation of the robot (robot can plan a collision-free path out of room that take into account of glasswall)

The new planned path and costmaps

out


out run

Summary:

This ongoing real-robot based research project is on the intersection of Vision and Robotics. This is an example of my research interest of using semantic understanding to improve the robot autonomy. From this experience, I learned and sharpened skills and understandings in Autonomy stack (Perception, SLAM, Motion Planning) of robots, the visual learning and recognition , I also gained more understandings in the challenges for real-robot based problems.