侧边栏壁纸
  • 累计撰写 125 篇文章
  • 累计创建 16 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录
ROS   

Linux ROS 开机自启动设置

正常流程

  • 创建一个启动脚本(例如 start_ros.sh)来启动ROS程序。确保在脚本中使用绝对路径来指定ROS程序的位置。注意是绝对路径,不可以使用“~”来解析。例如:
#!/bin/bash
# 启动环境
source /home/jetson/Code/catkin_test/devel/setup.bash
# 其他设置
# 启动ROS程序
roslaunch <package_name> <launch_file>
  • 将启动脚本保存在适当的位置,例如 /home/jetson/code/start_ros.sh
  • 授予脚本执行权限。在终端中运行以下命令,结束后可以用 ls -l来确认一下权限。
chmod +x /home/jetson/code/start_ros.sh
  • /etc/systemd/system/下创建一个启动服务(service)文件(例如 ros_startup.service),该文件将告诉系统在开机时运行启动脚本。
[Unit]
Description=ROS Startup
After=network.target

[Service]
ExecStart=/home/jetson/code/start_ros.sh   # 替换为自己的路径
User=user  # 替换为当前用户名

[Install]
WantedBy=multi-user.target
  • 在终端中启动服务:
sudo systemctl enable ros_startup.service
sudo systemctl start ros_startup.service
  • 现在,ROS程序应该在Linux开机时自动启动。重新启动系统进行测试

其他注意点

  • !注意使用绝对地址,可以使用 pwd 来查看当前的绝对地址。
  • 在修改了启动脚本后要重新加载 systemd 守护进程并检查服务状态:
sudo systemctl daemon-reload
sudo systemctl status ros_startup.service
0

评论区