Identifying and analyzing the environment in which you intend your robot to navigate is among the most crucial of first steps when it comes starting a robotics project. The reason is that a robot’s ability to perform its job safely and securely is heavily dependent upon its understanding of its surroundings. But robot navigation is far more complex than simply teaching your robot what to know and what to do. It’s a multi-layered continuum that requires constant vigilance.
For instance, in order for a mobile robot to navigate within a warehouse setting it must be fully programmed and aware of its surroundings at all times. But what happens when you introduce warehouse employees into the equation? How does a robot navigate around variables such as humans, or around objects that humans move either intentionally or accidentally? Without a thorough understanding of its environment or the ability to identify its environment, a robot can encounter some major obstacles—which means chaos can ensue, product could get damaged and people could potentially get hurt.
Before your start taking inventory of your robot’s surroundings, it’s important to do one thing first—stop thinking like a human and try to relate with your robot.
Humans Have Little Empathy for Robots
Humans take a lot for granted. For instance, a person sees a puddle and knows exactly what it is, and most importantly why and how to get around it. This reaction is a byproduct of the human nervous system, as well as muscle memory. Simply put, it’s innate for a human to find a path around the puddle. A robot however is not quite as capable, and as humans this is hard to comprehend.
In order for a robot to navigate around a puddle it would need to be capable of identifying such an obstacle (i.e. sensors) and then programmed with a set of rules to avoid it. Things get far more complicated from here on out, however, a general understanding of your robot’s environment is a critical first step in the process. Once you understand the environment your robot is operating in, and you identify all of the details and potential variables, only then can you begin to define the best approach for accomplishing your intended task.
How to Define Your Environment
In general, there are two types of environments your robot will encounter—structured and unstructured. Understanding and identifying which type of environment your robot will be operating in will significantly impact the sensor specification, development, and navigation capabilities of your robot.
A structured environment is essentially a space that is clearly and meticulously defined. This type of environment has no variables and is rigid—meaning a robot knows what to expect when navigating through it at all times. A structured environment is predictable.
Take the structured environment mentioned above and add unexpected and infinite variables (i.e. humans, lighting, moisture, temperature etc.). This type of environment is challenging for a robot to navigate because it must be capable of identifying and adapting to these changes. In essence, an unstructured environment is chaotic and unpredictable.
Determining which environment your robot will be operating in eventually leads to a discussion on its functionality, but not until you’ve taken an even more granular assessment of your surroundings.
Identify Intricate Details of Your Environment
Knowing your environment is much more convoluted than you might think. It involves identifying all obstacles within a space—anything and everything that could serve as as potential impediments to your robot’s navigation. The following is a prime example of what to look for within your environment:
Know Your Floor — A floor is for the most part flat, but what about those tiny imperfections and irregularities that could cause a robot to go off track? What is the color of your floor? Is it multicolored or uniform? Other things to take note of include:
- Does it have any stress cracks or potholes?
- Is the floor abrasive or smooth?
- Is it painted?
- Does it have lines on it?
- How level is your floor?
- Are there any stains on your floor?
- Does it gather moisture?
- Is it cold or hot?
Knowing every intricate detail of your flooring is key in the development and strategy of your robot’s function. Any unplanned anomaly (i.e. a crack in the floor) could impact the sensors’ performance or the operation of the mechanical systems on your robot and consequently cause it to fail.
Other areas of detail to understand include:
- Lighting — What is the lighting in your environment? Is it natural light? Is it fluorescent light? Are there shadows? Does it change throughout the course of the robot’s mission?
- Furniture/Fixtures —Does your space have racking? How high is the first rack off the floor? Do things stick out into the aisle?
- Employees — Does your environment feature multiple employees flowing in and out? What are these employees wearing? Do they wear matching uniforms? Are there areas where they are always or never allowed to go?
- Variable Conditions — Will your robot be exposed to the elements? Does this shift in exposure constitute changes in temperature/humidity? Will there be changes in weather?
- Hazards — Is your robot expected to withstand certain levels of radiation or toxic waste?
Any of the conditions mentioned above could potentially wreak havoc on your robot’s sensors and as a result impede its navigational abilities—which is why identifying them early on in the development of your robot is important.
Defining Your Environment Leads to Development of Strategy
Only when you have truly identified your robot’s environment can you begin discussing strategies and approaches to solve your specific goals and to create rules around your robot’s abilities. Ultimately the end result will be you either teaching your robot what the rules are or teaching it how to identify things within the rules that are defined. These strategies/approaches are heavily intertwined with the type of sensors/scanners you ultimately end up using with your robot.
But don’t rush to solve for strategy just yet. It’s important to take time to properly identify everything you can about your robot’s future environment before deciding which sensors/scanner you should use. If you would like more information on how to properly identify elements within your robots intended environment , please contact us. We would be happy to assist you as you continue to scope out your robotics solution.