In the field of robotics, consider the following problem scenario: In a robot environment, a simple robot must push objects to reference places while figuring out which objects can be pushed, what the best manipulation strategy is, or which objects are static and cannot be pushed
...
In the field of robotics, consider the following problem scenario: In a robot environment, a simple robot must push objects to reference places while figuring out which objects can be pushed, what the best manipulation strategy is, or which objects are static and cannot be pushed. The problem scenario can be decomposed into three research topics which individually have received much attention from the research community; learning object dynamics [8, 37], Navigation Among Movable Objects (NAMO) [7, 13, 21, 23] and nonprehensile pushing [2, 5, 25, 41, 42, 43]. A combination of these three topics could lead to improvements in planning, execution time, and reasoning, but it has not been explored in the literature. This thesis proposes a robot framework that combines these three research topics. This framework comprises of three key components: the hypothesis algorithm, the hypothesis graph, and the knowledge graph. The hypothesis algorithm computes a hypothesis on how to relocate an object to a new pose by computing possible action sequences given certain robot skills. In doing so, the hypothesis algorithm creates an hypothesis graph that encapsulates the structure of the action sequences and ensures the robot eventually halts. Once a hypothesis is carried out on the robot, information about the execution, such as the outcome, the prediction error, the type of controller used and other metrics, are stored in the knowledge graph. The knowledge graph is populated over time, allowing the robot to learn, for instance, object properties and then refine the hypothesis computed to increase task performance, such as success rate and execution time. A new planning algorithm is proposed that can detect a when a path is blocked by an object, the hypothesis algorithm relies on the newly proposed planner to generate action sequences and to free blocked paths. This planner extends the double tree optimised Rapidly-exploring Random Tree algorithm [7]. The planner constructs a configuration space for an object and is provided with starting- and target pose for that object. The planner then converts these poses to points in configuration space to then search for a path connecting the starting configuration to the target configuration. For the new planner, objects are initially classified as “unknown” and can later be categorized as either “movable” or “unmovable”. The object type information is then used when constructing the configuration space for the newly proposed planning algorithm. Configuration space consists of the conventional free- and unmovable- (or obstacle) space and the newly proposed unknown- and movable space. To carry out the investigation, a mobile robot in a robot environment with movable and unmovable objects is created. The robot is given a task that involves relocating a subset of the objects in the robot environment through driving and nonprehensile pushing. The task can be broken down into individual subtasks that consist of an object and a target pose. Planning for a push or drive action occurs with the newly proposed planning algorithm that, if successful, completes a given task and populates the knowledge graph with learned object information. Information that can be used to determine which objects to manipulate and what strategy performs best to manipulate a specific object. In an effort to develop a robot framework that combines these three topics, a framework is created that shows improved task execution as a result to experience gained in the robot environment. The proposed framework performs equivalent or better compared to the state-of-the-art frameworks that are specialized in only two out of three research topics [47]. It can be concluded that the framework partly combines the three topics because learning system models with a system identification module is moved to the future work section. Instead, the proposed method selects the best available control and system model combination in the set of available control and system model combinations.