Warning: include_once(scripts/rss.php): failed to open stream: No such file or directory in /userfiles/CS/public_html/eclab/projects/robots/arc/local/config.php on line 92

Warning: include_once(): Failed opening 'scripts/rss.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /userfiles/CS/public_html/eclab/projects/robots/arc/local/config.php on line 92
Applied Robotics Club : GMUGrandChallenge - Architecture browse

Player Server

p2os driver

The p2os driver allows player to interface with ActiveMedia Pioneer robots.

garminnema driver

This driver interfaces with GPS receivers that output standard NEMA strings.

compass driver

There is no compass interface in player. Perhaps a position2d interface can be used (ignore x and y, and just use theta). We'll need to write this driver.

Localization

We will be using GPS to assist in localizing the robot, but there are some areas on campus where GPS signals can't be received. So, we need a localization system that can handle the global localization problem.

  • Monte Carlo Localization (Particle Filter)

Player's amcl driver does not currently support gps or compass sensors. We'll end up augmenting the amcl driver, or writing our own MCL driver.

Obstacle Avoidance

The robot needs to avoid obstacles that are not represented in the map of its environment. These obstacles include both static and dynamic obstacles.

  • Sum of Vectors
  • vfh driver (Vector Field Histogram +)

Path Planning

A path planner takes a map, a starting location, and a goal as inputs, and outputs a list of way points to get from the starting location to the goal. There are a number of possible approaches, including:

Player Server Behavior

With path planner, obstacle avoidance, and localization drivers loaded, the playerc_planner_set_cmd_pose() function can be used to direct the robot where to go. This will plan a path, and traverse the path while avoiding obstacles.

Player Client

The player client will present a map to the user, and allow them to click on a destination. The player client then will call playerc_planner_set_cmd_pose() to instruct the robot to drive to this location, and the player client will just monitor the progress of the robot.

Architecture