{"id":147,"date":"2026-04-03T17:42:10","date_gmt":"2026-04-03T17:42:10","guid":{"rendered":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/?page_id=147"},"modified":"2026-11-13T21:23:50","modified_gmt":"2026-11-13T21:23:50","slug":"communications","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/system-summary\/communications\/","title":{"rendered":"Communications"},"content":{"rendered":"\n<p>Reliable communication between the payload and the command station is critical at a fire scene. However, SLAM data needs high bandwidth, and higher bandwidth usually costs reliability. It requires either transmitting at a higher frequency or spreading power over a wider range of frequencies, and both make the signal more susceptible to noise.<\/p>\n\n\n\n<p><strong>Our solution:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reliable radio: 915 MHz HaLow, which penetrates concrete and metal far better than 2.4 GHz.<\/strong><\/li>\n\n\n\n<li><strong>Efficient data: all ROS traffic stays local. Only one compact keyframe stream (thermal and radar) crosses the radio.<\/strong><\/li>\n\n\n\n<li><strong>Robust to dropouts: continuous link monitoring, no map loss on disconnect, and automatic reconnection.<\/strong><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading alignwide has-text-align-left\">915MHz vs. 2.4GHz Tests<\/h2>\n\n\n\n<p>A MATLAB simulation of a 50 ft channel at 1000 \u00b0C through five 6\u2033 concrete walls showed only 4.82% QPSK symbol error at 915 MHz, well under the 12.5% threshold. We then compared 2.4 GHz Doodle radios with 915 MHz Heltec radios in buildings A, B and C. The 915 MHz radios clearly performed better through concrete and metal, averaging 15 Mbps with a minimum of 5.59 Mbps, nearly three times our 2 Mbps target.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"542\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/MATLAB_HalTecSim-1-1024x542.png\" alt=\"\" class=\"wp-image-208\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/MATLAB_HalTecSim-1-1024x542.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/MATLAB_HalTecSim-1-300x159.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/MATLAB_HalTecSim-1-768x406.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/MATLAB_HalTecSim-1-1536x813.png 1536w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/MATLAB_HalTecSim-1.png 1911w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading alignwide\">Bandwidth Test in the ACFA<\/h2>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"985\" height=\"1024\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/CommsTest-985x1024.jpg\" alt=\"\" class=\"wp-image-213 size-full\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/CommsTest-985x1024.jpg 985w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/CommsTest-288x300.jpg 288w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/CommsTest-768x799.jpg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/CommsTest-1477x1536.jpg 1477w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/CommsTest.jpg 1600w\" sizes=\"auto, (max-width: 985px) 100vw, 985px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p>Physical tests were conducted using two different types of radios: A pair of 2.4GHz Doodle Radios and a router\/bridge pair of 915MHz. The command station was at the central pavilion, and the radio was taken into buildings A, B, and C. We then tested both the bandwidth (Mbps) and the packet loss (out of 10000 packets). <br><br>The results were clear. The 915 MHz radios greatly outperformed the Doodle radios through concrete and metal, averaging 15 Mbps. <\/p>\n\n\n\n<p><\/p>\n<\/div><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile\"><div class=\"wp-block-media-text__content\">\n<p>We tested the HaLow link in Building B, the most challenging building. The payload sent 20 Mbps of data for 11 minutes while being carried across two floors, and SLAM placed each second&#8217;s measured bandwidth on a 0.5 m map. The median bandwidth was 8.1 Mbps on Floor 1 and 6.6 Mbps on Floor 2. However, the link was not always steady: it dropped below 2 Mbps for 4 of 146 seconds on Floor 1 and 11 of 98 seconds on Floor 2. The weakest spot was at the top of the stairs, where the rate briefly fell to 0.2 Mbps. These results shaped our design: the payload sends only compact SLAM keyframes instead of full sensor streams, so the system keeps working even when the link weakens.<\/p>\n\n\n\n<p><\/p>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"483\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/11\/building_b_bandwidth_map-1024x483.png\" alt=\"\" class=\"wp-image-384 size-full\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/11\/building_b_bandwidth_map-1024x483.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/11\/building_b_bandwidth_map-300x142.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/11\/building_b_bandwidth_map-768x363.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/11\/building_b_bandwidth_map-1536x725.png 1536w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/11\/building_b_bandwidth_map-2048x967.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Radio Network Configuration<\/h2>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:48% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"856\" height=\"611\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/image_2026-04-04_003025878.png\" alt=\"\" class=\"wp-image-219 size-full\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/image_2026-04-04_003025878.png 856w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/image_2026-04-04_003025878-300x214.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/04\/image_2026-04-04_003025878-768x548.png 768w\" sizes=\"auto, (max-width: 856px) 100vw, 856px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p>The Heltec radios purchased are as follows: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>One Heltec HaLow Router configured as Access Point<\/li>\n\n\n\n<li>Two Heltec HaLow Dongles configured as bridges<\/li>\n<\/ul>\n\n\n\n<p>The dongles will go onto the payloads, while the router will interface with the command station laptop. The connection between the router and the dongles is predefined, allowing them to automatically establish a link once powered on.<\/p>\n\n\n\n<p>Data flows from the payload to the dongle, then over the HaLow link to the router, and finally to the command station. The screenshot shows the GUI used to configure the HaLow dongles as bridges.<\/p>\n<\/div><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading alignwide\">ROS2 Communication Middleware Selection<\/h2>\n\n\n\n<div class=\"wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-center\"><div class=\"wp-block-media-text__content\">\n<p>To support scalable C-SLAM, it is important to reduce unnecessary network traffic, especially in multi-agent scenarios.<\/p>\n\n\n\n<p>In ROS2 DDS, multicast is used for topic discovery and communication. This means data and discovery messages are broadcast to all nodes on the network, regardless of whether they are needed. <\/p>\n\n\n\n<p>In contrast, unicast communication sends data only to specific endpoints. This reduces unnecessary traffic and provides more efficient communication, making it more scalable.<\/p>\n\n\n\n<p>However, when transmitting large data streams, such as thermal images, the benefit of eliminating discovery overhead becomes less, as the data itself dominates the bandwidth usage.<br><\/p>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"180\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/05\/Screenshot-2026-05-02-at-2.41.56-PM-1024x180.png\" alt=\"\" class=\"wp-image-295 size-full\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/05\/Screenshot-2026-05-02-at-2.41.56-PM-1024x180.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/05\/Screenshot-2026-05-02-at-2.41.56-PM-300x53.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/05\/Screenshot-2026-05-02-at-2.41.56-PM-768x135.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/05\/Screenshot-2026-05-02-at-2.41.56-PM.png 1291w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"617\" height=\"122\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/05\/Screenshot-2026-05-02-at-1.23.45-PM-1.png\" alt=\"\" class=\"wp-image-294 size-full\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/05\/Screenshot-2026-05-02-at-1.23.45-PM-1.png 617w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-content\/uploads\/sites\/97\/2026\/05\/Screenshot-2026-05-02-at-1.23.45-PM-1-300x59.png 300w\" sizes=\"auto, (max-width: 617px) 100vw, 617px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p>Both the command station and the payload publish many ROS topics. With multicast-based discovery, all topics are broadcast across the network, which can create excessive discovery traffic and jam the network at startup, especially when running SLAM or visualization tools such as Foxglove.<\/p>\n\n\n\n<p>To address this, we use CycloneDDS together with the Zenoh bridge to enable controlled unicast communication. CycloneDDS serves as the ROS2 middleware, while the Zenoh bridge routes DDS traffic and allows us to block unnecessary topics using an allow list. This ensures that only selected topics are transmitted over the HaLow link, while all other topics remain local.<\/p>\n\n\n\n<p>The results, measured at the command station, show that outgoing traffic is reduced to nearly zero, while incoming traffic is significantly reduced.<\/p>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\n<p>Key Advantages of Zenoh bridge + CycloneDDS<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No unnecessary discovery traffic<\/li>\n\n\n\n<li>Block unwanted topics (allow list)<\/li>\n\n\n\n<li>Improves communication efficiency and scalability for C-SLAM<\/li>\n<\/ul>\n<\/div>\n<\/div><\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Reliable communication between the payload and the command station is critical at a fire scene. However, SLAM data needs high bandwidth, and higher bandwidth usually costs reliability. It requires either transmitting at a higher frequency or spreading power over a wider range of frequencies, and both make the signal more susceptible to noise. Our solution: [&hellip;]<\/p>\n","protected":false},"author":458,"featured_media":0,"parent":2,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-with-sidebar","meta":{"footnotes":""},"class_list":["post-147","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-json\/wp\/v2\/pages\/147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-json\/wp\/v2\/users\/458"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-json\/wp\/v2\/comments?post=147"}],"version-history":[{"count":14,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-json\/wp\/v2\/pages\/147\/revisions"}],"predecessor-version":[{"id":390,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-json\/wp\/v2\/pages\/147\/revisions\/390"}],"up":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-json\/wp\/v2\/pages\/2"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamf\/wp-json\/wp\/v2\/media?parent=147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}