Case Study: Getting Through that Tight Space

Commercially-available robots from Adept MobileRobots

Case Study: Getting Through that Tight Space

Postby ToddR » Thu May 24, 2012 3:59 pm

Case Study: Getting Through that Tight Space

In setting up your mobile robot you may have noticed some tight spots which the robot has trouble getting through. Perhaps the robot takes longer to get through this section than you'd prefer, or even fails all together.

There are a number of strategies that you can try, and some combination of the following may be necessary to allow the robot to reliably navigate through this space every time.

For reference, the following screenshot was taken from a map of a hospital in which an MT400 is operating. "Goal 1" is located in a hallway, and "Reference" is located inside of a room, through a tight doorway and a narrow passage. The robot at this facility, with the default settings prescribed by the Robot Configuration that is set at Adept before shipping was too restrictive to allow the robot to easily drive from Goal 1 to Reference. The following changes worked well in this case, but knowing what each parameter is used for will help to tailor the chosen settings to each situation as needed.

A few important notes before getting started:
  • Make a backup of your map and of your robot configuration and save them to your local computer before making any changes.
  • Check the effect of each change you make before making more changes.
  • It is usually easiest to use the "open on robot" option in MobilePlanner, and then select the "Open Current Map" button.
    This will allow changes to the map to be applied immediately to the robot when you save.

map tight doorway.PNG
map tight doorway.PNG (42.32 KiB) Viewed 11345 times

Path Planning Settings
The first thing you will want to do is take a look at the robot's path planning settings. A description of the clearance settings contained here can be found on this forum here:

Setting clearance parameters, or "trouble with tight spaces"

Decreasing the Front Clearance and Front Padding, as well as the Side Clearance may help you get through the space.

Lets look at a few other parameters in the path planning section of the robot configuration that will also affect how well the robot can drive through this space:

MaxSpeed and MaxRotSpeed - decreasing these values may help.

PlanRes - this parameter is defined by MobileEyes in the Robot Configuration, stating:

"The resolution of the grid used for path planning in mm. It is best to use an integral fraction of the robot half width to allow for more free space in tight spaces."

This parameter involves a tradeoff between processing time, and the accuracy of the grid that the robot uses to plan its path. When a robot plans a path it looks at the map as if it is composed of an array of squares with the PlanRes as the side length of one of these squares. If there are enough obstacle points in this grid square then it is determined to be occupied, and the robot will avoid this entire square. By decreasing the value of PlanRes you increase the chance that you'll "free up" useable area for path planning. The down side to this approach is that it may now take the robot longer to plan a global path between its current location and its destination each time that a goal is issued. For relatively small maps this effect may not even be noticeable, but for expansive areas path planning may take considerably longer.

The decision of whether or not a square is occupied is based on the expert parameter ObsThreshold. If you can't see the expert parameters, change the parameter priority (upper left corner of the Robot Configuration window) to Expert. ObsThreshold is defined in MobileEyes as "The threshold value of the occupancy grid to consider as occupied for path planning." The default is 0.2, which means that if 20% of a grid square is occupied then that entire square is considered occupied for path planning considerations. NOTE: this is only for path planning, the robot will still avoid real obstacles that it perceives with its scanning laser, even if the grid square is not considered "occupied."

The default if 20% (0.2) is conservative. This is intended for safety. In many cases it is acceptable to set this value as high as 80% (0.8) without any trouble. This will probably have a dramatic effect on the robot's ability to get through the doorway, or tight space.

PlanFreeSpace is defined in MobileEyes as:

"Preferred distance from side of robot to obstacles. The path planner marks each grid cell depending on its distance to the nearest obstacle. Any cell within half the robot width of an occupied cell will still be non traversable by the robot.The cell at half robot width will be traversable but will have the maximum cost. The cost of the cells beyond half width will progressively decrease. The PlanFreeSpace is the distance from the side of the robot beyond which the cell cost stops decreasing and remains constant. Larger values will cause larger excursions around obstacles, (This variable is related to the FreeSpacing variable in previous versions of ARNL which was measured from the center of the robot.)"

Basically this parameter is a measure of how close the robot prefers to drive to walls or other objects. A higher PlanFreeSpace will encourage the robot to stay further away from obstacles by making it "cost" more to drive close to walls, obstacles, etc. By setting this value to about half of the width of the doorway you're telling the robot to try to stay in the middle of the doorway.

Note: You can measure the opening of the doorway on the map quickly using the "Measuring Stick" Advanced Line.

Path Planning Settings Sectors
Making changes to the Path Planning settings for all locations in the map may not be appropriate. For example, while you may want to decrease the front and side clearance in order to allow the robot to drive more closely to obstacles, and squeeze through the doorway, in other areas of the map you may want that padding back for added safety. The solution is to use a Path Planning Settings Sector. This is a rectangular area on the map inside of which different settings are applied.

First, make sure that Path Planning Settings Sectors are enabled by connecting to the robot with SetNetGo in an internet browser navigating to the ARAM section. Ensure that the "enablePathPlanningSettingsSector" checkbox is checked, and if it is not, check it and click apply below. This will restart ARAM.

enablePathPlanningSettingsSector.PNG (49.87 KiB) Viewed 11345 times

If it was not checked, and the option to insert this "AdvancedArea" is not available in Mobile Planner then you'll need to use "Download Robot Tasks" from the Routes menu bar to select the robot and include its tasks in this map file. This is only necessary when more tasks are enabled on the robot now than were enabled at the time the map was made, or if the map was made with a completely different robot, for example.

Advanced Areas.png
Advanced Areas.png (10.14 KiB) Viewed 11345 times

When you create a path planning settings sector you'll see the subset of Path Planning settings that you can change in this area.

Clearance Setting sector.PNG
Clearance Setting sector.PNG (78.72 KiB) Viewed 11345 times

In this case the user has named the sector "Reduced Clearance [..]" which is exactly what's been done here. The front padding and clearance, as well as the side clearance have been given low values (in mm). It is not advisable to set these too low, and 50, as shown above is probably a good lower limit. Any lower and the robot may start to run the risk of brushing or bumping its surroundings. If you notice that the robot is brushing or bumping obstacles you'll want to increase these values.

Other Techniques
If the above changes don't get you the full performance you're interest in, you may consider the following ideas.

In the image shown of the map above you can see two small beige boxes on either side of the doorway entrance on the outside of the room containing the Reference goal. These are forbidden areas, and the robot can not only not drive trough them, but it will avoid them like it avoids obstacles, as described above. by placing these here the robot is encouraged to not round the corner into the doorway, but to enter it straight on, which may be beneficial. Picture driving in your car and turning left some to make a wider turn into a parking spot.

Also shown in the image are some yellow rectangles. These are resisted sectors. This allows you to apply a resistance to a certain area that makes it more costly for the robot to drive there, meaning that it is more likely to plan a path that doesn't involve driving through that space. This can further encourage the robot to stay in the middle of the doorway/entrance-way, similar to the way that PlanFreeSpace, describe above, will do. Resisted Sectors, like Path Planning Settings Sectors, may need to be enabled in SetNetGo before they can be inserted into the map. Likewise, as described above, you may need to use "MobilePlanner > Routes > Download Robot Tasks > Choose Robot" to make this Advanced Area available.

Lastly, and not shown here, a preferred line through the center of the doorway may also prove useful for encouraging the robot to plan a path through the middle of the doorway, which will help keep it from getting stuck or failing to enter this space.


After applying the above changes the robot at this facility has been entering and leaving this space successfully for a few weeks at the time of this post.

Please feel free to respond with questions, or specific cases that you'd like to consider in this group forum.

Return to Adept Mobile Robots

Who is online

Users browsing this forum: No registered users and 1 guest