忍者ブログ
ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
[25]  [26]  [27]  [28]  [29]  [30]  [31]  [32]  [33]  [34]  [35
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Intel EdisonにOpenRTM-aist-1.1.1-Releaseをインストールしようとしたのですが、少し引っかかる部分がありました。
DoxygenをインストールせずにconfigureでMakefileを生成しようとするとエラーが出ます。
それで--without-documentというオプションを付けなさいと言われるので付けてみたのですがエラーが消えません。
変だと思ってヘルプを見てみると--without-doxygenとなっていました。

何だか地味なミスだなあ。



複合コンポーネント作成支援ツール、ビルド自動化ツールのマニュアルを作成しました。
ここで読むことができます。まだ不十分なので今後追記はすると思います。


PyQtがインストールされていない場合もあると思うのでpy2exeで実行ファイルも作成しました。


これで多少は使いやすくなったかもしれないです。


以前作成したロボットアームのGUIを更新しようと思ったのですが、Ogre3DがVisual Studio 2012までしか対応していないのでOgre3Dが更新されるまで待つことにしました。
まあこちらでビルドすることもできるのでしょうけど、面倒くさいですからね。

VC++2010でビルドするのもOpenRTM-aistをVC++2010対応版をインストールしなければならないのでやりたくないです。

こちらでPython2.6のライブラリを使ってビルドしたので、Python2.6にOpenRTM-aistをインストールしておく必要があります。
OpenRTM-aist-PythonがPython2.7にも対応したのでこちらもバージョンアップしたいのですが、Ogre3Dが更新されるまでは保留にしておきます。

一応CMakeLists.txtを作成しておいたので、そちらでビルドできる人はそうしてください。








にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
PR
実を言うとGitHubのsubmoduleを最近まで使ったことがありませんでした。

いろいろ試していたのですが、その中で根本的な勘違いをしている事に気づきました。
submoduleとはこのサイトに書いてあるとおり、「現在のリポジトリのクローン中に、別のリポジトリの特定のコミットを、サブディレクトリとして参照する」という機能らしいです。

どうにも僕は太字部分を勘違いしたらしく、参照したリポジトリが更新されると勝手にsubmoduleも更新されるものと思っていました。
どうやらこちらで設定しなおす必要があるみたいですね。


GitHub for windowsのGUIでのsubmoduleの追加の方法が分からなかったので、とりあえずGit Shell上でコマンドを入力して追加しています。

まず以下のコマンドでsubmoduleを追加します。


git submodule add https://github.com/Nobu19800/RobotArmController.git RobotArmController



問題はRobotArmControllerというリポジトリを変更した後なのですが、先ほど言ったように自動的には更新されないので以下のコマンドを入力してください。

git submodule foreach 'git checkout master; git pull'
git add RobotArmController
git commit -m "update RobotArmController"
git push origin master


これで更新されるはずです。



Download ZIPをクリックしてダウンロードした場合、submoduleはダウンロードされません。
cloneした場合でも以下のコマンドを入力しないとsubmoduleはcloneされません。

git submodule init
git submodule update

submoduleの中にsubmoduleがある場合もあるので以下のコマンドの方が良いとからしい。


git submodule update --recursive




なんだか凄く面倒くさいなあ。
Windowsだと余計に使いづらい。
自分で作ったコードだったらsubmodueを使わずにそのまま入れた方がましな感じがしなくもないです。







にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
RTCビルド自動化ツール複合コンポーネント作成支援ツールを更新しました。

ビルド自動化ツールはあまり変わっていないのですが、複合コンポーネント作成支援ツールはパッケージ作成機能を追加しました。

作成したプロジェクトを利用するのにツール本体をインストールしておく必要があったわけですが、それがそもそも良くなかったと思っていたのでツールを入手してなくても動作できるようにしました。
プロジェクトを作成後にパッケージをどこかに作成するだけです。




生成されたフォルダのstart.bat(start.sh)を起動するとRTCの起動、接続、コンフィギュレーションパラメータの設定、複合コンポーネントの作成を行います。


必要なdllがある場合は自分で追加する必要があります。
一応rtcdを動作させるのに必要なdllは自動的にコピーするようにしていますが、配布する場合はライセンスを記述したテキストファイルを付属させるようにしてください。











ここからはCMakeの話です。
CMakeでインストーラーまで作成するにはCMakeLists.txtに以下の記述を追加します。


set(CPACK_GENERATOR "WIX") もしくは set(CPACK_GENERATOR "NSIS")
include(CPack)


まあ他にも以下の項目を設定した方が良いとは思いますが、ちょっと試すだけなら上記だけで大丈夫です。

CPACK_PACKAGE_NAME
CPACK_PACKAGE_VENDOR
CPACK_PACKAGE_DESCRIPTION_SUMMARY
CPACK_PACKAGE_VERSION
CPACK_PACKAGE_VERSION_MAJOR
CPACK_PACKAGE_VERSION_MINOR
CPACK_PACKAGE_VERSION_PATCH
CPACK_PACKAGE_INSTALL_DIRECTORY



後はPACKAGEというプロジェクトをビルドするとインストーラーが作成できるみたいです。





あと、cmakeを使えば環境にかかわらず以下のコマンドでビルドができるみたいです。

cmake --build . --config Release --target PACKAGE



自動的にvcvarsall.batとかVsDevCmd.batを見つけてMsBuildを使っているのだろうか?
仕組みはよく分かりませんけどそれでできるのであればそれでいいです。











にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
RTCのインストーラー作成時にrt_middleware_logo.ico、rt_middleware_logo.bmpが見つからないエラーが出ると言いましたが、どうやら既知の不具合だったみたいです。
Deselect_required_by_componentというマクロからのエラーはドキュメント生成をONにした場合に発生するエラーだと思うので、そのページに書いてある通りBUILD_DOCUMENTATIONをOFFにしてください。

それから例のPARENT_SCOPEオプションが間に入るのも既知だったみたいなので、そのページの通りに修正してください。

やっぱり仕様だったみたいです。

PythonのCMakeLists.txtの不具合に関しては載っていなかったので既知なのかどうかは不明です。










rtc.confで設定したモジュール探索パスはrtc.confが存在するディレクトリからのパスではなくてrtcdを実行したディレクトリからのパスになります。

なので以下のようなバッチファイル、シェルスクリプトをrtc.confと同じフォルダに作成して実行すれば良いということになります。

run.bat

cd /d %~dp0
rtcd -f rtc.conf


run.sh
#!/bin/sh
cd `dirname $0`
rtcd -f rtc.conf

簡単な事なのですが、こういうファイルを付属してくれたら便利かもしれないです。









以前から気になっていたのですが、PythonのRTCでidlcompile.batを実行すると構文エラーが出ていませんかね?
「'do'は、内部コマンドまたは外部コマンド操作可能なプログラムまたはバッチファイルとして認識されません」と出るので、どうやらif文の所のdoがいらないみたいです。
このエラーのせいでpython.exeがパスから見つかっても、見つからなかった場合の処理も行います。
まあ別にそれで何か問題があるか言うと、全く問題はないので放置しておいても大丈夫です。










にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
今度はPythonでも試してみたのですが、CMakeの段階で失敗しました。
CMakeLists.txtを読んでみると、
 
 
set(CPACK_RESOURCE_FILE_LICENSE "@CMAKE_CURRENT_SOURCE_DIR@/cpack_resources/License.rtf")
 
 
の部分が、License.rtfは実際にはcmakeというフォルダにあるみたいなのでここでエラーが出るみたいです。

インストーラーを作成したい人は上の箇所を修正してください。

そこさえ修正すればPACKAGEというプロジェクトをビルドすることでインストーラーが作成できます。
どうやらPythonのRTCではWIXでインストーラーを作成しているみたいなので、C++のRTCでは何故NSISでインストーラーを作成してしまったのかが余計に分からなくなりました。
そしてインストールすると以下のディレクトリに各ファイルがインストールされます。

C:\Program Files\RTC名バージョン名


INSTALLという名前のプロジェクトを実行した場合、


C:\Program Files (x86)\OpenRTM-aist\1.1\components\python\RTC名バージョン名


と全然違う場所にインストールされるみたいですが、一体どういう意図があるのかが分かりません。

しかもC++のRTCと違ってCMakeLists.txtの中でCMAKE_INSTALL_PREFIXを設定しているみたいなので、CMakeでプロジェクトを作成する段階でこちらでインストールするディレクトリを設定する事はできないみたいです。

ちなみにcmakeでプロジェクトを作成するときに以下のようなコマンドを入力すればインストールするディレクトリを設定することはできます。
cmake . -D CMAKE_INSTALL_PREFIX=パス .
この方法ではPythonのRTCのインストールするディレクトリは上述したように設定できません。
CMakeLists.txtを直接編集するしかないのですかね?












にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
<< 前のページ 次のページ >>
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
フリーエリア
最新CM
[08/31 ysuga]
[08/31 Nobu]
[08/31 ysuga]
[12/11 Nobu]
[12/11 Kanamura]
最新TB
プロフィール
HN:
Nobu
年齢:
36
性別:
男性
誕生日:
1988/09/22
職業:
あれ
趣味:
妄想、自堕落
バーコード
ブログ内検索
P R
カウンター
忍者ブログ [PR]