From 64405e3a0b0e3d227b2880dca9b2e67757bdd218 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 11 Sep 2025 15:56:20 -0500 Subject: [PATCH] feat: start rosbag on boot --- auto_start/start_rosbag.sh | 22 ++++++++++++++++++++++ systemd/astra_rosbag.service | 14 ++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 auto_start/start_rosbag.sh create mode 100644 systemd/astra_rosbag.service diff --git a/auto_start/start_rosbag.sh b/auto_start/start_rosbag.sh new file mode 100644 index 0000000..3d659f0 --- /dev/null +++ b/auto_start/start_rosbag.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +ANCHOR_WS="/home/clucky/rover-ros2" +AUTONOMY_WS="/home/clucky/rover-Autonomy" +BAG_LOCATION="/home/clucky/bags/autostart" + +# Wait for a network interface to be up (not necessarily online) +while ! ip link show | grep -q "state UP"; do + echo "[INFO] Waiting for active network interface..." + sleep 1 +done + +echo "[INFO] Network interface is up!" + + +source /opt/ros/humble/setup.bash +source $ANCHOR_WS/install/setup.bash +[ -f $AUTONOMY_WS/install/setup.bash ] && source $AUTONOMY_WS/install/setup.bash + +cd $BAG_LOCATION + +ros2 bag record -a diff --git a/systemd/astra_rosbag.service b/systemd/astra_rosbag.service new file mode 100644 index 0000000..df34176 --- /dev/null +++ b/systemd/astra_rosbag.service @@ -0,0 +1,14 @@ +[Unit] +Description=Record a rosbag on boot to /home/clucky/bags/ +After=systemd-user-sessions.service +Requires=systemd-user-sessions.service + +[Service] +ExecStart=/home/clucky/rover-ros2/auto_start/start_rosbag.sh +Restart=always +RestartSec=5 +User=clucky +Environment=PYTHONUNBUFFERED=1 + +[Install] +WantedBy=multi-user.target