センサからデータが取得できるかのチェックにタイムアウト機能を追加 #66
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this implement/fix?
lifecycleのactivate時のセンサからデータが取得できるかのチェックは、元々はreadSensorData()の実行が成功するかどうかチェックしていましたが現在の方法だと正しくIMUセンサが接続されていてもタイミングによって失敗することがあるため、タイムアウト機能を追加して設定した時間内でセンサデータが取得できるかチェックするように変更します。
Does this close any currently open issues?
しません。
How has this been tested?
下記コマンドを実行してIMUノードのlifecycleがactiveへ遷移できることを確認しました。
また、
ros2 lifecycle set rt_usb_9axisimu_driver configure
実行後にPCから9軸IMUセンサの接続を外してros2 lifecycle set rt_usb_9axisimu_driver activate
を実行すると、5秒後にタイムアウトしてactivateに失敗することも確認できました。Any other comments?
本PR作成の背景として、launchファイルからlifecycleを遷移させる際、configure後すぐにactivateを行うとreadSensorData()に失敗する場合があることを確認したため、センサからデータが取得できるかのチェック時にタイムアウト機能を追加することにしました。
Checklists