How to Navigate Robots in Outdoor Environments
White paper written by Kevin Yu, Ph.D. Graduate in Robotics and Senior Computer Engineer at SuperDroid Robots
In the world of ground robotics, there are robots that can help the elderly with everyday tasks and robots that are autonomously navigating other planets. In any application, robot manufacturers have to understand a project and with this it always entails the environment that the robot is functioning in. When navigating different environments, there are many questions that arise: such as temperature, humidity, ground surface, static obstacles, dynamic obstacles, materials in the environment, visibility, lighting, radio interference, GPS availability, and so much more.
At SuperDroid Robots we focus on indoor and outdoor applications, focusing on custom robots that are tailor-made based on customers’ requests. We focus on the breadth first search method where each of our custom robots are designed in house by our engineers, fabricated at our facility in Fuquay-Varina, North Carolina, and programmed by us to execute complicated tasks requested by the consumer. We pride ourselves on being flexible in our robot designs and engineering innovative methods to tackle an array of unique problems that are given to us.
What Makes it Hard
When navigating in an outdoor environment, there are many unknown variables that could cause a robot to lose localization, get stuck, or in the worst case break down completely. How should a robot behave when there is an obstacle in front of it? How does a robot know where it is within an environment? What surface is the robot driving on? These are all valid questions that an engineer has to take into consideration when working with outdoor robots.
For autonomous robots, there are many reasons that navigating in an outdoor environment may be hard, but let’s take the example of encountering an obstacle because it is one of the most common navigation issues. Should a robot proceed slowly until bumping into the obstacle or should the robot stop out right and not even come close to the obstacle? Both solutions require specific programming and need to be tested. However, both solutions may be the ideal answer in specific applications, while detrimental to the overall goal in other applications.
How to Tackle the Problems
We tackle many of these questions on a case-by-case basis. We get requests from customers that want robots to travel in GPS denied environments, on uneven terrain, and even in wet environments. Many of the robots we build are rugged enough to handle any of these environments.
Because we create custom robots based on each customer’s request, our solutions are not cookie cutter. However, for our autonomous robots, we build all of our platforms with Robot Operating System (ROS) and employ localization techniques like Simultaneous Localization and Mapping (SLAM) or Visual SLAM (VSLAM). For the obstacle example, we have created ROS packages that maximize the overall reward of the robot. This reward would be what the robot uses to determine what is the best course of action. There can be multiple paths to go from the current robot’s location to the goal location and each of these paths would have an associated reward. These rewards are calculated using a function and can be influenced by many variables in outdoor environments like obstacles, water, and varying light conditions. Based on the customers’ request, we equip our custom robots with sensors that can detect these hindrances in the environment and take all of them into account when calculating the reward. Then our robots will pick the path that gets the highest reward and executes navigation.
The reason we can create tailor-made robots is because we have our own designers, fabricators, and programmers. This allows us to design and build the robots and then program them and debug them in house. Many of our custom robots also get custom hardware packages, such as packages that use 3D LiDAR, RTK GPS, or even magnetic sensors. By executing the entire manufacturing process of the robots in house, it expedites any of our robot builds as well as allows us to listen to what the customer wants and provide a robot that is designed for them.