The University of California, Berkeley uses JACKAL to develop an unmanned roboti
2020-06-07


BADGR:

The Berkeley Autonomous Driving Ground Robot


1.jpg


Look at the picture above. If I want you to spread me a picnic blanket on the grass, can you? certainly. If I asked you to bring a cart full of food to the party, would you push the cart along the paved path or on the grass? Obviously it paved the way.


Although the answers to these questions may seem obvious, today's mobile robots may fail in these tasks: they will think that tall grass is the same as a concrete wall, and they don't know the difference between a smooth road and a bumpy grass. This is because most mobile robots think purely based on geometry. They detect the location of obstacles and plan a path around these perceived obstacles to reach the goal. This purely geometric view of the world is not enough to solve many navigation problems.



image.png3.gif

Previous navigation methods based only on geometric reasoning mistakenly believed that tall grass was an obstacle (left), and did not understand the difference between flat roads and grass (right)


So can we make the robot infer the navigation path directly from the image? We have developed a robot that can autonomously learn the physical properties of the environment through its own experience in the real world without any simulation or human supervision. We call our robot learning system BADGR: Berkeley self-driving ground robot.


Basis of BADGR's work:


   1. Collect data independently


   2. Automatically label data through self-monitoring


   3. Training image-based neural network prediction model


   4. Use predictive models to plan the future and execute actions that enable the robot to complete the required navigation tasks



(1) Data collection



image.png

BADGR automatically collects data in the field (left) and urban (right) environments


BADGR requires a lot of different data to successfully learn how to navigate. The robot uses a time-dependent random walk controller to collect data. When the robot collects data, if it encounters a collision or gets stuck, the robot will perform a simple reset of the controller and then continue to collect data.


(2) Self-supervised data label


BADGR then traverses the data and calculates labels for specific navigation events (for example, the position of the robot and whether the robot collides or is driving on rough terrain), and re-adds these event labels to the data set. These events are marked by having people write a small piece of code that maps the raw sensor data to the corresponding tags. For example, a code snippet used to determine whether the robot is on bumpy terrain will obtain IMU data and mark the terrain as bumpy when the angular velocity is large.

We describe this marking mechanism as self-supervised because although people have to manually write this code snippet, this code snippet can be used to mark all existing and future data without any additional manual input.


(3) Neural network prediction model



5.png

Neural network prediction model at the core of BADGR


Then, BADGR uses this data to train a deep neural network prediction model. The neural network takes the current camera images and future planned action sequences as input, and outputs predictions about future related events (for example, whether the robot will collide or drive on rough terrain). The neural network prediction model is trained to predict these future events as accurately as possible.



4)Planning and navigation


6.gif

BADGR predicts which actions will lead to rough terrain (left) or collision (right)

When deploying BADGR, users first define a reward function that encodes the specific tasks they want the robot to complete. For example, the reward function can encourage progress toward the target while preventing collisions or driving on rough terrain. Then, BADGR uses a well-trained predictive model, current image observation and reward functions to plan a series of actions that maximize rewards. The robot performs the first action in this plan, and BADGR continues to alternate between plan and execution until the task is completed.

In our experiments, we studied how BADGR understands the physical properties of the environment in a large complex terrain facility near the University of California, Berkeley. We compared our method with a geometry-based strategy that uses LIDAR to plan conflict-free paths. (But please note that BADGR only uses the onboard camera.)

image.png

BADGR successfully achieved the goal while avoiding collisions and rough terrain, while the geometry-based strategy cannot avoid the rough terrain.

We first considered the task of achieving the target GPS position while avoiding collisions and rugged terrain in an urban environment. Although the geometry-based strategy always succeeded in achieving the goal, it failed to avoid the grass in the pit. BADGR also succeeded in reaching its goal and successfully avoided rough terrain by driving on paved roads. Please note that we never tell the robot to drive on the road; BADGR automatically learns from the on-board camera image that driving on a concrete path is smoother than driving on grass.

image.png

BADGR succeeded in achieving the goal while avoiding collisions, while the geometry-based strategy failed to make progress because it mistakenly believed that grass was an impenetrable obstacle.


We also considered the task of reaching the target GPS location while avoiding collisions and getting stuck in an off-road environment. The geometry-based strategy almost never crashes or gets stuck on the grass, but sometimes refuses to move because it is surrounded by grass and is incorrectly marked as an impenetrable obstacle. BADGR almost always succeeds in reaching its goal by avoiding collisions and jams, while predicting without error that all grass is an obstacle. This is because BADGR has learned from experience that most grass is actually traversable.


9.jpg

As the data set increases, BADGR performance continues to improve

In addition to being able to understand the physical properties of the environment, a key aspect of BADGR is its ability to continuously monitor itself and improve the model as more and more data are collected. To prove this ability, we conducted a controlled study in which BADGR collects and trains data from one area, moves to a new target area, fails to navigate in that area, but then collects and trains other data, and finally The target area successfully collects data from that area.


This experiment not only proves that BADGR can improve in collecting more data, but also that when BADGR encounters a new environment, the experience collected before can actually accelerate learning. As BADGR automatically collects data in more and more environments, the time required to successfully learn navigation in each new environment will become less and less.


We also evaluated how effective BADGR is for navigation in new environments (from forests to urban buildings). These data are not shown in the training data. This result shows that if BADGR is collected and trained on a sufficiently large and diverse data set, it can be generalized to novel environments.

Click to watch:Experiment result video


B

The key insight behind ADGR is that by directly learning from real-world experience, BADGR can understand navigation capabilities, and continue to improve and extend it to invisible environments as more data is collected. Although we believe that BADGR is a promising step towards a fully automated, self-improving navigation system, there are still many unresolved problems. For example: How can a robot collect data safely in a new environment? Adapt to new data streams online? Deal with non-static environments, such as people walking around? We believe that solving these and other challenges is essential to enable robotic learning platforms to learn and act in the real world.


References:


Kahn G, Abbeel P, Levine S. Badgr: An autonomous self-supervised learning-based navigation system[J]. arXiv preprint arXiv:2002.05700, 2020.


Website: https://sites.google.com/view/badgr


Code: https://github.com/gkahn13/badgr


jackal UGV产品参数:Jackal_京天20200927(1)_01.jpg

Donghu Robot Laboratory, 2nd Floor, Baogu Innovation and Entrepreneurship Center,Wuhan City,Hubei Province,China
Tel:027-87522899,027-87522877

Technical Support

Post-Sale
Video
ROS Training
Blog

About Jingtian

About Us
Join Us
Contact Us

Cooperation and consultation

Business cooperation: 18062020215

18062020215@qq.com

Pre sales technical support:

Tel 13807184032


Website record number:鄂ICP备17004685号-1 | Technical Support | Contact Us | Terms of Service and Privacy | Map