文章作者:激萌の小宅
促销:¥0
价格:¥0
配送方式:
购买后立即生效(如购买异常,请联系站长)
付款之后一定要等待自动跳转结束,否则购买可能会失败
-
0 天
有效期
-
0
总销量
-
0
累计评价
ROS2 设置节点开机自启
参考博客:https://blog.csdn.net/zhbzhb324/article/details/135967539
假设我要启动的节点
ros2 launch turn_on_wheeltec_robot robot.launch.py
在你的ros工程目录下创建ros2_startup.sh文件
#!/bin/bash export ROS_LOG_DIR=/home/sunrise/tros2_ws/log source /opt/tros/setup.bash source /home/sunrise/tros2_ws/install/setup.bash ros2 launch turn_on_wheeltec_robot robot.launch.py
并添加执行权限
sudo chmod +x ros2_startup.sh
如下
创建我们的启动文件
sudo nano /etc/systemd/system/robot_run.service # or sudo vim /etc/systemd/system/robot_run.service
内容如下:
[Unit] Description=RobotBox After=network.target [Service] Type=simple User=root ExecStart=/home/sunrise/tros2_ws/ros2_startup.sh WorkingDirectory=/home/sunrise/tros2_ws Restart=always [Install] WantedBy=multi-user.target
参数说明:
User:你的用户名。
WorkingDirectory:你的ROS 2工作空间中的节点脚本所在目录。
ExecStart:启动命令,确保正确加载ROS 2环境并运行节点脚本。
Restart:设置为always以便在节点崩溃时自动重启。
然后执行下面命令
# 重新加载服务配置文件 systemctl daemon-reload # 启动服务 sudo systemctl start robot_run.service # 设置开机自启动 sudo systemctl enable robot_run.service # 查看运行状态 sudo systemctl status robot_run.service # 停止服务 sudo systemctl stop robot_run.service # 移除开机自启动 sudo systemctl disable robot_run.service