mirror of
https://github.com/SHC-ASTRA/rover-ros2.git
synced 2026-02-11 09:20:40 +00:00
feat: add systemd files from NUC
This commit is contained in:
14
anchor.service
Normal file
14
anchor.service
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Autostart the anchor node for controlling the rover and its modules
|
||||||
|
After=systemd-user-sessions.service
|
||||||
|
Requires=systemd-user-sessions.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/home/clucky/auto_start/auto_start_anchor.sh
|
||||||
|
Restart=always
|
||||||
|
RestartSec=5
|
||||||
|
User=clucky
|
||||||
|
Environment=PYTHONUNBUFFERED=1
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
24
auto_start/auto_start_anchor.sh
Executable file
24
auto_start/auto_start_anchor.sh
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 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!"
|
||||||
|
|
||||||
|
# Your actual ROS node start command goes here
|
||||||
|
echo "[INFO] Starting ROS node..."
|
||||||
|
|
||||||
|
# Source ROS 2 Humble setup script
|
||||||
|
source /opt/ros/humble/setup.bash
|
||||||
|
|
||||||
|
# Source your workspace setup script
|
||||||
|
source /home/clucky/rover-ros2/install/setup.bash
|
||||||
|
|
||||||
|
# CD to directory
|
||||||
|
cd /home/clucky/rover-ros2/
|
||||||
|
|
||||||
|
# Launch the ROS 2 node with the desired mode
|
||||||
|
ros2 launch rover_launch.py mode:=anchor
|
||||||
24
auto_start/auto_start_core_headless.sh
Executable file
24
auto_start/auto_start_core_headless.sh
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 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!"
|
||||||
|
|
||||||
|
# Your actual ROS node start command goes here
|
||||||
|
echo "[INFO] Starting ROS node..."
|
||||||
|
|
||||||
|
# Source ROS 2 Humble setup script
|
||||||
|
source /opt/ros/humble/setup.bash
|
||||||
|
|
||||||
|
# Source your workspace setup script
|
||||||
|
source /home/clucky/rover-ros2/install/setup.bash
|
||||||
|
|
||||||
|
# CD to directory
|
||||||
|
cd /home/clucky/rover-ros2/
|
||||||
|
|
||||||
|
# Launch the ROS 2 node
|
||||||
|
ros2 run core_pkg headless
|
||||||
14
core_headless.service
Normal file
14
core_headless.service
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Autostart headless core node for controlling the rover without a base station
|
||||||
|
After=systemd-user-sessions.service
|
||||||
|
Requires=systemd-user-sessions.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/home/clucky/auto_start/auto_start_core_headless.sh
|
||||||
|
Restart=always
|
||||||
|
RestartSec=10
|
||||||
|
User=clucky
|
||||||
|
Environment=PYTHONUNBUFFERED=1
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
Reference in New Issue
Block a user