Linux系统+ROS设置launch文件开机自启动

Ubuntu使用GNOME桌面系统。它使用启动应用程序来设置启动项,可以在终端输入如下命令启动图形化设置界面。
启动图形化界面命令:

gnome-session-properties

接下来设置开机自启动:

ubuntu系统:melodic

假设启动的launch文件为:start_run 功能包内的start_run.launch。

**

第一步

**在start_runs功能包下创建启动脚本start.sh
之后打开start.sh将以下内容复制进去。注意将文件路径改为自己的路径。

正确代码:

#!/bin/bash
source /opt/ros/melodic/setup.bash
source /home/sun/dev/catkin_ws/devel/setup.sh
roslaunch start_run start_run.launch

exit 0

代码解释
将系统的环境变量加入:

source /opt/ros/melodic/setup.bash

将自己的工作环境变量加入:

source /home/sun/dev/catkin_ws/devel/setup.sh

错误代码:
网上有很多教程,刚开始我将start.sh中写了以下代码,发现开机无法启动,系统环境变量应该是setup.bash,自己的工作环境变量应该是setup.sh。

source /opt/ros/melodic/setup.sh
source /home/sun/dev/catkin_ws/devel/setup.bash
roslaunch start_run start_run.launch

第二步

sh文件的权限必须是可行的,必须进行以下设置。

sudo chmod +x  /home/sun/dev/catkin_ws/src/start_run/start.sh

如果权限不可行,在运行时会出现以下错误:

创建此终端的子进程时出错(权限不够)
在这里插入图片描述

第三步

启动图形化界面,添加启动项,并设置​。

1.启动命令:

gnome-session-properties

在这里插入图片描述
在这里插入图片描述

2.命令中写:bash sh地址

如果后台运行,不弹出命令窗口:

bash  /home/sun/dev/catkin_ws/src/start_run/start.sh

如果想要弹出命令窗口:(正确代码)

gnome-terminal -- /home/sun/dev/catkin_ws/src/start_run/start.sh

我按照网上写的命令代码输入后,提示无效,以下是错误代码,正确代码是上面的。

gnome-terminal -x /home/sun/dev/catkin_ws/src/start_run/start.sh

3.保存

最后

上述操作完成后,系统在每次启动后,会开启一个终端窗口,并执行脚本中的launch文件。

TX2指的是NVIDIA公司推出的Jetson TX2开发板,是一款高性能嵌入式平台。在TX2上,可以使用ROS(Robot Operating System)开发机器人应用程序。 在TX2上不登录的情况下,要实现开机自动启动launch文件,可以通过以下几个步骤操作: 1. 编写launch文件:首先,需要编写一个包含所需节点和参数的launch文件launch文件可以定义要启动的节点、节点之间的连接关系、运行参数等等。 2. 设置启动脚本:创建一个启动脚本(Shell脚本),可以将其命名为"startup.sh"。在启动脚本中,需要调用roslaunch命令来启动刚才编写的launch文件。 3. 修改系统配置文件:修改Linux系统的配置文件,以便将启动脚本添加到系统启动自动执行的程序列表中。 具体操作步骤如下: 1. 在TX2上创建一个新的包,可以使用以下命令: ```shell $ cd ~/catkin_ws/src $ catkin_create_pkg my_package rospy ``` 2. 在包中创建一个launch文件,例如"my_launch.launch"。在launch文件中,编写要启动的节点和参数设置,示例如下: ```xml <launch> <node name="my_node" pkg="my_package" type="my_node.py" output="screen"> <param name="my_param" value="123" /> </node> </launch> ``` 3. 创建一个启动脚本"startup.sh",示例如下: ```shell #!/bin/bash source /opt/ros/melodic/setup.bash source ~/catkin_ws/devel/setup.bash export ROS_MASTER_URI=http://localhost:11311 export ROS_IP=your_ip_address roslaunch my_package my_launch.launch ``` 4. 将启动脚本复制到/etc/init.d/目录下,并添加执行权限,示例如下: ```shell $ sudo cp ~/catkin_ws/src/my_package/startup.sh /etc/init.d/ $ sudo chmod +x /etc/init.d/startup.sh ``` 5. 修改rc.local文件,添加启动脚本的执行,示例如下: ```shell $ sudo nano /etc/rc.local ``` 在文件末尾添加以下一行: ```shell /etc/init.d/startup.sh ``` 按Ctrl + X保存并退出。 6. 重启TX2,即可自动执行启动脚本,实现开机启动launch文件。 以上就是在TX2上不登录的情况下,实现开机自动启动launch文件的方法。注意,在修改系统配置文件要小心操作,避免误操作导致系统不稳定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值