Motion planning and perception : integration on humanoid robots

This thesis starts by proposing a new framework for motion planning using stochastic maps, such as occupancy-grid maps. In autonomous robotics applications, the robot's map of the environment is typically constructed online, using techniques from SLAM. These methods can construct a dense map of the environment, or a sparse map that contains a set of identifiable landmarks. In this situation, path planning would be performed using the dense map, and the path would be executed in a sensor-based fashion, using feedback control to track the reference path based on sensor information regarding landmark position. Maximum-likelihood estimation techniques are used to model the sensing process as well as to estimate the most likely nominal path that will be followed by the robot during execution of the plan. The proposed approach is potentially a practical way to plan under the specific sorts of uncertainty confronted by a humanoid robot. The next chapter, presents methods for constructing free paths in dynamic environments. The chapter begins with a comprehensive review of past methods, ranging from modifying sampling-based methods for the dynamic obstacle problem, to methods that were specifically designed for this problem. The thesis proposes to adapt a method reported originally by Leven et al. so that it can be used to plan paths for humanoid robots in dynamic environments. The basic idea of this method is to construct a mapping from voxels in a discretized representation of the workspace to vertices and arcs in a configuration space network built using sampling-based planning methods. When an obstacle intersects a voxel in the workspace, the corresponding nodes and arcs in the configuration space roadmap are marked as invalid. The part of the network that remains comprises the set of valid candidate paths. The specific approach described here extends previous work by imposing a two-level hierarchical structure on the representation of the workspace. The methods described in Chapters 2 and 3 essentially deal with low-dimensional problems (e.g., moving a bounding box). The reduction in dimensionality is essential, since the path planning problem confronted in these chapters is complicated by uncertainty and dynamic obstacles, respectively. Chapter 4 addresses the problem of planning the full motion of a humanoid robot (whole-body task planning). The approach presented here is essentially a four-step approach. First, multiple viable goal configurations are generated using a local task solver, and these are used in a classical path planning approach with one initial condition and multiple goals. This classical problem is solved using an RRT-based method. Once a path is found, optimization methods are applied to the goal posture. Finally, classic path optimization algorithms are applied to the solution path and posture optimization. The fifth chapter describes algorithms for building a representation of the environment using stereo vision as the sensing modality. Such algorithms are necessary components of the autonomous system proposed in the first chapter of the thesis. A simple occupancy-grid based method is proposed, in which each voxel in the grid is assigned a number indicating the probability that it is occupied. The representation is updated during execution based on values received from the sensing system. The sensor model used is a simple Gaussian observation model in which measured distance is assumed to be true distance plus additive Gaussian noise. Sequential Bayes updating is then used to incrementally update occupancy values as new measurements are received. Finally, chapter 6 provides some details about the overall system architecture, and in particular, about those components of the architecture that have been taken from existing software (and therefore, do not themselves represent contributions of the thesis). Several software systems are described, including GIK, WorldModelGrid3D, HppDynamicObstacle, and GenoM.