top of page
RGO Robotics Logo
Search

A Learning Vision System

  • Writer: Amir Bousani
    Amir Bousani
  • Apr 15, 2022
  • 3 min read

Updated: May 31, 2022

RGo Robotics has recently unveiled Perception Engine, our innovative learning vision system technology. It delivers a revolutionary way of learning an environment and performing localization along with other, higher levels of perception.


To fully understand the benefits of this disruptive new technology, let’s look at where mobile robotic systems are today. Currently, most rely on 2D LiDAR laser scanners for localization. Perception Engine exceeds the capabilities of 2D LiDAR, creating true, 3D robotic perception.


When You Just See a Slice of the World, It’s Very Easy to Get Confused

2D LiDAR provides a very accurate two-dimensional scan of a single slice of the world. If the room boundaries (at the scanners height) are known, laser scanner information can be used to calculate where we are within the room. If you know your distance from all boundaries, there are very few options for where you are. And if you know something about how you got there, that is usually enough to know your exact position.

Example of a 2D laser scanner view
An example of a 2D laser scanner view

The challenges typically occur during initial setup and when the robot can’t see the expected boundaries well enough.


A long installation time is required as you need a very accurate map before you can start. The map is derived from a dense and noisy point cloud that requires post-processing, and frequently, manual corrections to remove non-stationary items that the laser scanner saw during installation. For many systems, the map may take multiple days to generate and clean up, involving expensive field installation resources and allocation of customer resources and facility downtime.


A second challenge is working in unstructured and dynamic environments. If objects are moving around the scanner, these can confuse your localization by creating wrong boundaries. Even objects that are static now (for example, a pallet) might be moved tomorrow and confuse the system. Open and unstructured environments can be even more challenging as they may not provide enough natural features at the laser level to allow for accurate position calculations.


Ramps and uneven surfaces are another classic challenge. If at any point the scanner is not parallel to the ground, you will see items at different heights. A tiny tilt up can create huge difference at long distance.


Identifying Key Points to Create More Robust Perception

Perception Engine allows us to see more widely and navigate in 3D space just like humans and most animals do. It is harder to implement, but so much more robust.


With our technology, we take pictures at different points along our path. We look at each frame and pick interesting points that we can track (which points—and what makes them so interesting—will be covered in a separate post). Then we look for the same point (a.k.a. “feature”) in the subsequent frame, and measure how much it moved (in angles – for axis X and Y).


By doing this with a few points, we can estimate how much we moved between these frames, and the relative distance to each point. Doing that over the full path will give us the estimated position at each point, and some 3D points we estimated along the way.


It isn’t easy. The detection and tracking algorithms are complex and getting them done both robustly and at high accuracy in varied environments requires a lot of experience. We need to overcome the estimation errors for each point, and incorrect matches in the detection and tracking algorithms. There are also points that do not match with the movement of the other points, like on moving objects. These need to be ignored, and to be marked as outliers. There are cases where almost everything the camera sees are outliers.


Here is an example of how it works. These are two pictures taken one after the other on a moving camera:

Image 1
Image 2








The photo below provides an example of how points moved from one picture to the other over the same plane. The white dot is the original pixel in the first picture. The red dot is the matching pixel in the second frame. The green line between them shows the change vector.



This approach provides good short-term accuracy, with low frame to frame error. Still, over a long travel path, these small errors accumulate, especially if the machine had not yet returned to its origin (known as “loop closure”).


At RGo Robotics, we have developed a unique additional layer of algorithms that solves this problem. We use visual learning to remember key points and structures in the environment around us. We generate a unique descriptor for them, and constantly compare everything we see to the structures seen previously. Whenever there is a match, we can fix our pose estimation without accumulating error. This allows us to estimate with confidence based on the number of matches we have, guaranteeing high accuracy and confidence in every environment we had already seen.


For any environment using mobile robots, Perception Engine represents a real breakthrough in visual pose estimation, utilizing the true value of seeing the world.

 
 
 

4 Comments


davidthom.a.s.282.55
Aug 07

Mình xem mấy con số chủ yếu cho vui, kiểu ngồi nhâm nhi ly trà rồi thử đoán xem có gì lặp lại không. Hồi đầu mình chỉ chăm chăm nhìn tần suất, nhưng theo dõi lâu mới thấy nếu không ghi lại thì rất dễ bị cảm giác “đang hên” làm lệch nhận định. Có thời gian mình thử lọc theo Đầu đuôi XSMB để xem mấy cặp hay xuất hiện có thật sự đều không, và thấy cũng mở ra thêm một hướng nhìn, nhưng tốt nhất đừng đặt kỳ vọng quá cao. Thường mình còn đối chiếu thêm vài dấu hiệu như cầu lô rơi, nhịp gan, rồi so lại chu kỳ xuất hiện để tự kiểm…

Like

Fara Pioky
Fara Pioky
Jun 13

By continuously matching current observations with stored visual landmarks, the system can correct its position estimates, prevent drift, Geometry Dash and maintain high accuracy and confidence, making its Perception Engine a significant advancement for reliable navigation in mobile robotics.

Edited
Like

sharly yang
sharly yang
May 24

Pretty useful site if you need fresh nickname ideas for games, Discord, or even writing projects. The name generator section helped me avoid using the same old usernames I always recycle.


Like

chubbyscooter
May 04

Each level in Drift Boss features unique track designs with different patterns, curves, and difficulty levels. The changing environments keep the gameplay fresh and engaging.

Like
bottom of page