{"id":17984,"date":"2024-05-04T17:57:51","date_gmt":"2024-05-04T17:57:51","guid":{"rendered":"https:\/\/sonia.etsmtl.ca\/?page_id=17984"},"modified":"2026-05-28T01:33:10","modified_gmt":"2026-05-28T01:33:10","slug":"software-team","status":"publish","type":"page","link":"https:\/\/sonia.etsmtl.ca\/fr\/software-team\/","title":{"rendered":"\u00c9quipe Logiciel"},"content":{"rendered":"<h2 class=\"wp-block-heading\">D\u00e9couvrez l'\u00e9quipe logiciel !<\/h2>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:38% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2024\/06\/teamLog-2024-1024x683.jpg\" alt=\"\" class=\"wp-image-18039 size-full\" srcset=\"https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2024\/06\/teamLog-2024-1024x683.jpg 1024w, https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2024\/06\/teamLog-2024-300x200.jpg 300w, https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2024\/06\/teamLog-2024-2000x1333.jpg 2000w, https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2024\/06\/teamLog-2024-scaled-18x12.jpg 18w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"ticss-da155e39 has-medium-font-size\">L\u2019\u00e9quipe logicielle est responsable du d\u00e9veloppement de tous les syst\u00e8mes informatiques embarqu\u00e9s \u00e0 bord des AUV. Cela inclut aussi bien les pilotes de bas niveau qui collectent les donn\u00e9es des capteurs que le syst\u00e8me de mission qui gouverne le comportement global du sous-marin.<\/p>\n\n\n\n<p class=\"ticss-da155e39 has-medium-font-size\">L\u2019un de nos projets cl\u00e9s est un syst\u00e8me d\u2019intelligence artificielle entra\u00een\u00e9 \u00e0 reconna\u00eetre et classifier les objets autour des sous-marins. Le contr\u00f4le du v\u00e9hicule est assur\u00e9 par une approche de type Model Predictive Control (MPC), qui utilise les donn\u00e9es des capteurs en temps r\u00e9el pour estimer la position du v\u00e9hicule et calculer ses mouvements. Ensemble, ces syst\u00e8mes sont essentiels pour garantir une navigation sous-marine fluide et fiable.<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"ticss-da155e39 has-medium-font-size\">L\u2019\u00e9cosyst\u00e8me logiciel est construit autour de ROS 2, qui sert de cadre de communication. Son architecture modulaire permet de d\u00e9velopper chaque syst\u00e8me de mani\u00e8re ind\u00e9pendante tout en assurant une int\u00e9gration fluide au sein d\u2019un syst\u00e8me unique et coh\u00e9rent.<\/p>\n\n\n\n<h1 class=\"wp-block-heading has-text-align-left\">Projets logiciels<\/h1>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"rt-container-fluid tlp-portfolio tlp-portfolio-container software\" id=\"tlp-portfolio-container-17090\" data-layout=\"layout1\"><div class=\"rt-row layout1\" data-title='Loading ...'>\r\n<div class=\"tlp-col-md-4 tlp-col-sm-6 tlp-col-xs-12 tlp-single-item tlp-grid-item tlp-equal-height\">\r\n\t<div class=\"tlp-portfolio-item\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"tlp-portfolio-thum tlp-item\">\r\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1154\" height=\"866\" src=\"https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2021\/05\/behavior-tree-2.png\" class=\"img-responsive\" alt=\"\" \/>\r\n\t\t\t<div class=\"tlp-overlay\">\r\n\t\t\t\t<p class=\"link-icon\">\r\n\t\t\t\t\t<a class=\"tlp-zoom\" href=\"https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2021\/05\/behavior-tree-2.png\" aria-label=\"BehaviorTree (missions)\"><i class=\"demo-icon icon-zoom-in\"><\/i><\/a>\r\n\t\t\t\t\t\r\n\t\t\t\t<\/p>\r\n\t\t\t<\/div>\r\n\t\t<\/div><div class=\"tlp-content\">\r\n                        <div class=\"tlp-content-holder\">\r\n                            <h3>BehaviorTree (missions)<\/h3>\r\n                            <div class=\"extra-features\"> <div class=\"tlp-portfolio-sd\">BehaviorTree est un outil qui aide S.O.N.I.A. \u00e0 cr\u00e9er des missions complexes pour les sous-marins sans programmer manuellement chacune d\u2019elles. BehaviorTree est utilis\u00e9 pour cr\u00e9er les arbres de comportement, les ex\u00e9cuter et les surveiller. Lors des tests, il est \u00e9galement possible de collaborer avec le sous-marin lors de l\u2019ex\u00e9cution de la mission. (Outils et\/ou langages utilis\u00e9s\u00a0: ROS 2, C++, Groot2)<\/div> <\/div>\r\n                        <\/div>\r\n                    <\/div>\t<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"tlp-col-md-4 tlp-col-sm-6 tlp-col-xs-12 tlp-single-item tlp-grid-item tlp-equal-height\">\r\n\t<div class=\"tlp-portfolio-item\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"tlp-portfolio-thum tlp-item\">\r\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"269\" src=\"https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2021\/06\/control-400x269.png\" class=\"img-responsive\" alt=\"\" \/>\r\n\t\t\t<div class=\"tlp-overlay\">\r\n\t\t\t\t<p class=\"link-icon\">\r\n\t\t\t\t\t<a class=\"tlp-zoom\" href=\"https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2021\/06\/control.png\" aria-label=\"Contr\u00f4le\"><i class=\"demo-icon icon-zoom-in\"><\/i><\/a>\r\n\t\t\t\t\t\r\n\t\t\t\t<\/p>\r\n\t\t\t<\/div>\r\n\t\t<\/div><div class=\"tlp-content\">\r\n                        <div class=\"tlp-content-holder\">\r\n                            <h3>Contr\u00f4le<\/h3>\r\n                            <div class=\"extra-features\"> <div class=\"tlp-portfolio-sd\">Le sous-marin autonome doit \u00eatre capable d'ex\u00e9cuter des trajectoires de suivi, d'alignement de vision, d'alignement acoustique et plus encore. Tout cela est possible gr\u00e2ce \u00e0 une chose... un bon contr\u00f4le ! Notre \u00e9quipe travaille sur un algorithme de contr\u00f4le modulaire pour contr\u00f4ler leurs prototypes. Nous utilisons \u00e9galement le contr\u00f4le pour d\u00e9placer manuellement le sous-marin dans son environnement. (Outils et\/ou langages utilis\u00e9s : Matlab, Simulink, ROS 2)<\/div> <\/div>\r\n                        <\/div>\r\n                    <\/div>\t<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"tlp-col-md-4 tlp-col-sm-6 tlp-col-xs-12 tlp-single-item tlp-grid-item tlp-equal-height\">\r\n\t<div class=\"tlp-portfolio-item\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"tlp-portfolio-thum tlp-item\">\r\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"269\" src=\"https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2021\/06\/architecture-400x269.png\" class=\"img-responsive\" alt=\"\" \/>\r\n\t\t\t<div class=\"tlp-overlay\">\r\n\t\t\t\t<p class=\"link-icon\">\r\n\t\t\t\t\t<a class=\"tlp-zoom\" href=\"https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2021\/06\/architecture.png\" aria-label=\"Providers et Procs\"><i class=\"demo-icon icon-zoom-in\"><\/i><\/a>\r\n\t\t\t\t\t\r\n\t\t\t\t<\/p>\r\n\t\t\t<\/div>\r\n\t\t<\/div><div class=\"tlp-content\">\r\n                        <div class=\"tlp-content-holder\">\r\n                            <h3>Providers et Procs<\/h3>\r\n                            <div class=\"extra-features\"> <div class=\"tlp-portfolio-sd\">Les \u00abproviders\u00bb sont les pilotes qui communiquent avec les modules S.O.N.I.A. bas niveaux, les capteurs et actionneurs sur les sous-marins en utilisant diff\u00e9rents protocoles. Les donn\u00e9es sont transmises vers les \u00abprocs\u00bb via ROS pour traiter les informations. Ces informations seront interpr\u00e9t\u00e9es et utilis\u00e9es par la t\u00e9l\u00e9m\u00e9trie, les autres n\u0153uds \u00abprocs\u00bb ou les missions. (Outils et\/ou langages utilis\u00e9s : ROS 2, C++, Python, TCP\/IP, Communication s\u00e9rie)<\/div> <\/div>\r\n                        <\/div>\r\n                    <\/div>\t<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"tlp-col-md-4 tlp-col-sm-6 tlp-col-xs-12 tlp-single-item tlp-grid-item tlp-equal-height\">\r\n\t<div class=\"tlp-portfolio-item\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"tlp-portfolio-thum tlp-item\">\r\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"269\" src=\"https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2021\/06\/simulation-400x269.png\" class=\"img-responsive\" alt=\"\" \/>\r\n\t\t\t<div class=\"tlp-overlay\">\r\n\t\t\t\t<p class=\"link-icon\">\r\n\t\t\t\t\t<a class=\"tlp-zoom\" href=\"https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2021\/06\/simulation.png\" aria-label=\"Simulation\"><i class=\"demo-icon icon-zoom-in\"><\/i><\/a>\r\n\t\t\t\t\t\r\n\t\t\t\t<\/p>\r\n\t\t\t<\/div>\r\n\t\t<\/div><div class=\"tlp-content\">\r\n                        <div class=\"tlp-content-holder\">\r\n                            <h3>Simulation<\/h3>\r\n                            <div class=\"extra-features\"> <div class=\"tlp-portfolio-sd\">L\u2019\u00e9quipe utilise l\u2019environnement de simulation MATLAB et Unreal Engine d\u00e9velopp\u00e9 par MathWorks pour la comp\u00e9tition RoboSub afin de tester des sc\u00e9narios de mission dans un environnement virtuel. Le monde sous-marin et les \u00e9l\u00e9ments de comp\u00e9tition sont personnalis\u00e9s et maintenus par le club afin de repr\u00e9senter fid\u00e8lement les conditions r\u00e9elles d\u2019op\u00e9ration. Cette simulation doit \u00eatre aussi pr\u00e9cise que possible, car nous souhaitons y tester la majorit\u00e9 de nos missions. (Outils et\/ou langages utilis\u00e9s : MATLAB, Unreal, ROS 2)<\/div> <\/div>\r\n                        <\/div>\r\n                    <\/div>\t<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"tlp-col-md-4 tlp-col-sm-6 tlp-col-xs-12 tlp-single-item tlp-grid-item tlp-equal-height\">\r\n\t<div class=\"tlp-portfolio-item\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"tlp-portfolio-thum tlp-item\">\r\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1255\" height=\"709\" src=\"https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2021\/06\/telemetrieRQT.png\" class=\"img-responsive\" alt=\"\" \/>\r\n\t\t\t<div class=\"tlp-overlay\">\r\n\t\t\t\t<p class=\"link-icon\">\r\n\t\t\t\t\t<a class=\"tlp-zoom\" href=\"https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2021\/06\/telemetrieRQT.png\" aria-label=\"T\u00e9l\u00e9m\u00e9trie\"><i class=\"demo-icon icon-zoom-in\"><\/i><\/a>\r\n\t\t\t\t\t\r\n\t\t\t\t<\/p>\r\n\t\t\t<\/div>\r\n\t\t<\/div><div class=\"tlp-content\">\r\n                        <div class=\"tlp-content-holder\">\r\n                            <h3>T\u00e9l\u00e9m\u00e9trie<\/h3>\r\n                            <div class=\"extra-features\"> <div class=\"tlp-portfolio-sd\">La t\u00e9l\u00e9m\u00e9trie est un cadre rqt bas\u00e9 sur Qt pour contr\u00f4ler et surveiller les sous-marins pendant nos tests. Il est portable et permet \u00e0 l'\u00e9quipe de se connecter \u00e0 partir de n'importe quel appareil de son choix. Il comprend un tas de modules dont nous avons besoin pour surveiller les sous-marins comme le module de propulseur, le module d'actionneurs, la visionneuse de cam\u00e9ra, etc. (Outils et\/ou langages utilis\u00e9s : python, ROS 2)<\/div> <\/div>\r\n                        <\/div>\r\n                    <\/div>\t<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"tlp-col-md-4 tlp-col-sm-6 tlp-col-xs-12 tlp-single-item tlp-grid-item tlp-equal-height\">\r\n\t<div class=\"tlp-portfolio-item\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"tlp-portfolio-thum tlp-item\">\r\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"517\" height=\"291\" src=\"https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2021\/06\/Vision-e1686597979484.jpg\" class=\"img-responsive\" alt=\"\" \/>\r\n\t\t\t<div class=\"tlp-overlay\">\r\n\t\t\t\t<p class=\"link-icon\">\r\n\t\t\t\t\t<a class=\"tlp-zoom\" href=\"https:\/\/sonia.etsmtl.ca\/wp-content\/uploads\/2021\/06\/Vision-e1686597979484.jpg\" aria-label=\"Vision\"><i class=\"demo-icon icon-zoom-in\"><\/i><\/a>\r\n\t\t\t\t\t\r\n\t\t\t\t<\/p>\r\n\t\t\t<\/div>\r\n\t\t<\/div><div class=\"tlp-content\">\r\n                        <div class=\"tlp-content-holder\">\r\n                            <h3>Vision<\/h3>\r\n                            <div class=\"extra-features\"> <div class=\"tlp-portfolio-sd\">La vision est une capacit\u00e9 indispensable pour un v\u00e9hicule autonome afin de d\u00e9tecter et reconna\u00eetre les objets qui l\u2019entourent ce qui lui permet ensuite d\u2019interagir avec son environnement. Pour effectuer cette t\u00e2che dans nos sous-marins, nous utilisons un mod\u00e8le de type r\u00e9seau neuronaux (YOLOv11). Ce mod\u00e8le doit \u00eatre \u00e0 la fois tr\u00e8s fiable, tr\u00e8s l\u00e9ger et utiliser peu de donn\u00e9es d'entra\u00eenement. C\u2019est pourquoi nous faisons le choix d\u2019entra\u00eener un mod\u00e8le tr\u00e8s sp\u00e9cialis\u00e9 pour l'environnement de la comp\u00e9tition RoboSub. Par ailleurs, toutes nos images sont \u00e9tiquet\u00e9es \u00e0 la main \u00e0 l\u2019aide de Labelbox, ce qui nous permet d'avoir des \u00e9tiquettes plus pr\u00e9cises. Ces donn\u00e9es nous permettent ensuite d'entra\u00eener puis de tester de mani\u00e8re fiable notre mod\u00e8le. (Outils et\/ou langages utilis\u00e9s : CUDA, Labelbox, OpenCV, Python, Pytorch, ROS 2, Ultralytics)<\/div> <\/div>\r\n                        <\/div>\r\n                    <\/div>\t<\/div>\r\n<\/div>\r\n\r\n<\/div><\/div>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Meet the software team! The software team is responsible for developing all computer-based systems onboard the AUVs. This includes everything from low-level drivers that collect data from sensors to the mission system that governs the submarine\u2019s overall behaviour. One of our key projects is an artificial intelligence system trained to recognize and classify objects around &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/sonia.etsmtl.ca\/fr\/portfolio\/vision\/\" class=\"more-link\">Read more<span class=\"screen-reader-text\"> &#8220;Vision&#8221;<\/span><\/a><\/p>","protected":false},"author":2,"featured_media":17985,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_themeisle_gutenberg_block_has_review":false,"inspiro_hide_title":false,"footnotes":""},"class_list":["post-17984","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/sonia.etsmtl.ca\/fr\/wp-json\/wp\/v2\/pages\/17984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sonia.etsmtl.ca\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sonia.etsmtl.ca\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sonia.etsmtl.ca\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sonia.etsmtl.ca\/fr\/wp-json\/wp\/v2\/comments?post=17984"}],"version-history":[{"count":0,"href":"https:\/\/sonia.etsmtl.ca\/fr\/wp-json\/wp\/v2\/pages\/17984\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sonia.etsmtl.ca\/fr\/wp-json\/wp\/v2\/media\/17985"}],"wp:attachment":[{"href":"https:\/\/sonia.etsmtl.ca\/fr\/wp-json\/wp\/v2\/media?parent=17984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}