1. 程式人生 > >ROS設定自啟動

ROS設定自啟動

 自啟動方法:

1、使用自啟動的ros包upstart

該包是通過建立一個服務來啟動一些基本的launch檔案,要是啟動多個launch檔案,可以通過把多個launch檔案寫入到一個launch中這樣的方法來啟動。

2、利用ubuntu自帶的開機啟動檔案

在開機啟動檔案rc.local檔案中直接寫入ros命令來達到開機啟動效果

 

使用ros upstart設定自啟動.

1.建立一個launch檔案start.launch,加入需要自啟動的節點.

<node pkg="rosserial_python" type="spq_serial_node.py"/>

2.安裝upstart包

sudo apt-get install ros-kinetic-robot-upstart

3.將start.launch放入某個package目錄下, rosrun robot_upstart install 包開始的目錄至/start.launch

rosrun robot_upstart install --job job名 包開始的目錄至/start.launch

然後再執行sudo systemctl daemon-reload

sudo systemctl start job名

可設定引數:

rosrun robot_upstart install --interface eth0 --master http://192.168.10.203:11311 start/launch/startall.launch

其中install後面的引數介紹:

其中192.168.10.203是機器人底盤IP

install後面可以有下面一些引數:

usage: install [-h] [--job JOB] [--interface ethN] [--user NAME]

                            [--setup path/to/setup.bash] [--rosdistro DISTRO]

                            [--master http://MASTER:11311] [--logdir path/to/logs]

                            [--augment]

                            pkg/path [pkg/path ...]

必須的引數

pkgpath  Package and path to install job launch files from要啟動的launnch檔案的package和其路徑

可選引數

--job   Specify job name. If unspecified, will be constructed from package name.

--interface   Specify network interface name to associate job with.指定與操作有關網路的interface名字,可以在terminal中用ifconfig檢視

--user   Specify user to launch job as.

--setup  Specify workspace setup file for the job launch context.

--rosdistro  Specify ROS distro this is for.

--master  Specify an alternative ROS_MASTER_URI for the job launch context.

--logdir  Specify an a value for ROS_LOG_DIR in the job launch context.

--augment=False  Bypass creating the job, and only copy user files. Assumes the job was previously created.

4.啟動、停止、解除安裝服務sudo service job名 start

job名為上面設定的job名字,若沒有設定此項,則需要在注意後面提示中的sudo systemctl start job名

停止服務sudo service job名 stop

解除安裝服務rosrun robot_upstart uninstall job名

 

重啟命令:

1)、reboot

2)、shutdown-r now立刻重啟(root使用者使用)

3)、shutdown-r 10過10分鐘自動重啟(root使用者使用)

4)、shutdown-r 20:35在時間為20:35時候重啟(root使用者使用)

如果是通過shutdown命令設定重啟的話,可以用shutdown-c命令取消重啟

如果出現問題

 sudo tail /var/log/upstart/robot.log -n 30

可以使用top命令可以檢視處理器的執行狀況