feat(camera): add configurable Jetson camera module for LMS visualization
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
MODULE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
FOLDER_NAME="$(basename "$MODULE_PATH")"
|
||||
CONTAINER_NAME="${FOLDER_NAME#[}"; CONTAINER_NAME="${CONTAINER_NAME/]/-}"
|
||||
CONTAINER_NAME="${CONTAINER_NAME%_ws}"
|
||||
MODULE_ROOT="$(dirname "$MODULE_PATH")"
|
||||
IMAGE="${NAV2_DOCKER_IMAGE:-future-nav2-camera-test:humble-jetson_orin}"
|
||||
DEVICE=/dev/video0
|
||||
for arg in "$@"; do
|
||||
case "$arg" in video_device:=*) DEVICE=${arg#video_device:=} ;; esac
|
||||
done
|
||||
[[ "$DEVICE" =~ ^/dev/video[0-9]+$ ]] && [ -c "$DEVICE" ] || { echo "Camera device not found: $DEVICE" >&2; exit 1; }
|
||||
test -f "$MODULE_PATH/install/setup.bash" || { echo 'Module is not built' >&2; exit 1; }
|
||||
|
||||
docker rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true
|
||||
exec docker run --rm -d --device "$DEVICE:$DEVICE" --network host --ipc=host \
|
||||
--name "$CONTAINER_NAME" \
|
||||
-e "ROS_DOMAIN_ID=${ROS_DOMAIN_ID:-77}" \
|
||||
-e "ROS_LOCALHOST_ONLY=${ROS_LOCALHOST_ONLY:-0}" \
|
||||
-v "$MODULE_ROOT:/modules" \
|
||||
"$IMAGE" bash -lc "
|
||||
source /opt/ros/humble/setup.bash
|
||||
source '/modules/$FOLDER_NAME/install/setup.bash'
|
||||
exec ros2 launch camera_test_pkg camera.launch.py \"\$@\"
|
||||
" bash "$@"
|
||||
Reference in New Issue
Block a user