La réalisation de missions autonomes ou collaboratives d’un humanoïde virtuel ou robotique

Task planning

   In its general meaning, task planning [32] consists in building the appropriate sequence of tasks to realize a given mission. In other words, it consists in choosing in a given pool of  doable tasks (called know-how) the adequate set of tasks and ordering them so as to achieve the given mission. In such planning, the task is defined as a symbol that can be translated into an action (or a set of actions) to be concretely realized. The tasks can be sorted in two categories:
• The Primitive tasks (or Operator), that can be executed directly.
• The Non-primitive tasks (or Method), more complex, that have to be decomposed into a set of subtasks so as to be executed. A primitive task is usually defined by a set of preconditions and an effect, e.g. using STRIPS operators [30]. The non-primitive tasks are defined by a set of preconditions and a set of subtasks, that can be either organized according to a totally ordered sequence (i.e. all the dependencies between tasks are defined), or only partially ordered (i.e. only some of the dependencies between tasks are defined). The Fig. 1.1 shows a toy example of decomposition of a mission into a task sequence. The method “Prepare table » is totally ordered: the task order between its two subtasks is fixed. On the opposite, the method “Place cutlery » is partially ordered: the order of realization of the three tasks is left free and will only be decided in the task scheduling phase, or even during the execution by the agent (human or robot).

Scheduling of motion

   One could notice that in the examples of scheduling problem presented below, the scheduling is always realized between action tasks, or between action and motion tasks but never between motion tasks. This should be interrelated with the fact that so far (in this document) motion tasks correspond either to trajectories to track or to postures to reach, defining hence a whole-body motion. Besides, the order of motion tasks is usually fixed in the sequence: task scheduling is thus limited to reducing the delay between the tasks. This approach is an important limitation to the optimization of motions, particularly in the case of redundant robots (such as humanoids) that can realize simultaneously different tasks. At this point, one may easily think on robotic sensors and actuators (degrees of freedom) as being the intrinsic resources for a robot to achieve a given mission, and consider that the tasks should not be applied on the whole body but only on part of it

Considered approach

   The purpose of this work is to smooth a given task sequence as much as possible under the constraints related to task and resource dependencies, behavioral preferences, and variability dependencies. The entry of the problem is a doable sequence of tasks, where the dependencies between tasks and eventually sensors are set (the sequencing phase has been realized, together with the task planning). The sequence does not contain neither coupled tasks nor preemptive tasks, but both action and motion tasks are considered. Along with the optimization of the task schedule, an optimization of the motion is realized. In the introduction, we mentioned that the last optimization (on the velocity) is realized after the scheduling. In practice, it is not possible to achieve successively the scheduling phase and the optimization phase: these two processes must be realized together. In the case where the scheduling phase is realized first, the final schedule may present dead times: it is sub-optimal. This issue is illustrated by Fig. 1.10. First, the task scheduling phase removes the dead times between the tasks, using the given properties of the task, especially its time of realization. Hence, each task belonging to the critical sequence of tasks is necessarily removed as soon as it is realized. Then, the optimization of the tasks finds the adequate parameterization for each task so as to realize them faster. Since the time of realization of each task is reduced, dead times are reintroduced in the previously optimized sequence. Similarly, it is not possible to start with the optimization phase and then to realize the scheduling phase either. Due to the task overlapping, the simultaneous realization of two ,tasks may violate conditions (such as joint velocity limits or stability) that neither of them violates if the tasks are not overlapped. Besides, we consider that only the critical sequence of tasks should be fully optimized, not all the tasks.

Solver used

   The optimization problem considered here is a non-linear constrained parametric problem,with continuous criteria and constraints, whose gradients are not provided (formulating the gradient of the constraints functions with respect to parameters appears to be particularly difficult). Even if the computation of the control law is smooth, this problem is only  due to the method chosen to handle the semi-infinite constraints (based on the max operator). Depending on the properties, the type, and the data available of an optimization problem, some solvers are more suitable comparing to others. To only cite a few:
• Ipopt and Loqo  both solve constrained optimization problems with twice continuously differentiable (C2) criterion and constraints. The gradient must be provided but the Hessian can be approximated.
• The MATLAB optimization toolbox [15] and CFSQP3 propose Sequential Quadratic Programming (SQP) algorithms. Both assume that the criterion and the constraints are smooth, and may realize an approximation of the gradients if they are not provided.
• Solvopt handles non-linear non-smooth problems. Considering that the optimization problem is only C0, Solvopt seems to be the only suitable solver among the list we described. Yet, despite the potential derivative discontinuities of some constraints, the solver CFSQP converges towards satisfying solutions that are better than those found by Solvopt. Since SQP solvers give better performance when the gradients of the constraints and the criteria are given, they are approximated by finite difference, even if this approximation is time consuming. Hence, the solver used is CFSQP.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

1 Problem statement 
1.1 Three-step method
1.1.1 Task planning
1.1.2 Scheduling
1.1.3 Execution and reparation
1.2 Adaptation to robotics 
1.2.1 Generic definition of a robotic task
1.2.2 Planning
1.2.3 Scheduling
1.2.4 Execution and reparation
1.3 Binding Planning and Execution 
1.3.1 Gap between symbolic and numerical data
1.3.2 Task-function approach
1.3.3 Control-based approach
1.3.4 Influence of the task definition on the sequence composition
1.4 Reinsertion of the scheduling 
1.4.1 Unsuitability of the classic scheduling approaches
1.4.2 Considered approach
1.5 Conclusion 
2 Continuity of the Stack of Tasks 
2.1 Introduction 
2.1.1 Definition of the stack of tasks
2.1.2 Event-based discontinuities
2.2 Smooth control while swapping two tasks
2.2.1 Study of the continuity of the swap in the classic stack of tasks
2.2.2 The hierarchy of tasks as a limit of the weighing process: α weighting
2.2.3 Linear interpolation
2.2.4 Modeling the insertion/removal at the end of the stack as a swap
2.2.5 Modification of the stack-of-tasks scheme
2.2.6 From a discontinuity to another
2.3 Insertion/Removal at any level of the stack
2.3.1 Weighted pseudo-inverse approach
2.3.2 Insertion/removal mechanism
2.3.3 Illustrative example
2.3.4 Flaws of the method
2.4 Solving the stack of tasks using a single minimization algorithm
2.4.1 Cascade of α-weightings
2.4.2 “Single task » formulation J ˙q − E
2.5 Conclusion
3 Task overlapping using optimization 
3.1 Introduction
3.1.1 Illustrative example
3.1.2 From planning to execution
3.1.3 Task sequencing
3.2 Sequence of tasks
3.2.1 Definition of a task in a temporal network
3.2.2 Time dependencies
3.3 Optimization of a given sequence of tasks
3.3.1 General problem formulation
3.3.2 Parameters of the optimization
3.3.3 Definition of the constraints of the optimization problem
3.4 Handling Semi-Infinite Constraints
3.4.1 Definition
3.4.2 Specific methods
3.4.3 Defining a constraint handler for Semi-Infinite Constraints
3.4.4 Comparison of the constraint handlers
3.5 Optimization via simulation 
3.5.1 Solver used
3.5.2 Dialog solver – simulator
3.5.3 Simulation
3.5.4 Enhancements of the optimization process
3.6 Discussion
3.6.1 A posteriori evaluation of the constraints
3.6.2 Discontinuity due to discrete events
3.7 Conclusion 
4 Simulations and Experimentations 
4.1 Implementation of the inverse kinematic 
4.1.1 Presentation of the framework
4.1.2 Implementation of the smooth control
4.2 AMELIF, a simulator for haptic and dynamic rendering
4.2.1 Presentation
4.2.2 Basic libraries
4.2.3 Execution and simulation
4.2.4 Demonstrative scenario
4.3 Optimization of a task sequence 
4.3.1 Smoothing and optimization
4.3.2 Simulation of can grasping
4.4 Conclusion 
5 Adaptive control 
5.1 Adaptive control and task formalism
5.1.1 Enrichments and diversification of know-how
5.1.2 Human’s expectation and preference
5.2 Preliminary experiment 
5.2.1 Script
5.2.2 Results
5.3 Experiments with the HRP-2 robot 
5.3.1 Default task sequence
5.3.2 Adaptation of the tasks
5.3.3 Simulation
5.4 Conclusion
A Demonstration of the continuity of the weighted pseudo inverse method
A.1 Hypotheses
A.2 Proof
B Dynamic motions using equality and inequality constraints
B.1 Dynamic inverse using QP-based stack of tasks
B.1.1 Task function approach
B.1.2 Inverse dynamics
B.1.3 Inequalities in the loop
B.2 Experiments
B.2.1 Task-set for dynamic inverse
B.2.2 Results
C Résumé
C.1 Définition du problème
C.2 Continuité de la pile des tâches
C.3 Superposition des tâches par optimisation
C.4 Simulations et expérimentations
C.5 Contrôle adaptatif
Bibliography
Contributions

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *