ROS機能パッケージブート自動起動設定

ここでは、robot_upstart 関数パッケージを使用してブート自動起動関数を設定していますが、kinetic バージョンと Melodic バージョンの robot_upstart 関数パッケージは若干異なることに注意してください。

1. robot_upstart をインストールする

(1) ROS システムのメロディック バージョンの場合は、apt install メソッドを使用して直接インストールするだけで、個人的なテストに利用できます。

sudo apt install ros-melodic-robot-upstart

(2) ROS システムの動的バージョンの場合、apt install で直接インストールすると、エラーが報告され、一部の依存関係が欠落します。したがって、ソースコードを使用してインストールし、依存関係を手動でインストールする必要があります。

cd ~/catkin_ws/src
git clone https://github.com/clearpathrobotics
/robot_upstart.git 
cd ..
#如果编译无响应,请将~/catkin_ws/build中的文件全部删除后重试
catkin_make
#用rosdep安装robot_upstart所需依赖项
rosdep install robot_upstart

2. 自動開始タスクを追加する

(1) robot_upstart は ROS ノードであるため、起動前に roscore を有効にする必要があります。

roscore

(2) 次に、robot_upstart の help コマンドを使用して、その使用方法を表示できます。

rosrun robot_upstart install -h

(3) 起動する必要のあるすべての ROS ノードを起動ファイルに書き込みます ここでは miiboo_bringup/launch/myrobot.launch ファイルを書き込みます ファイルの内容は次のとおりです。

<launch>
  <!-- launch sensor -->
  <include file="$(find miiboo_bringup)/launch/miiboo_all_sensor.launch"/>
 
  <!-- launch nav -->
  <include file="$(find miiboo_nav)/launch/miiboo_nav.launch" />
 
  <!-- launch manage -->
  <include file="$(find nav_manage)/launch/nav_manage.launch"/>
</launch>

(4) 起動ファイルをロードする

rosrun robot_upstart
 install miiboo_bringup/launch/myrobot.launch --job myrobot --interface wlan0 --logdir ~/myrobot.log

の、

--job はタスクのエイリアスを指定します

--interface はネットワーク インターフェイスを指定します。これを設定する必要があります。そうしないと、マルチマシン ROS 通信が実現できません。

--logdir はログ保存ディレクトリを指定します。

3. タスクの開始、再開、停止

(1) タスクを開始する

sudo systemctl daemon-reload && sudo systemctl start myrobot

(2) タスクを再起動する

sudo systemctl restart myrobot

(3) タスクを停止する

sudo systemctl stop myrobot

4. 自動起動タスクをアンインストールします。

(1) robot_upstart は ROS ノードであるため、起動前に roscore を有効にする必要があります。

roscore

(2) アンインストール

rosrun robot_upstart uninstall myrobot

(3) ログの削除

sudo rm -rf ~/myrobot.log

参考文献

[1] Zhang Hu、ロボット SLAM ナビゲーションのコア技術と実践 [M]、Machinery Industry Press、2022 年。

おすすめ

転載: blog.csdn.net/m0_68732180/article/details/130253429