Mémoire de maîtrise (2022)
Résumé
Au courant des deux dernières décennies, le développement logiciel en robotique, effectué par des chercheurs et des compagnies à travers le monde, a évolué, en commençant par des solutions sur mesure pour se diriger vers des cadres d'applications haut niveau libres. Ceci est devenu particulièrement utile pendant la dernière décennie, puisque les applications robotiques sont devenues de plus en plus complexes, en partie grâce à des avancées technologiques au niveau des capteurs, actionneurs, et des plateformes de calcul. Malheureusement, les cadres d'applications tels le Robot Operating System (ROS), qui utilisent les mécanismes publishersubscriber et remote procedure call (RPC), présentent plusieurs défis au niveau de la performance. En effet, ils effectuent l'ordonnancement haut niveau par-dessus l'ordonnanceur du système d'exploitation, ce qui peut mener à des inefficacités et des goulots d'étranglement au niveau de la performance. Les outils usuels de débogage fournissent une vision étroite de l'exécution de l'application; ils ne peuvent pas procurer une vue d'ensemble de l'exécution d'une application distribuée. Les techniques et outils de débogage et d'analyse de performance doivent donc être adaptés pour ce genre de cadre d'application. De plus, ces outils ne sont souvent pas compatibles avec les contraintes de systèmes temps réel : ils doivent avoir un surcoût d'exécution minime afin d'éviter d'affecter l'exécution d'une application et de fournir des résultats valides. Les méthodes existantes pour ROS 2 se concentrent sur des cas d'utilisation très spécifiques, ce qui les rend inadéquates pour l'analyse de performance générale, en plus d'avoir un grand surcoût d'exécution. Afin d'améliorer la littérature sur ce sujet, ce mémoire apporte deux contributions principales. Premièrement, il introduit un nouvel ensemble d'outils de traçage pour ROS 2. L'instrumentation polyvalente pour traçage proposée permet d'extraire de l'information sur l'exécution de ROS 2, et des expérimentations démontrent son bas surcoût d'exécution. De plus, des outils de traçage permettent de configurer le traçage à travers le système d'orchestration puissant de ROS 2, ce qui est primordial pour une utilisation efficace par des chercheurs et d'autres utilisateurs. Ensuite, la deuxième contribution est une analyse du flot de messages à travers un système distribué ROS 2. Elle permet d'extraire de l'information haut niveau sur l'exécution, ce qui aide à identifier des causes potentielles de problèmes de performance, en plus de permettre d'étudier l'ordonnanceur haut niveau de ROS 2. Elle inclut aussi un modèle abstrait de l'exécution d'une application ROS 2, qui peut être utilisépour d'autres analyses, et inclut une expérimentation qui démontre encore une fois le faible surcoût d'utilisation de la méthode. D'autres expérimentations sur des systèmes robotiques synthétiques et réels démontrent son potentiel dans un but d'optimisation de performance vi et, en général, dans le but de comprendre l'exécution d'un système ROS 2. Ces contributions pourraient donc être exploitées par d'autres chercheurs et développeurs afin d'étudier et d'améliorer la performance de ROS 2 et d'autres cadres d'application similaires.
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
