PROJECT: robotic system
The robot is a commercial Pioneer P3-DX equipped with two computers. The low-level computer controls the back wheels that work in differential-drive mode. The high-level computer manages with the rest of the computational tasks. The main sensor is a SICK planar laser placed on the frontal part of the vehicle. It works at 5Hz, with a field of view of 180º and 0.5º resolution (361 points). This sensor provides information about the obstacles located in front of the vehicle. The robot is also equipped with wheel encoders (odometry), with a 802.11b Cisco 350 Series wireless card that allows connecting the vehicle to a local network during operation and with a camera. The camera, placed on the laser, is a pan/tilt/zoom Canon VC-C4 with +/-100º of pan field of view and +90º/-30º of tilt field of view. Initially, the camera orientation is 0º pan and -11.5º tilt, which provides a centered perspective of the environment roughly starting one meter in front of the robot (this initial camera orientation is a customizable parameter).
Robot used for the experiments.
We have equipped the robot with an autonomous navigation technology that is able to drive the vehicle to a given destination while also avoiding the obstacles, both static and dynamic, detected by the laser sensor [14]. This module has two functionalities. On the one hand, a modeling module integrates the sensor measurements to construct a local model of the environment and to track the vehicle location. We chose a binary occupancy grid map to model the static obstacles and the free space, and a set of extended Kalman filters to track the moving objects around the robot. We used a technique to correct the robot position, to update the map and to detect and track the moving objects around the robot [15]. The static map travels centered in the robot. This map has a limited size, which is enough for presenting the required information to the user as described in the previous section and for computing the path so as to reach the selected goal. On the other hand, a local planner computes the local motion based on the hybrid combination of tactical planning and reactive collision avoidance. We use an efficient dynamic navigation function (D*Lite planner [16]) to compute the tactical information (i.e. main direction of motion) required to avoid cyclic motions and trap situations. This function is well suited for unknown and dynamic scenarios because it works based on the changes in the model computed by the model builder. The final motion of the vehicle is computed using the ND technique [17], which uses a 'divide and conquer' strategy based on situations and actions to simplify the collision avoidance problem. This technique has the distinct advantage that it is able to cater to the complex navigational tasks such as maneuvering in the environment within constrained spaces (i.e. passage through a narrow door).