feat(camera): add configurable Jetson camera module for LMS visualization
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# NAV2-Camera (Jetson)
|
||||
|
||||
Jetson ARM64 USB/V4L2 camera module for the LMS visualization camera panel.
|
||||
The template folder remains `[lms-nav2-camera-test]nav2-camera-test_v1.0.0_ws`.
|
||||
|
||||
## Runtime
|
||||
|
||||
- Image: `future-nav2-camera-test:humble-jetson_orin`
|
||||
- Package: `camera_test_pkg`
|
||||
- Launch: `camera.launch.py`
|
||||
- Viewer topic: `/camera_test/image_jpeg` (`sensor_msgs/msg/CompressedImage`, sensor-data QoS)
|
||||
- Only the selected `/dev/videoN` device is passed into the container.
|
||||
- No vehicle commands, fabricated calibration, or fixed camera mounting TF are published.
|
||||
|
||||
## Parameters
|
||||
|
||||
| Parameter | Default | Meaning |
|
||||
| --- | --- | --- |
|
||||
| `video_device` | `/dev/video0` | V4L2 camera device |
|
||||
| `width` / `height` | `640` / `480` | Capture resolution supported by the camera |
|
||||
| `fps` | `30` | Capture frame rate |
|
||||
| `publish_fps` | `10` | Maximum publication rate |
|
||||
| `pixel_format` | `auto` | `auto`, `MJPEG`, `UYVY`, or `YUY2` |
|
||||
| `jpeg_width` | `640` | Maximum preview width |
|
||||
| `jpeg_topic` | `/camera_test/image_jpeg` | Keep the default for the LMS viewer |
|
||||
| `frame_id` | `camera_test_link` | Image frame identifier |
|
||||
| `publish_raw` | `false` | Also publish `/camera_test/image_raw` |
|
||||
|
||||
`auto` negotiates raw/JPEG encoding, not resolution or frame rate. Use a mode
|
||||
reported by `v4l2-ctl --device /dev/video0 --list-formats-ext` when defaults are unsupported.
|
||||
This module provides a video preview, not calibrated visual SLAM input.
|
||||
|
||||
## LMS Installation
|
||||
|
||||
The environment profile supplies the runtime image artifact; the module supplies
|
||||
the ARM64 build/install artifact. Installing these avoids an initial source build.
|
||||
The LMS app needs camera-test module routing support before running this template.
|
||||
ROS domain and DDS settings are supplied by the LMS workspace runtime.
|
||||
|
||||
## Manual Development
|
||||
|
||||
Provision the image from its published artifact first. For image maintainers only:
|
||||
|
||||
```sh
|
||||
docker build -t future-nav2-camera-test:humble-jetson_orin docker
|
||||
```
|
||||
|
||||
```sh
|
||||
./build.sh
|
||||
ROS_DOMAIN_ID=77 ./run.sh video_device:=/dev/video0 pixel_format:=auto
|
||||
```
|
||||
|
||||
The standalone script defaults to domain 77, host networking, and
|
||||
`ROS_LOCALHOST_ONLY=0`. LMS execution uses workspace configuration instead.
|
||||
Tests in `tests/test_camera.py` use synthetic video and never access a camera.
|
||||
Reference in New Issue
Block a user