Skip to content

Commit c2a0ca3

Browse files
authored
Merge pull request #6 from sykwer/update
update
2 parents f7bf5e5 + eeb62c8 commit c2a0ca3

5 files changed

Lines changed: 29 additions & 11 deletions

File tree

docs/environment-setup/configuration.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,28 @@ fs.mqueue.msg_max = 256
2525
fs.mqueue.queues_max = 1024
2626
```
2727

28-
If running many Agnocast processes, you may also need to increase the per-user message queue memory limit:
28+
#### Per-user POSIX message queue memory limit
29+
30+
Each bridge manager message queue consumes memory proportional to the maximum message size and queue depth. When running many Agnocast processes simultaneously, the per-user POSIX message queue memory limit (`RLIMIT_MSGQUEUE`) may be exceeded, causing `mq_open` to fail.
31+
32+
To increase the limit, either add the following line to `/etc/security/limits.conf`:
2933

3034
```bash
31-
# In /etc/security/limits.conf or systemd unit
3235
* - msgqueue unlimited
3336
```
3437

38+
Or use `prlimit` to change the limit for the current shell:
39+
40+
```bash
41+
sudo prlimit --pid=$$ --msgqueue=unlimited
42+
```
43+
44+
You can verify the current limit with:
45+
46+
```bash
47+
ulimit -q
48+
```
49+
3550
## RT Throttling (for CallbackIsolatedExecutor)
3651

3752
If using real-time scheduling with the CallbackIsolatedExecutor, you may need to increase the RT throttling limit. The default allows RT tasks to use 95% of each period:

docs/environment-setup/index.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ Install kernel headers (required for DKMS to build the kernel module) and the Ag
4848
```bash
4949
sudo apt install linux-headers-$(uname -r)
5050
sudo apt install \
51-
agnocast-kmod-v2.3.1 \
52-
agnocast-heaphook-v2.3.1
51+
agnocast-kmod-v2.3.3 \
52+
agnocast-heaphook-v2.3.3
5353
```
5454

5555
!!! note
@@ -65,22 +65,22 @@ sudo apt install \
6565
- **minor** — Incremented when the kmod syscall API changes. `agnocastlib` and `agnocast-kmod` with matching major and minor versions are guaranteed to work correctly together.
6666
- **patch** — Incremented for all other changes.
6767

68-
Packages use version-pinned names (e.g., `agnocast-kmod-v2.3.1`) to ensure all components are at exactly the same version.
68+
Packages use version-pinned names (e.g., `agnocast-kmod-v2.3.3`) to ensure all components are at exactly the same version.
6969

7070
### 3. Build the ROS packages from source
7171

7272
Since the ROS packages are not yet distributed from the ROS build farm, build them from source:
7373

7474
```bash
75-
git clone --branch 2.3.1 https://github.com/autowarefoundation/agnocast.git
75+
git clone --branch 2.3.3 https://github.com/autowarefoundation/agnocast.git
7676
cd agnocast
7777
rosdep install --from-paths src --ignore-src -y
7878
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
7979
source install/setup.bash
8080
```
8181

8282
!!! info
83-
Once the ROS build farm release is available, the ROS packages will also be installable via apt (e.g., `ros-jazzy-agnocast=2.3.1*`), and this source build step will no longer be necessary.
83+
Once the ROS build farm release is available, the ROS packages will also be installable via apt (e.g., `ros-jazzy-agnocast=2.3.3*`), and this source build step will no longer be necessary.
8484

8585
### 4. Load the kernel module
8686

docs/environment-setup/upgrading.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ sudo apt install \
1212
agnocast-heaphook-v<NEW_VERSION>
1313
```
1414

15-
For example, to upgrade from 2.3.1 to 2.4.0:
15+
For example, to upgrade from 2.3.3 to 2.4.0:
1616

1717
```bash
1818
sudo apt install agnocast-kmod-v2.4.0 agnocast-heaphook-v2.4.0
@@ -29,7 +29,7 @@ source install/setup.bash
2929
```
3030

3131
!!! info
32-
Once the ROS build farm release is available, the ROS packages will also be installable via apt (e.g., `ros-jazzy-agnocast=2.3.1*`), and this source build step will no longer be necessary.
32+
Once the ROS build farm release is available, the ROS packages will also be installable via apt (e.g., `ros-jazzy-agnocast=2.3.3*`), and this source build step will no longer be necessary.
3333

3434
## 3. Reload the kernel module
3535

@@ -45,6 +45,6 @@ sudo modprobe agnocast
4545

4646
When upgrading, keep the [versioning rules](index.md) in mind:
4747

48-
- **Patch upgrades** (e.g., 2.3.1 → 2.3.2) — Safe. No API or syscall changes.
48+
- **Patch upgrades** (e.g., 2.3.3 → 2.3.2) — Safe. No API or syscall changes.
4949
- **Minor upgrades** (e.g., 2.3.x → 2.4.0) — `agnocastlib` and `agnocast-kmod` must be upgraded together, as the kmod syscall API may have changed.
5050
- **Major upgrades** — User-facing API may have breaking changes. Review the changelog before upgrading.

docs/migration-guide/bridge.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,9 @@ graph TD
142142
```bash
143143
ros2 agnocast generate-bridge-plugins \
144144
--packages std_msgs sensor_msgs geometry_msgs
145+
146+
# Or for all available message types
147+
ros2 agnocast generate-bridge-plugins --all
145148
```
146149

147150
**Step 2:** Build the plugins:

docs/tips/containers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ The Agnocast kernel module (`agnocast-kmod`) must be installed on the **host** s
1313
**Non-Ubuntu hosts** (or environments where `apt` is not available) — Build the kernel module from source:
1414

1515
```bash
16-
git clone --branch 2.3.1 https://github.com/autowarefoundation/agnocast.git
16+
git clone --branch 2.3.3 https://github.com/autowarefoundation/agnocast.git
1717
cd agnocast/agnocast_kmod
1818
make
1919
sudo insmod agnocast.ko

0 commit comments

Comments
 (0)