@@ -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****
74141BIOS
75142****
0 commit comments