LoginSignup
1
0

More than 3 years have passed since last update.

ROSの環境変数設定が邪魔するとき

Last updated at Posted at 2019-06-30

ROSの環境変数を自動的に設定するため、皆さん~/.bashrcに

source /opt/ros/kinetic/setup.bash

または

source 自分のcatkin_ws/devel/setup.bash

足しているよね?
普段はあまり問題無いが、たまにこれのせいで意図した動作をしてくれないときもある。自分が遭遇したオチをここに記録する。

pythonモジュールimport失敗

たとえばvisualモジュールimportしたときにコケるよね?
自分の解決方法は2つがある:

  • python起動前にpythonpathを上書きする
$ export PYTHONPATH=/usr/lib/python2.7/dist-packages:$PYTHONPATH
  • 以下のコードを自分のpythonソースの先頭に追加
import os,sys
sys.path = [''] + ['/usr/lib/python2.7/dist-packages'] + sys.path[1:]

cmakeの時に目標のPKG_CONFIGにたどり着けない

CMakeListsに自分の環境あわせて以下のようにpkg_config_pathを追加:


set(ENV{PKG_CONFIG_PATH} "/usr/lib/x86_64-linux-gnu/pkgconfig/:$ENV{PKG_CONFIG_PATH}")

rtshellがnameserver見つからないとき

rosのnameserverがデフォルトport 15005を使うが、omniNamesがデフォルト2809を使用する。15005で探そうとすると見つからない。なので、以下のスクリプトを作成、sourceする

#!/bin/bash

unset RTCTREE_NAMESERVERS
export RTCTREE_NAMESERVERS="localhost:2809"
rtcwd localhost:2809/
source /usr/local/lib/python2.7/dist-packages/rtshell/data/shell_support

choreonoidのrtm pluginをbuildするときバージョンで怒られる時

cmakeが先にros環境のopenrtm-aistを見つかるとバージョンが満たさないと怒られる。cmakeでmakefileを生成時に自分の環境に合わせてOpenRTM_DIRを定義するといい。例えばppa:hrg/dailyリポジトリでopenrtmをインストールする場合に以下のオプションをにつけると良い:

-DOpenRTM_DIR=/usr/lib/x86_64-linux-gnu/openrtm-1.1/cmake

その他、思いついたら随時追加する

次回を待て!!

1
0
0

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
1
0