- Dockerfile: L4T R32.6.1 (JetPack 4.6) base + ROS2 Humble + SLAM stack (slam_toolbox, Nav2, rplidar_ros, realsense2_camera, robot_localization) - docker-compose.yml: multi-service stack (ROS2, RPLIDAR A1M8, D435i, STM32 bridge) with device passthrough, host networking for DDS, persistent map volume - docs/pinout.md: full GPIO/I2C/UART pinout for STM32F722 bridge (USB CDC + UART fallback), RealSense D435i (USB3), RPLIDAR A1M8, udev rules - docs/power-budget.md: 10W envelope analysis with per-component breakdown, mitigation strategies (RPLIDAR gating, D435i 640p, nvpmodel modes) - scripts/setup-jetson.sh: host one-shot setup (Docker, nvidia-container-runtime, udev rules, MAXN power mode, swap) - scripts/build-and-run.sh: build/up/down/shell/slam/status helper Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
19 lines
409 B
Bash
19 lines
409 B
Bash
#!/usr/bin/env bash
|
|
# Docker entrypoint for Jetson Nano ROS2 container
|
|
|
|
set -e
|
|
|
|
# Source ROS2
|
|
source /opt/ros/humble/setup.bash
|
|
|
|
# Source workspace if built
|
|
if [ -f /ros2_ws/install/local_setup.bash ]; then
|
|
source /ros2_ws/install/local_setup.bash
|
|
fi
|
|
|
|
# Set DDS implementation
|
|
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
|
|
|
echo "[saltybot] ROS2 Humble ready — domain ID: ${ROS_DOMAIN_ID:-42}"
|
|
exec "$@"
|