<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rsewiki.electro.dtu.dk/index.php?action=history&amp;feed=atom&amp;title=Ricbot_hardware</id>
	<title>Ricbot hardware - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://rsewiki.electro.dtu.dk/index.php?action=history&amp;feed=atom&amp;title=Ricbot_hardware"/>
	<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Ricbot_hardware&amp;action=history"/>
	<updated>2026-04-23T11:11:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Ricbot_hardware&amp;diff=8729&amp;oldid=prev</id>
		<title>Jca at 10:26, 20 April 2026</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Ricbot_hardware&amp;diff=8729&amp;oldid=prev"/>
		<updated>2026-04-20T10:26:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://rsewiki.electro.dtu.dk/index.php?title=Ricbot_hardware&amp;amp;diff=8729&amp;amp;oldid=8724&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Jca</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Ricbot_hardware&amp;diff=8724&amp;oldid=prev</id>
		<title>Jca at 10:22, 20 April 2026</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Ricbot_hardware&amp;diff=8724&amp;oldid=prev"/>
		<updated>2026-04-20T10:22:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:22, 20 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l83&quot;&gt;Line 83:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 83:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See more details here [[Regbot firmware]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See more details here [[Regbot firmware]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Intel Librealsense ===&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Installing support for Intel librealsense.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; sudo apt install libssl-dev&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; sudo apt-get install freeglut3-dev&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; sudo apt-get install xorg-dev&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; cd git&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; git clone https://github.com/IntelRealSense/librealsense.git&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; cd librealsense&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; mkdir build&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; cd build&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; cmake ..&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;I also needed to install libusb-1.0-0-dev&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; sudo apt install libusb-1.0-0-dev&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This path was not included in the CMakeLists.txt, so I added this line at the beginning of the CMakeLists.txt:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; cd librealsense&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; nano CMakeLists.txt&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;add&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; include_directories( /usr/include/libusb-1.0/ )&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;like here:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; cmake_minimum_required(VERSION 3.10)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; set( LRS_TARGET realsense2 )&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; project( ${LRS_TARGET} LANGUAGES CXX C )&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; # Allow librealsense2 and all of the nested project to include the main repo folder&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; set(REPO_ROOT ${CMAKE_CURRENT_SOURCE_DIR})&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; include_directories(${REPO_ROOT})&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &#039;&#039;&#039;include_directories( /usr/include/libusb-1.0/ )&#039;&#039;&#039;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; include(CMake/lrs_options.cmake)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; include(CMake/connectivity_check.cmake)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; ...&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== ROS2 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== ROS2 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jca</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Ricbot_hardware&amp;diff=8717&amp;oldid=prev</id>
		<title>Jca at 10:16, 20 April 2026</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Ricbot_hardware&amp;diff=8717&amp;oldid=prev"/>
		<updated>2026-04-20T10:16:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:16, 20 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Back to [[Ricbot]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ricbot hardware &lt;/del&gt;==  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Hardware &lt;/ins&gt;==  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tentative layout:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tentative layout:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l54&quot;&gt;Line 54:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 56:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  4 (yellow) 6              LS_4  (pin 26) Alive LED&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  4 (yellow) 6              LS_4  (pin 26) Alive LED&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Intel RealSense ===&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Install &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; sudo apt-get install automake libtool libusb-1.0-0-dev libx11-dev xorg-dev libglu1-mesa-dev&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; sudo apt install libssl-dev&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;There is a script to download and compile, e.g. on Raspberry Pi here:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https://github.com/realsenseai/librealsense/blob/master/doc/libuvc_installation.md&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;To install pyrealsense2 at the same time as librealsense, line 46 of the &#039;libuvc_installation.sh&#039; build script should be changed from this:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; cmake ../ -DFORCE_LIBUVC=true -DCMAKE_BUILD_TYPE=release&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to this:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; cmake ../ -DFORCE_LIBUVC=true -DCMAKE_BUILD_TYPE=release -DBUILD_PYTHON_BINDINGS:bool=true&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;From MartyG-RealSense on a pose here: https://github.com/realsenseai/librealsense/issues/13373&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==== Library and examples ====&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This is an alternative to the script above.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; cd ~/git&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; git clone https://github.com/IntelRealSense/librealsense.git&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; cd librealsense&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; mkdir build&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; cd build&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; cmake ..&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; make -j3&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; sudo make install&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Copy udev rules to udev&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; cd ~/git/librealsense/config/99-realsense*.rules /etc/udev/rules.d/&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; udevadm control --reload-rules&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;All example commands start with rs-, e.g.:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; rs-capture&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; rs-pointcloud&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Teensy interface ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Teensy interface ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jca</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Ricbot_hardware&amp;diff=8715&amp;oldid=prev</id>
		<title>Jca: Created page with &quot; == Ricbot hardware ==   Tentative layout:   500px  Length is 1m, free height 25cm, width 65cm.  == Installation notes ==  === Camera position ===   500px  Forward-looking camera: Intel RealSense D455, FOV 87 x 58 deg, range 0.6 to 6m.  Down-looking camera: Intel RealSense D435, FOV: 87 x 58 deg, range 0.3 to 3m.  === Cabling ===   500px  DRI0042: https://wiki.dfrobot.com/15A_Sin...&quot;</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Ricbot_hardware&amp;diff=8715&amp;oldid=prev"/>
		<updated>2026-04-20T07:31:17Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; == Ricbot hardware ==   Tentative layout:  &lt;a href=&quot;/index.php?title=File:Ricbot_on-shape.png&quot; title=&quot;File:Ricbot on-shape.png&quot;&gt; 500px&lt;/a&gt;  Length is 1m, free height 25cm, width 65cm.  == Installation notes ==  === Camera position ===  &lt;a href=&quot;/index.php?title=File:Ric-camera-position.png&quot; title=&quot;File:Ric-camera-position.png&quot;&gt; 500px&lt;/a&gt;  Forward-looking camera: Intel RealSense D455, FOV 87 x 58 deg, range 0.6 to 6m.  Down-looking camera: Intel RealSense D435, FOV: 87 x 58 deg, range 0.3 to 3m.  === Cabling ===  &lt;a href=&quot;/index.php?title=File:Ric_cabling.png&quot; title=&quot;File:Ric cabling.png&quot;&gt; 500px&lt;/a&gt;  DRI0042: https://wiki.dfrobot.com/15A_Sin...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
== Ricbot hardware == &lt;br /&gt;
&lt;br /&gt;
Tentative layout:&lt;br /&gt;
&lt;br /&gt;
[[file: ricbot_on-shape.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
Length is 1m, free height 25cm, width 65cm.&lt;br /&gt;
&lt;br /&gt;
== Installation notes ==&lt;br /&gt;
&lt;br /&gt;
=== Camera position ===&lt;br /&gt;
&lt;br /&gt;
[[file: ric-camera-position.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
Forward-looking camera: Intel RealSense D455, FOV 87 x 58 deg, range 0.6 to 6m.&lt;br /&gt;
&lt;br /&gt;
Down-looking camera: Intel RealSense D435, FOV: 87 x 58 deg, range 0.3 to 3m.&lt;br /&gt;
&lt;br /&gt;
=== Cabling ===&lt;br /&gt;
&lt;br /&gt;
[[file: ric_cabling.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
DRI0042: https://wiki.dfrobot.com/15A_Single_DC_Motor_Driver_SKU__DRI0042&lt;br /&gt;
&lt;br /&gt;
Regbot 6.3: [[Regbot hardware board]]&lt;br /&gt;
&lt;br /&gt;
[[RICBOT Power on-off board]] PCB&lt;br /&gt;
&lt;br /&gt;
==== DRI0042 to Regbot 4-pin PWM ====&lt;br /&gt;
&lt;br /&gt;
 DRI              Regbot PWM    Software&lt;br /&gt;
 7 GND   (black)  1 GND         --&lt;br /&gt;
 4 PWM   (red)    2 in1         PIN_xxxx_DIR&lt;br /&gt;
 5 IN1   (white)  3 in2         PIN_xxxx_PWM&lt;br /&gt;
 6 IN2   (yellow) 4 fault       PIN_xxxx_FAULT&lt;br /&gt;
 3 5V out &lt;br /&gt;
&lt;br /&gt;
 DRI0042 control values&lt;br /&gt;
 IN1 	IN2 	PWM 	OUT1, OUT2 Motor Behavior&lt;br /&gt;
 0 	0 	x 	Stop&lt;br /&gt;
 1 	1 	x 	Vacant (relax)&lt;br /&gt;
 1 	0 	1 	Forward 100%&lt;br /&gt;
 0 	1 	1 	Reverse 100%&lt;br /&gt;
 1 	0 	PWM 	Forward at PWM speed&lt;br /&gt;
 0 	1 	PWM 	Reverse at PWM speed&lt;br /&gt;
&lt;br /&gt;
==== Power control ====&lt;br /&gt;
&lt;br /&gt;
 Pin        IDC10-pin      Software       Function&lt;br /&gt;
 1 (black)  1              --             GND&lt;br /&gt;
 2 (red)    3              LS_1  (pin 27) power off (when low)  -- pt not working (wrong mod on power board)&lt;br /&gt;
 3 (white)  4              LS_0  (A6)     battery voltage  (39k/4.7k)&lt;br /&gt;
 4 (yellow) 6              LS_4  (pin 26) Alive LED&lt;br /&gt;
&lt;br /&gt;
=== Intel RealSense ===&lt;br /&gt;
&lt;br /&gt;
Install &lt;br /&gt;
 sudo apt-get install automake libtool libusb-1.0-0-dev libx11-dev xorg-dev libglu1-mesa-dev&lt;br /&gt;
 sudo apt install libssl-dev&lt;br /&gt;
&lt;br /&gt;
There is a script to download and compile, e.g. on Raspberry Pi here:&lt;br /&gt;
https://github.com/realsenseai/librealsense/blob/master/doc/libuvc_installation.md&lt;br /&gt;
&lt;br /&gt;
To install pyrealsense2 at the same time as librealsense, line 46 of the &amp;#039;libuvc_installation.sh&amp;#039; build script should be changed from this:&lt;br /&gt;
 cmake ../ -DFORCE_LIBUVC=true -DCMAKE_BUILD_TYPE=release&lt;br /&gt;
to this:&lt;br /&gt;
 cmake ../ -DFORCE_LIBUVC=true -DCMAKE_BUILD_TYPE=release -DBUILD_PYTHON_BINDINGS:bool=true&lt;br /&gt;
From MartyG-RealSense on a pose here: https://github.com/realsenseai/librealsense/issues/13373&lt;br /&gt;
&lt;br /&gt;
==== Library and examples ====&lt;br /&gt;
&lt;br /&gt;
This is an alternative to the script above.&lt;br /&gt;
&lt;br /&gt;
 cd ~/git&lt;br /&gt;
 git clone https://github.com/IntelRealSense/librealsense.git&lt;br /&gt;
 cd librealsense&lt;br /&gt;
 mkdir build&lt;br /&gt;
 cd build&lt;br /&gt;
 cmake ..&lt;br /&gt;
 make -j3&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Copy udev rules to udev&lt;br /&gt;
&lt;br /&gt;
 cd ~/git/librealsense/config/99-realsense*.rules /etc/udev/rules.d/&lt;br /&gt;
 udevadm control --reload-rules&lt;br /&gt;
&lt;br /&gt;
All example commands start with rs-, e.g.:&lt;br /&gt;
 rs-capture&lt;br /&gt;
 rs-pointcloud&lt;br /&gt;
&lt;br /&gt;
=== Teensy interface ===&lt;br /&gt;
&lt;br /&gt;
The Teensy interface implements a bridge to MQTT, a motor controller (velocity and turn rate), and a remote control.&lt;br /&gt;
&lt;br /&gt;
The configuration is in&lt;br /&gt;
 /home/local/svn/teensy_interface/build/robot.ini&lt;br /&gt;
&lt;br /&gt;
See also [[Robobot teensy interface]].&lt;br /&gt;
&lt;br /&gt;
=== Start at boot ===&lt;br /&gt;
&lt;br /&gt;
See the similar start setup in [[https://rsewiki.electro.dtu.dk/index.php?title=Enable_autostart#Autostart]].&lt;br /&gt;
&lt;br /&gt;
Comment out (or delete) the start of the camera streamer (not compatible with RealSense 3D cam)&lt;br /&gt;
&lt;br /&gt;
=== Install software on Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
Perform the same installation as [[Robobot install on Raspberry]], except for the serial port configuration (which should not be needed).&lt;br /&gt;
&lt;br /&gt;
=== Teensy software ===&lt;br /&gt;
&lt;br /&gt;
This is the Regbot software, configured to match the Ricbot.&lt;br /&gt;
&lt;br /&gt;
See more details here [[Regbot firmware]].&lt;br /&gt;
&lt;br /&gt;
=== Intel Librealsense ===&lt;br /&gt;
&lt;br /&gt;
Installing support for Intel librealsense.&lt;br /&gt;
&lt;br /&gt;
 sudo apt install libssl-dev&lt;br /&gt;
 sudo apt-get install freeglut3-dev&lt;br /&gt;
 sudo apt-get install xorg-dev&lt;br /&gt;
 cd git&lt;br /&gt;
 git clone https://github.com/IntelRealSense/librealsense.git&lt;br /&gt;
 cd librealsense&lt;br /&gt;
 mkdir build&lt;br /&gt;
 cd build&lt;br /&gt;
 cmake ..&lt;br /&gt;
&lt;br /&gt;
I also needed to install libusb-1.0-0-dev&lt;br /&gt;
 sudo apt install libusb-1.0-0-dev&lt;br /&gt;
This path was not included in the CMakeLists.txt, so I added this line at the beginning of the CMakeLists.txt:&lt;br /&gt;
&lt;br /&gt;
 cd librealsense&lt;br /&gt;
 nano CMakeLists.txt&lt;br /&gt;
add&lt;br /&gt;
 include_directories( /usr/include/libusb-1.0/ )&lt;br /&gt;
like here:&lt;br /&gt;
 cmake_minimum_required(VERSION 3.10)&lt;br /&gt;
 &lt;br /&gt;
 set( LRS_TARGET realsense2 )&lt;br /&gt;
 project( ${LRS_TARGET} LANGUAGES CXX C )&lt;br /&gt;
 &lt;br /&gt;
 # Allow librealsense2 and all of the nested project to include the main repo folder&lt;br /&gt;
 set(REPO_ROOT ${CMAKE_CURRENT_SOURCE_DIR})&lt;br /&gt;
 include_directories(${REPO_ROOT})&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;include_directories( /usr/include/libusb-1.0/ )&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 include(CMake/lrs_options.cmake)&lt;br /&gt;
 include(CMake/connectivity_check.cmake)&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== ROS2 ==&lt;br /&gt;
&lt;br /&gt;
From https://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debs.html&lt;br /&gt;
&lt;br /&gt;
Install &lt;br /&gt;
 export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F &amp;quot;tag_name&amp;quot; | awk -F\&amp;quot; &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
 curl -L -o /tmp/ros2-apt-source.deb &amp;quot;https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release &amp;amp;&amp;amp; echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 sudo dpkg -i /tmp/ros2-apt-source.deb&lt;br /&gt;
&lt;br /&gt;
 sudo apt update &amp;amp;&amp;amp; sudo apt install ros-dev-tools&lt;br /&gt;
&lt;br /&gt;
Install full ROS2 Jazzy&lt;br /&gt;
&lt;br /&gt;
 sudo apt install ros-jazzy-desktop&lt;br /&gt;
&lt;br /&gt;
Start in this ROS2 environment, now and in new terminals:&lt;br /&gt;
 source /opt/ros/jazzy/setup.bash&lt;br /&gt;
 echo &amp;quot;source /opt/ros/jazzy/setup.bash&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 export ROS_DOMAIN_ID=0&lt;br /&gt;
 echo &amp;quot;export ROS_DOMAIN_ID=0&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Install ROS QT GUI stuff&lt;br /&gt;
 sudo apt install &amp;#039;~nros-jazzy-rqt*&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Create workspace ===&lt;br /&gt;
&lt;br /&gt;
From https://docs.ros.org/en/jazzy/Tutorials/Beginner-Client-Libraries/Colcon-Tutorial.html &lt;br /&gt;
&lt;br /&gt;
Install colcon&lt;br /&gt;
 sudo apt install python3-colcon-common-extensions&lt;br /&gt;
&lt;br /&gt;
Create workspace directory&lt;br /&gt;
 mkdir -p ~/ros2_ws/src&lt;br /&gt;
 cd ~/ros2_ws&lt;br /&gt;
&lt;br /&gt;
From within this directory clone (any) standard package&lt;br /&gt;
&lt;br /&gt;
e.g. tutorial examples&lt;br /&gt;
 git clone https://github.com/ros2/examples src/examples -b jazzy&lt;br /&gt;
&lt;br /&gt;
Build the examples; this is memory and CPU-hungry, so the option &amp;#039;&amp;#039;--executor sequential&amp;#039;&amp;#039; may come in handy, especially on a Raspberry Pi, but it will take significantly longer.&lt;br /&gt;
 colcon build --symlink-install --executor sequential&lt;br /&gt;
&lt;br /&gt;
Allow use of colcon_cd&lt;br /&gt;
 echo &amp;quot;source /usr/share/colcon_cd/function/colcon_cd.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;export _colcon_cd_root=/opt/ros/jazzy/&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
To use the &amp;#039;&amp;#039;mixin&amp;#039;&amp;#039; shortcut for some colcon options, add:&lt;br /&gt;
 colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml&lt;br /&gt;
 colcon mixin update default&lt;br /&gt;
&lt;br /&gt;
=== MQTT client ===&lt;br /&gt;
&lt;br /&gt;
The un-modified &amp;#039;&amp;#039;mqtt_client&amp;#039;&amp;#039; package can act as a bridge between the &amp;#039;&amp;#039;teensy_interface&amp;#039;&amp;#039; and the ROS domain.&lt;br /&gt;
&lt;br /&gt;
From MQTT to ROS, the translation is using the primitive ROS type &amp;#039;&amp;#039;string&amp;#039;&amp;#039; for the parameters of the &amp;#039;&amp;#039;teensy_interface&amp;#039;&amp;#039; messages. &lt;br /&gt;
The MQTT topic name is translated to ROS topic names as specified in the parameter file below.&lt;br /&gt;
&lt;br /&gt;
From ROS to Teensy, the message should be published on a topic that matches the desired destination.&lt;br /&gt;
Topics for command messages to the &amp;#039;&amp;#039;teensy_interface&amp;#039;&amp;#039;:&lt;br /&gt;
* MQTT topic ricbot/cmd/T0 for the Teensy, the message is the string to send to the Teensy.&lt;br /&gt;
* MQTT topic ricbot/cmd/shutdown to schedule a shutdown of the RICBOT (power off), something like 20 seconds after the message.&lt;br /&gt;
* MQTT topic ricbot/cmd/ti for messages to the teensy_interface, the message is a string.&lt;br /&gt;
&lt;br /&gt;
==== Install ====&lt;br /&gt;
&lt;br /&gt;
The robot&amp;#039;s interface is via MQTT. Install the MQTT ROS client&lt;br /&gt;
 sudo apt install ros-jazzy-mqtt-client&lt;br /&gt;
&lt;br /&gt;
Or directly as source&lt;br /&gt;
 cd src&lt;br /&gt;
 git clone https://github.com/ika-rwth-aachen/mqtt_client&lt;br /&gt;
 &lt;br /&gt;
Compile:&lt;br /&gt;
 cd ~/ros2_ws&lt;br /&gt;
 colcon build&lt;br /&gt;
&lt;br /&gt;
==== Run MQTT_client ====&lt;br /&gt;
&lt;br /&gt;
To start the &amp;#039;&amp;#039;mqtt_client&amp;#039;&amp;#039;:&lt;br /&gt;
 cd ros2_ws/src/mqtt_client/mqtt_client/config&lt;br /&gt;
 ros2 launch mqtt_client standalone.launch.xml params_file:=&amp;quot;params.teensy.yaml&amp;quot;&lt;br /&gt;
The parameter file should be extended with more &amp;#039;&amp;#039;mqtt2ros&amp;#039;&amp;#039; topics as needed.&lt;br /&gt;
&lt;br /&gt;
This will launch the un-modified &amp;#039;&amp;#039;mqtt_client&amp;#039;&amp;#039; node with specific bridge parameters as specified in &amp;#039;&amp;#039;params.teensy.yaml&amp;#039;&amp;#039;:&lt;br /&gt;
 /**/*:&lt;br /&gt;
  ros__parameters:&lt;br /&gt;
    broker:&lt;br /&gt;
      host: localhost&lt;br /&gt;
      port: 1883&lt;br /&gt;
      tls:&lt;br /&gt;
        enabled: false&lt;br /&gt;
    client:&lt;br /&gt;
      id: ros&lt;br /&gt;
      clean_session: true&lt;br /&gt;
      keep_alive_interval: 20.0&lt;br /&gt;
    bridge:&lt;br /&gt;
      ros2mqtt:&lt;br /&gt;
        ros_topics: &lt;br /&gt;
          - /teensy/cmd/T0&lt;br /&gt;
          - /teensy/cmd/shutdown&lt;br /&gt;
          - /teensy/cmd/ti&lt;br /&gt;
        /teensy/cmd/T0:&lt;br /&gt;
          mqtt_topic: ricbot/cmd/T0&lt;br /&gt;
          primitive: true&lt;br /&gt;
          inject_timestamp: false&lt;br /&gt;
        /teensy/cmd/shutdown:&lt;br /&gt;
          mqtt_topic: ricbot/cmd/shutdown&lt;br /&gt;
          primitive: true&lt;br /&gt;
          inject_timestamp: false&lt;br /&gt;
        /teensy/cmd/ti:&lt;br /&gt;
          mqtt_topic: ricbot/cmd/ti&lt;br /&gt;
          primitive: true&lt;br /&gt;
          inject_timestamp: false&lt;br /&gt;
      mqtt2ros:&lt;br /&gt;
        # Needs to be expanded to relevant topics&lt;br /&gt;
        mqtt_topics: &lt;br /&gt;
          - ricbot/data/T0/info&lt;br /&gt;
          - ricbot/data/T0/hbt&lt;br /&gt;
        ricbot/data/T0/info:&lt;br /&gt;
          ros_topic: /teensy/T0/info&lt;br /&gt;
          primitive: true&lt;br /&gt;
        ricbot/data/T0/hbt:&lt;br /&gt;
          ros_topic: /teensy/T0/hbt&lt;br /&gt;
          primitive: true&lt;br /&gt;
&lt;br /&gt;
=== Test interface ===&lt;br /&gt;
&lt;br /&gt;
Start the &amp;#039;&amp;#039;teensy_interface&amp;#039;&amp;#039; with the right ini-file:&lt;br /&gt;
 cd ~/svn/robobot/teensy_interface/build&lt;br /&gt;
 ./teensy_interface -z ricbot.ini&lt;br /&gt;
&lt;br /&gt;
This should respond with something like:&lt;br /&gt;
 $ ./teensy_interface -z ricbot.ini&lt;br /&gt;
 # UService:: created directory log_20260118_083120.745/&lt;br /&gt;
 # UMqtt:: connection to MQTT broker on tcp://localhost:1883 established&lt;br /&gt;
 # UMqttIn:: connection to MQTT broker on tcp://localhost:1883 established&lt;br /&gt;
 # STeensy:: opening to USB /dev/ttyACM0&lt;br /&gt;
 # SRobot:: (t0) found IP 0: eno1 192.168.2.157&lt;br /&gt;
 # STeensy:: just connected &lt;br /&gt;
 # UService:: setup of Teensy 0 modules finished OK.&lt;br /&gt;
 # Type quit to stop, or &amp;#039;h&amp;#039; for help&lt;br /&gt;
&lt;br /&gt;
Start the &amp;#039;&amp;#039;mqtt_client&amp;#039;&amp;#039; in ROS&lt;br /&gt;
 cd ~/svn/ricbot/ros_config&lt;br /&gt;
 ros2 launch mqtt_client standalone.launch.xml params_file:=&amp;quot;params.teensy.yaml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== From MQTT to ROS ====&lt;br /&gt;
&lt;br /&gt;
There should now be &amp;#039;&amp;#039;hbt&amp;#039;&amp;#039; (heartbeat) message on the ROS side:&lt;br /&gt;
 ros2 topic echo /teensy/T0/hbt&lt;br /&gt;
&lt;br /&gt;
This should give something like:&lt;br /&gt;
 data: &amp;#039;1768722645.7425 1738.4885 93 1748 4.85 0 9 18.1 0 0&lt;br /&gt;
   &amp;#039;&lt;br /&gt;
 ---&lt;br /&gt;
 data: &amp;#039;1768722646.2426 1738.9885 93 1748 4.85 0 9 18.0 0 0&lt;br /&gt;
   &amp;#039;&lt;br /&gt;
 ---&lt;br /&gt;
 data: &amp;#039;1768722646.7431 1739.4885 93 1748 4.85 0 9 18.0 0 0&lt;br /&gt;
   &amp;#039;&lt;br /&gt;
 ---&lt;br /&gt;
&lt;br /&gt;
The data is: timestamp (host), timestamp Teensy, Teensy ID, version, battery voltage, ... (the rest depend on the platform).&lt;br /&gt;
&lt;br /&gt;
==== From ROS to MQTT ====&lt;br /&gt;
&lt;br /&gt;
e.g. make the robot drive with velocity 0.25m/s and turn 0.1 rad/s CCV, followed by stop:&lt;br /&gt;
&lt;br /&gt;
 ros2 topic pub /ricbot/cmd/ti std_msgs/String &amp;#039;data: rc 0.25 0.1&amp;#039;&lt;br /&gt;
 ros2 topic pub /ricbot/cmd/ti std_msgs/String &amp;#039;data: rc 0 0&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Or send a request to publish gyro data every 12ms:&lt;br /&gt;
&lt;br /&gt;
 ros2 topic pub /ricbot/cmd/T0 std_msgs/String &amp;#039;data: sub gyro 12&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== (RIC_pkg) HW sensor translate package ==&lt;br /&gt;
&lt;br /&gt;
Create the package in the workspace.&lt;br /&gt;
&lt;br /&gt;
 cd ~/ros2_ws/src&lt;br /&gt;
 ros2 pkg create --build-type ament_cmake --license MIT --node-name ric_node ric_pkg&lt;br /&gt;
&lt;br /&gt;
Add dependencies to other packages to CMakeLists.txt.&lt;br /&gt;
Add to the list of &amp;#039;&amp;#039;find_package&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 find_package(rclcpp REQUIRED)&lt;br /&gt;
 find_package(std_msgs REQUIRED)&lt;br /&gt;
 find_package(nav_msgs REQUIRED)&lt;br /&gt;
 find_package(sensor_msgs REQUIRED)&lt;br /&gt;
 find_package(geometry_msgs REQUIRED)&lt;br /&gt;
&lt;br /&gt;
Make target dependencies available in the include path (and elsewhere as needed).&lt;br /&gt;
&lt;br /&gt;
Add this after the &amp;#039;&amp;#039;add_executable&amp;#039;&amp;#039;&lt;br /&gt;
 ament_target_dependencies(talker rclcpp std_msgs nav_msgs sensor_msgs geometry_msgs)&lt;br /&gt;
&lt;br /&gt;
To the package description &amp;#039;&amp;#039;package.xml&amp;#039;&amp;#039; add dependencies:&lt;br /&gt;
&lt;br /&gt;
Add just after the &amp;#039;&amp;#039;buildtool_depend&amp;#039;&amp;#039; section:&lt;br /&gt;
 &amp;lt;depend&amp;gt;rclcpp&amp;lt;/depend&amp;gt;&lt;br /&gt;
 &amp;lt;depend&amp;gt;std_msgs&amp;lt;/depend&amp;gt;&lt;br /&gt;
 &amp;lt;depend&amp;gt;nav_msgs&amp;lt;/depend&amp;gt;&lt;br /&gt;
 &amp;lt;depend&amp;gt;sensor_msgs&amp;lt;/depend&amp;gt;&lt;br /&gt;
 &amp;lt;depend&amp;gt;geometry_msgs&amp;lt;/depend&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== RIC_node code ===&lt;br /&gt;
&lt;br /&gt;
The code in &amp;#039;&amp;#039;ris_node.cpp&amp;#039;&amp;#039; is pt this (not functional yet):&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;cstdio&amp;gt;&lt;br /&gt;
 #include &amp;lt;chrono&amp;gt;&lt;br /&gt;
 #include &amp;lt;memory&amp;gt;&lt;br /&gt;
 #include &amp;lt;string&amp;gt; &lt;br /&gt;
 &lt;br /&gt;
 #include &amp;quot;rclcpp/rclcpp.hpp&amp;quot;&lt;br /&gt;
 #include &amp;quot;std_msgs/msg/string.hpp&amp;quot;&lt;br /&gt;
 #include &amp;quot;std_msgs/msg/int32.hpp&amp;quot;&lt;br /&gt;
 #include &amp;lt;nav_msgs/msg/odometry.hpp&amp;gt;&lt;br /&gt;
 #include &amp;quot;geometry_msgs/msg/twist.hpp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 class RIC_translator : public rclcpp::Node&lt;br /&gt;
 {&lt;br /&gt;
 public:&lt;br /&gt;
  RIC_translator()&lt;br /&gt;
  : Node(&amp;quot;minimal_publisher&amp;quot;), count(0)&lt;br /&gt;
  {&lt;br /&gt;
    publisher_ = this-&amp;gt;create_publisher&amp;lt;std_msgs::msg::String&amp;gt;(&amp;quot;/ric/hbt&amp;quot;, 10);&lt;br /&gt;
    //&lt;br /&gt;
    // Heartbeat&lt;br /&gt;
    auto topic_callback =&lt;br /&gt;
    [this](std_msgs::msg::String::UniquePtr msg) -&amp;gt; void {&lt;br /&gt;
      // RCLCPP_INFO(this-&amp;gt;get_logger(), &amp;quot;I heard: hbt &amp;#039;%s&amp;#039;&amp;quot;, msg-&amp;gt;data.c_str());&lt;br /&gt;
      // strncpy(hbtParams, msg-&amp;gt;data.c_str(), 100);&lt;br /&gt;
      printHbt(msg-&amp;gt;data.c_str());&lt;br /&gt;
    };&lt;br /&gt;
    subsHbt =&lt;br /&gt;
    this-&amp;gt;create_subscription&amp;lt;std_msgs::msg::String&amp;gt;(&amp;quot;/teensy/T0/hbt&amp;quot;, 10, topic_callback);&lt;br /&gt;
  }&lt;br /&gt;
 private:&lt;br /&gt;
  rclcpp::TimerBase::SharedPtr timer_;&lt;br /&gt;
  rclcpp::Publisher&amp;lt;std_msgs::msg::String&amp;gt;::SharedPtr publisher_;&lt;br /&gt;
  rclcpp::Publisher&amp;lt;std_msgs::msg::Int32&amp;gt;::SharedPtr odo_;&lt;br /&gt;
  size_t count;&lt;br /&gt;
  //&lt;br /&gt;
  char hbtParams[100] = &amp;quot;&amp;quot;;&lt;br /&gt;
  rclcpp::Subscription&amp;lt;std_msgs::msg::String&amp;gt;::SharedPtr subsHbt;&lt;br /&gt;
  void printHbt(const char * msg)&lt;br /&gt;
  {&lt;br /&gt;
    printf(&amp;quot;# %lu got hbt %s&amp;quot;, count, msg);&lt;br /&gt;
    snprintf(hbtParams, 100, &amp;quot;Hello RIC %lu %s&amp;quot;, count++, msg);&lt;br /&gt;
    auto message = std_msgs::msg::String();&lt;br /&gt;
    message.set__data(hbtParams);&lt;br /&gt;
    this-&amp;gt;publisher_-&amp;gt;publish(message);&lt;br /&gt;
  }&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 int main(int argc, char ** argv)&lt;br /&gt;
 {&lt;br /&gt;
  rclcpp::init(argc, argv);&lt;br /&gt;
  rclcpp::spin(std::make_shared&amp;lt;RIC_translator&amp;gt;());&lt;br /&gt;
  rclcpp::shutdown();&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Run RIC_node ===&lt;br /&gt;
&lt;br /&gt;
Compile (from workspace)&lt;br /&gt;
 colcon build --packages-select ric_pkg&lt;br /&gt;
 &lt;br /&gt;
Then add it to the path&lt;br /&gt;
 source install/setup.bash&lt;br /&gt;
&lt;br /&gt;
and run&lt;br /&gt;
 ros2 run ric_pkg ric_node&lt;br /&gt;
&lt;br /&gt;
If the &amp;#039;&amp;#039;teensy_interface&amp;#039;&amp;#039; and the &amp;#039;&amp;#039;mqtt-client&amp;#039;&amp;#039; are also running, then (with the code above), it should print something like this on the console.&lt;br /&gt;
 # 0 got hbt 1769340959.8623 13504.9463 105 1033 15.65 4 8 8.9 0.27 0&lt;br /&gt;
 # 1 got hbt 1769340960.3625 13505.4463 105 1033 15.65 4 8 8.8 0.28 0&lt;br /&gt;
 # 2 got hbt 1769340960.8626 13505.9453 105 1033 15.65 4 8 8.8 0.27 0&lt;br /&gt;
 # 3 got hbt 1769340961.3622 13506.4463 105 1033 15.65 4 8 8.9 0.28 0&lt;br /&gt;
 # 4 got hbt 1769340961.8625 13506.9463 105 1033 15.65 4 8 8.9 0.25 0&lt;br /&gt;
 # 5 got hbt 1769340962.3631 13507.4453 105 1033 15.66 4 8 8.9 0.26 0&lt;br /&gt;
 # 6 got hbt 1769340962.8624 13507.9463 105 1033 15.63 4 8 8.8 0.26 0&lt;br /&gt;
&lt;br /&gt;
=== Ros2 relevant messages ===&lt;br /&gt;
&lt;br /&gt;
One of the messages are probably &amp;#039;&amp;#039;twist&amp;#039;&amp;#039;:&lt;br /&gt;
 ros2 interface show geometry_msgs/msg/Twist&lt;br /&gt;
 # This expresses velocity in free space broken into its linear and angular parts.&lt;br /&gt;
 Vector3  linear&lt;br /&gt;
        float64 x&lt;br /&gt;
        float64 y&lt;br /&gt;
        float64 z&lt;br /&gt;
 Vector3  angular&lt;br /&gt;
        float64 x&lt;br /&gt;
        float64 y&lt;br /&gt;
        float64 z&lt;br /&gt;
&lt;br /&gt;
=== Where from here ===&lt;br /&gt;
&lt;br /&gt;
Search for tutorials in https://docs.ros.org/en/jazzy/&lt;/div&gt;</summary>
		<author><name>Jca</name></author>
	</entry>
</feed>