Skip to content

Commit 27dddd0

Browse files
committed
system setup
1 parent 6dbb0c3 commit 27dddd0

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

curt_mini/doc/software_setup.rst

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ This is implemented using a systemd service :code:`ipa-ros-autostart`:
4444
PartOf=ipa-tmux-master.service
4545
After=ipa-tmux-master.service
4646
47+
Wants=multicast-lo.service
48+
After=multicast-lo.service
49+
4750
[Service]
4851
Type=oneshot
4952
RemainAfterExit=yes
@@ -54,6 +57,7 @@ This is implemented using a systemd service :code:`ipa-ros-autostart`:
5457
[Install]
5558
WantedBy=multi-user.target
5659
60+
5761
Which requires an additional systemd service to start the host tmux session:
5862

5963
.. code-block:: ini
@@ -70,6 +74,69 @@ Which requires an additional systemd service to start the host tmux session:
7074
[Install]
7175
WantedBy=multi-user.target
7276
77+
And a service to enable multicast on the loopback interface, as specified in the `autoware documentation`_.
78+
79+
.. _`autoware documentation`: https://autowarefoundation.github.io/autoware-documentation/main/installation/additional-settings-for-developers/network-configuration/enable-multicast-for-lo/
80+
81+
***
82+
RMW
83+
***
84+
CycloneDDS is configured as the default RMW implementation using the following environment variables in :code:`.bashrc`:
85+
86+
.. code-block:: bash
87+
88+
source /opt/ros/jazzy/setup.bash
89+
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
90+
export CYCLONEDDS_URI="file:///opt/ros/cyclonedds-config.xml"
91+
92+
By default, only the loopback interface is enabled.
93+
Add more network interfaces here if multi-host communication is desired.
94+
95+
.. code-block:: xml
96+
97+
<CycloneDDS xmlns="https://cdds.io/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://cdds.io/config https://raw.githubusercontent.com/eclipse-cyclonedds/cyclonedds/master/etc/cyclonedds.xsd">
98+
<Domain Id="any">
99+
<General>
100+
<Interfaces>
101+
<NetworkInterface autodetermine="false" name="lo" priority="default" multicast="default" />
102+
</Interfaces>
103+
<AllowMulticast>true</AllowMulticast>
104+
<MaxMessageSize>65500B</MaxMessageSize>
105+
</General>
106+
<Discovery>
107+
<MaxAutoParticipantIndex>100</MaxAutoParticipantIndex>
108+
</Discovery>
109+
<Internal>
110+
<SocketReceiveBufferSize min="10MB" />
111+
<Watermarks>
112+
<WhcHigh>500kB</WhcHigh>
113+
</Watermarks>
114+
</Internal>
115+
</Domain>
116+
</CycloneDDS>
117+
118+
The corresponding buffer sizes are specified in :code:`/etc/sysctl.conf`:
119+
120+
.. code-block:: ini
121+
122+
net.core.rmem_max=2147483647
123+
net.core.wmem_max=2147483647
124+
125+
****
126+
UDEV
127+
****
128+
Udev rules are installed for permissions and identification of the joystick controller and IMU:
129+
130+
.. code-block:: ini
131+
132+
# Logitech F710 joystick at /dev/input/f710
133+
KERNEL=="js[0-9]*", ATTRS{name}=="Logitech Gamepad F710", SYMLINK+="input/f710"
134+
135+
.. code-block:: ini
136+
137+
# LP-Research IMUs as /dev/tty<SERIAL NUMBER>
138+
SUBSYSTEM=="tty", ENV{ID_SERIAL_SHORT}=="LPMS*", SYMLINK+="tty%E{ID_SERIAL_SHORT}"
139+
73140
****
74141
BIOS
75142
****

0 commit comments

Comments
 (0)