4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Windows版ROS2でtalker/listenerが動作しないときの(経験的な)トラブルシューティングガイド

Last updated at Posted at 2020-04-28

##はじめに
以前 ROS2 Windows版のexample実行時にエラーが出たらOpenSSLのバージョンを疑ってみる という記事を書きましたが、動かない状況はこれけだけではありませんでした。
ここに自ら実際に動作検証してうまくいったやり方を載せておきます。

変更履歴

  • 2020/5/1 手順3の再起動の記述を追加しました。

##前提条件
OS: Windows 10
ROS2: Dashing Diademataバイナリ版を C:\dev\ros2_dashing 以下にインストールする

##トラブルシューティング手順

  1. 公式ページの Installing ROS 2 on Windows に従って各種インストールしてtalker/listenerを動かしてみる。

  2. これで問題なく動けば完了。問題が起きたら3へ。

  3. (2020/5/1追記) OSを再起動してみる。システムの環境変数が反映されないことがあるかも知れないので。これで問題なく動けば完了。問題があれば4へ。

  4. 以下のようなros2コマンドが見つからないエラーの場合は5へ。

'ros2' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

または、以下のようなDLLがロードできない旨のエラーが出たら7へ。

    ```
Failed to load entry point 'info': DLL load failed: 指定されたモジュールが見つかりません。
The C extension 'C:\dev\ros2_dashing\Lib\site-packages\rosbag2_transport\_rosbag2_transport_py.pyd' failed to be imported while being present on the system. Please refer to 'https://index.ros.org/doc/ros2/Troubleshooting/#import-failing-even-with-library-present-on-the-system' for possible solutions
  1. 新規に管理者モードのコマンドプロンプトを起動して、カレントディレクトリを C:\dev\ros2_dashing 以外にした状態で C:\dev\ros2_dashing\local_setup.bat を実行する。

  2. その後手順に従ってtalker/listenerを起動する。成功したら完了。問題が起きたら7へ。

  3. 開いていたコマンドプロンプトを全て終了してから、ros2_dashingフォルダの名前を別の名前(例えばros2-dashing)に書き換えてから5に戻る。ただしこのとき7で ros2-dashingに書き換えた場合は C:\dev\ros2-dashing\local_setup.batを実行する。

その他

asio などのnupkgを再インストールするときには、 choco uninstall asio のようにして一旦アンインストールしてから行う。

以上です。

4
1
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?