{"id":41530,"date":"2025-06-05T13:43:39","date_gmt":"2025-06-05T11:43:39","guid":{"rendered":"https:\/\/genesys-offenburg.de\/?post_type=smart-docs&#038;p=41530"},"modified":"2025-06-05T20:39:44","modified_gmt":"2025-06-05T18:39:44","slug":"ros-add-multiple-adma-systems","status":"publish","type":"smart-docs","link":"https:\/\/genesys-offenburg.de\/zh-hans\/support\/integrationsloesungen\/ros\/ros-add-multiple-adma-systems\/","title":{"rendered":"ROS &#8211; Add multiple ADMA Systems"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"h-introduction\">Introduction<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"406\" src=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/image-1024x406.jpg\" alt=\"\" class=\"wp-image-41532\" srcset=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/image-1024x406.jpg 1024w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/image-300x119.jpg 300w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/image-768x305.jpg 768w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/image-696x276.jpg 696w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/image-1068x424.jpg 1068w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/image.jpg 1253w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>This article outlines a ROS2 setup integrating two ADMA systems. The ROS driver ingests data from both ADMA units and publishes it across <a href=\"https:\/\/genesys-offenburg.de\/support\/integrationsloesungen\/ros\/ros-available-ros-topics\/\" target=\"_blank\" rel=\"noreferrer noopener\">all available ROS topics<\/a> provided by the driver.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-start-ros-node-for-adma-1\">Start ROS Node for ADMA 1<\/h2>\n\n\n\n<p>Adapt the ADMA 1 settings for your use. It is important to give both ADMA systems different IP addresses. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"534\" height=\"211\" src=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/ADMA_Config_ADMA1_marked.png\" alt=\"\" class=\"wp-image-41585\" srcset=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/ADMA_Config_ADMA1_marked.png 534w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/ADMA_Config_ADMA1_marked-300x119.png 300w\" sizes=\"(max-width: 534px) 100vw, 534px\" \/><\/figure>\n\n\n\n<p>Then adjust the Driver Config file to match the configuration settings of ADMA 1:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"645\" height=\"101\" src=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Configfile.png\" alt=\"\" class=\"wp-image-41553\" srcset=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Configfile.png 645w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Configfile-300x47.png 300w\" sizes=\"(max-width: 645px) 100vw, 645px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"483\" src=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Config_Port_ADMA1_marked-1024x483.png\" alt=\"\" class=\"wp-image-41557\" srcset=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Config_Port_ADMA1_marked-1024x483.png 1024w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Config_Port_ADMA1_marked-300x142.png 300w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Config_Port_ADMA1_marked-768x363.png 768w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Config_Port_ADMA1_marked-696x329.png 696w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Config_Port_ADMA1_marked-1068x504.png 1068w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Config_Port_ADMA1_marked.png 1163w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Now start the ADMA ROS driver with the namespace argument defined as <strong>adma1<\/strong>:<\/p>\n\n\n\n<div class=\"container_code\">\n    <button class=\"button_copy\">Copy<\/button>\n    <pre><code id=\"code_block\">mkdir -p ~\/ros2_ws\/data\/adma1\ncd ~\/ros2_ws\/data\/adma1\nros2 launch adma_ros2_driver adma_driver.launch.py adma_namespace:='adma1'<\/code><\/pre>\n<\/div>\n\n<script>\n    document.querySelectorAll('.button_copy').forEach(button => {\n        button.addEventListener('click', function() {\n            const code = this.parentElement.querySelector('pre code').innerText; \/\/ Selects the code inside <pre><code>\n            \n            navigator.clipboard.writeText(code).then(() => {\n                this.textContent = \"Copied!\";\n                setTimeout(() => this.textContent = \"Copy\", 2000);\n            }).catch(err => console.error(\"Copy failed\", err));\n        });\n    });\n<\/script>\n\n\n\n<div style=\"height:37px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-start-ros-node-for-adma-x\">Start ROS Node for ADMA X<\/h2>\n\n\n\n<p>Adapt the ADMA 2 settings for your use. It is important to give both ADMA systems different IP addresses. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"534\" height=\"211\" src=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/ADMA_Config_ADMA2_marked.png\" alt=\"\" class=\"wp-image-41588\" srcset=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/ADMA_Config_ADMA2_marked.png 534w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/ADMA_Config_ADMA2_marked-300x119.png 300w\" sizes=\"(max-width: 534px) 100vw, 534px\" \/><\/figure>\n\n\n\n<p>Then adjust the Driver Config file to match the configuration settings of ADMA 2:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"645\" height=\"101\" src=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Configfile.png\" alt=\"\" class=\"wp-image-41553\" srcset=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Configfile.png 645w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Configfile-300x47.png 300w\" sizes=\"(max-width: 645px) 100vw, 645px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"483\" src=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Config_Port_ADMA1_marked-1024x483.png\" alt=\"\" class=\"wp-image-41557\" srcset=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Config_Port_ADMA1_marked-1024x483.png 1024w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Config_Port_ADMA1_marked-300x142.png 300w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Config_Port_ADMA1_marked-768x363.png 768w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Config_Port_ADMA1_marked-696x329.png 696w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Config_Port_ADMA1_marked-1068x504.png 1068w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/Config_Port_ADMA1_marked.png 1163w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>After that start the ADMA ROS driver with the namespace argument defined as <strong>adma2<\/strong>:<\/p>\n\n\n\n<div class=\"container_code\">\n    <button class=\"button_copy\">Copy<\/button>\n    <pre><code id=\"code_block\">mkdir -p ~\/ros2_ws\/data\/adma1\ncd ~\/ros2_ws\/data\/adma1\nros2 launch adma_ros2_driver adma_driver.launch.py adma_namespace:='adma2'<\/code><\/pre>\n<\/div>\n\n<script>\n    document.querySelectorAll('.button_copy').forEach(button => {\n        button.addEventListener('click', function() {\n            const code = this.parentElement.querySelector('pre code').innerText; \/\/ Selects the code inside <pre><code>\n            \n            navigator.clipboard.writeText(code).then(() => {\n                this.textContent = \"Copied!\";\n                setTimeout(() => this.textContent = \"Copy\", 2000);\n            }).catch(err => console.error(\"Copy failed\", err));\n        });\n    });\n<\/script>\n\n\n\n<div style=\"height:37px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-data-output-validation\">Data Output Validation<\/h2>\n\n\n\n<p>When the driver got started multiple times, we can open up a new terminal and use the following command to check all published ADMA ROS Topics:<\/p>\n\n\n\n<div class=\"container_code\">\n    <button class=\"button_copy\">Copy<\/button>\n    <pre><code id=\"code_block\">ros2 topic list<\/code><\/pre>\n<\/div>\n\n<script>\n    document.querySelectorAll('.button_copy').forEach(button => {\n        button.addEventListener('click', function() {\n            const code = this.parentElement.querySelector('pre code').innerText; \/\/ Selects the code inside <pre><code>\n            \n            navigator.clipboard.writeText(code).then(() => {\n                this.textContent = \"Copied!\";\n                setTimeout(() => this.textContent = \"Copy\", 2000);\n            }).catch(err => console.error(\"Copy failed\", err));\n        });\n    });\n<\/script>\n\n\n\n<div style=\"height:37px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"648\" src=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/MultipleADMA_Result_marked-1024x648.jpg\" alt=\"\" class=\"wp-image-41599\" srcset=\"https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/MultipleADMA_Result_marked-1024x648.jpg 1024w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/MultipleADMA_Result_marked-300x190.jpg 300w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/MultipleADMA_Result_marked-768x486.jpg 768w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/MultipleADMA_Result_marked-1536x972.jpg 1536w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/MultipleADMA_Result_marked-696x440.jpg 696w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/MultipleADMA_Result_marked-1068x676.jpg 1068w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/MultipleADMA_Result_marked-1320x835.jpg 1320w, https:\/\/genesys-offenburg.de\/wp-content\/uploads\/2025\/06\/MultipleADMA_Result_marked.jpg 1855w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Introduction This article outlines a ROS2 setup integra [&hellip;]<\/p>\n","protected":false},"author":148,"featured_media":0,"template":"","meta":{"_acf_changed":false,"_links_to":"","_links_to_type":0,"footnotes":""},"smartdocs_category":[812,890],"class_list":{"0":"post-41530","1":"smart-docs","2":"type-smart-docs","3":"status-publish","5":"smartdocs_category-integrationsloesungen","6":"smartdocs_category-ros"},"acf":[],"_links":{"self":[{"href":"https:\/\/genesys-offenburg.de\/zh-hans\/wp-json\/wp\/v2\/smart-docs\/41530","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/genesys-offenburg.de\/zh-hans\/wp-json\/wp\/v2\/smart-docs"}],"about":[{"href":"https:\/\/genesys-offenburg.de\/zh-hans\/wp-json\/wp\/v2\/types\/smart-docs"}],"author":[{"embeddable":true,"href":"https:\/\/genesys-offenburg.de\/zh-hans\/wp-json\/wp\/v2\/users\/148"}],"version-history":[{"count":3,"href":"https:\/\/genesys-offenburg.de\/zh-hans\/wp-json\/wp\/v2\/smart-docs\/41530\/revisions"}],"predecessor-version":[{"id":41622,"href":"https:\/\/genesys-offenburg.de\/zh-hans\/wp-json\/wp\/v2\/smart-docs\/41530\/revisions\/41622"}],"wp:attachment":[{"href":"https:\/\/genesys-offenburg.de\/zh-hans\/wp-json\/wp\/v2\/media?parent=41530"}],"wp:term":[{"taxonomy":"smartdocs_category","embeddable":true,"href":"https:\/\/genesys-offenburg.de\/zh-hans\/wp-json\/wp\/v2\/smartdocs_category?post=41530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}