BeagleBone BlackはTexas Instrument社が開発した小型組込みLinuxボードです。オンボードにeMMCと呼ばれる2GBのフラッシュメモリを搭載し、購入したらすぐに開発できます。 購入時にインストールされているLinuxはAngstromLinuxと呼ばれる少しマイナーなLinuxです。また、ブートはオンボードのeMMCかmicroSDからの二通りの行えます。 動作するLinuxOSは豊富で、Angstromはもちろん、UbuntuやAndroidなどが選べます。 豊富なIOが提供されているため、ちょっとした電子工作からロボット応用まで幅広く使えます。 今回はBeagleBone Blackをより手軽に開発できるようにするため、なるべく購入時のままでRTミドルウェアの動作検証を行います。 注意:この記事を書いている間に、より手軽にBeagleBone Blackの開発環境を構築できるOSのバージョンが出てきましたので、近日新しいOSを使った構築方法を公開します。 2013/11/16 追記: Angstrom Linuxのバージョンに関係なく自動起動の仕組みを提供できるように改善したため、自分に合ったものをお使いください。 念のため、OSの入れ替えの方法を説明しているサイトを紹介します。 http://beagleboard.org/Getting%20Started
BeagleBone Blackに初期状態でSSHでログインできるものと出来ないものがあったため、確実にログインできる方法を示します。 まず以下の写真のようにBeagleBone Blackと開発を行なう母艦PCをUSBで接続します。 後ほどLAN経由でOpenRTM-aistのパッケージをインストールするので、LANケーブルを接続していると良いでしょう。
こうすると、パソコンにはCOM*として接続されます。BeagleBone BlackはターミナルにCOM接続でアクセスできるので、 ターミナルソフト(Teraterm)を立ち上げてCOM接続を行なってください。 Teratermを使って接続する場合は、COM番号が自動的に選択されます
一度エンターキーを押すとこのような画面が出てくるので、ログインを行ないます
ユーザー: root パスワード: 無し
BeagleBone BlackにはデフォルトでAvahiが立ち上がっていますので、windows OSでSSHログインする場合、 Bonjourが入っていればbeaglebone.localでログインできます。 注意:SSHでログインできないことがあるので、もし入れない場合はCOM*でログインしてください。
ホストID : beaglebone.local ユーザー: root パスワード: 無し
OpenRTM-aistを自動的にインストールし、AngstromLinuxにおいて自動起動の仕組みを追加したスクリプトが以下の場所にあります。 このスクリプトは、ネームサーバーまでを自動起動しますので、自分の目的に合ったコンポーネントを起動させてください。 また、このスクリプトを実行すると、BeagleBone Blackでデフォルトで起動する192.168.7.2が起動しなくなります。 これは、RTコンポーネントの自動起動を行う際、コンポーネントのエンドポイントが192.168.7.2になってしまうのを防ぐためです。 このスクリプトを実行する際には、eMMC内部に書き込まれているOSイメージのバックアップをすることを強くお勧めします。 バックアップのとり方はこちらを参照してください。 注意:このスクリプトを実行すると、USBを通してCOM接続も出来なくなります。
2013/11/16 追記: インストールスクリプトで192.168.7.2を無効にする機能を廃止(便利なこともあるので。) 代わりに、AngstromLinuxの起動時に192.168.7.2以外の自分のIPアドレスを探し、Corbaのエンドポイントをそこに指定するようにした。 192.168.7.2を無効にしないため、USBを使ったSSHのログインや、COM接続のログインが使える。
# wget http://openrtm.org/pub/Linux/Angstrom/armv7l/setuprtm.sh # sh setuprtm.sh
個別にインストールしたい方は以下を実行してください。
# opkg install http://openrtm.org/pub/Linux/Angstrom/armv7l/omniorb.opk # opkg install http://openrtm.org/pub/Linux/Angstrom/armv7l/openrtm-aist.opk
先程インストールしたOpenRTM-aistのパッケージにはコンパイル済みのサンプルがあるので、 ConsoleInCompを立ち上げてみましょう。
# /user/share/openrtm-1.1/example/ConsoleInComp
これでBeagleBone Black上でConsoleInCompが立ち上がります。 WindowsでConsoleOutCompを立ち上げて検証を行なった画面が以下になります。
これでBeagleBone BlackでのRTミドルウェア動作確認は終了です。
詳しく書いてある記事を見つけましたので、仕組みはこちらを参照してください。
GUIは処理は重いので、しばらく開発する際にSSHでログインする場合はGUIを切っておいたほうが良いでしょう。 そのやり方を以下に記述します。
# systemctl disable gdm.service
これで次回のブートからXServerが立ち上がらなくなります。 その上で今すぐXserverを停止させたい場合は、
# systemctl stop gdm.service
で停止します。
Xserverをまた立ち上げたい場合は、
# systemctl enable gdm.service
で立ち上がります。
モーションエディタ/シミュレータ
動力学シミュレータ
統合開発プラットフォーム
産総研が提供するRTC集
東京オープンソースロボティクス協会
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
はじめに
BeagleBone BlackはTexas Instrument社が開発した小型組込みLinuxボードです。オンボードにeMMCと呼ばれる2GBのフラッシュメモリを搭載し、購入したらすぐに開発できます。
公式のWikiがありますので、参考程度に紹介します。購入時にインストールされているLinuxはAngstromLinuxと呼ばれる少しマイナーなLinuxです。また、ブートはオンボードのeMMCかmicroSDからの二通りの行えます。
動作するLinuxOSは豊富で、Angstromはもちろん、UbuntuやAndroidなどが選べます。 豊富なIOが提供されているため、ちょっとした電子工作からロボット応用まで幅広く使えます。
今回はBeagleBone Blackをより手軽に開発できるようにするため、なるべく購入時のままでRTミドルウェアの動作検証を行います。
注意:この記事を書いている間に、より手軽にBeagleBone Blackの開発環境を構築できるOSのバージョンが出てきましたので、近日新しいOSを使った構築方法を公開します。
2013/11/16 追記:
Angstrom Linuxのバージョンに関係なく自動起動の仕組みを提供できるように改善したため、自分に合ったものをお使いください。
念のため、OSの入れ替えの方法を説明しているサイトを紹介します。
http://beagleboard.org/Getting%20Started
http://elinux.org/Beagleboard:Updating_The_Software
http://elinux.org/Beagleboard:BeagleBoneBlack
仕様
BeagleBone Blackにログインする
BeagleBone Blackに初期状態でSSHでログインできるものと出来ないものがあったため、確実にログインできる方法を示します。
まず以下の写真のようにBeagleBone Blackと開発を行なう母艦PCをUSBで接続します。
後ほどLAN経由でOpenRTM-aistのパッケージをインストールするので、LANケーブルを接続していると良いでしょう。
こうすると、パソコンにはCOM*として接続されます。BeagleBone BlackはターミナルにCOM接続でアクセスできるので、 ターミナルソフト(Teraterm)を立ち上げてCOM接続を行なってください。
Teratermを使って接続する場合は、COM番号が自動的に選択されます
一度エンターキーを押すとこのような画面が出てくるので、ログインを行ないます
BeagleBone Black にSSHでログインする
BeagleBone BlackにはデフォルトでAvahiが立ち上がっていますので、windows OSでSSHログインする場合、
Bonjourが入っていればbeaglebone.localでログインできます。
注意:SSHでログインできないことがあるので、もし入れない場合はCOM*でログインしてください。
AngstromLinuxの起動方式と自動起動について
BeagleBone Blackで採用されているAngstrom Linuxは、従来のSys V系のシーケンシャルな起動方式と、最近のSystemd方式の起動方法を併用しています。
RTミドルウェアを小型Linuxボードで実行する際、自動的に起動するような仕組みがあれば、たとえばデータロガーとして
使う際、電源を入れてわざわざSSHでログインをせずにデータを取得できるなどのメリットがある。
Angstrom Linuxには一般的に自動起動を行なうrc.localが無かったために、独自にrc.localを作り、
initdからコールするスクリプトを作りました。
[OpenRTM-aistをBeagleBone Blackにインストールする]の項で実行するスクリプトにrc.localを作るよう記述されています。
使い方としては、rc.localをテキストエディタで開き、自動起動させたいファイルを記述するだけです。
OpenRTM-aistをBeagleBone Blackにインストールする
OpenRTM-aistを自動的にインストールし、AngstromLinuxにおいて自動起動の仕組みを追加したスクリプトが以下の場所にあります。
このスクリプトは、ネームサーバーまでを自動起動しますので、自分の目的に合ったコンポーネントを起動させてください。
また、このスクリプトを実行すると、BeagleBone Blackでデフォルトで起動する192.168.7.2が起動しなくなります。
これは、RTコンポーネントの自動起動を行う際、コンポーネントのエンドポイントが192.168.7.2になってしまうのを防ぐためです。
このスクリプトを実行する際には、eMMC内部に書き込まれているOSイメージのバックアップをすることを強くお勧めします。
バックアップのとり方はこちらを参照してください。
注意:このスクリプトを実行すると、USBを通してCOM接続も出来なくなります。
2013/11/16 追記:
インストールスクリプトで192.168.7.2を無効にする機能を廃止(便利なこともあるので。)
代わりに、AngstromLinuxの起動時に192.168.7.2以外の自分のIPアドレスを探し、Corbaのエンドポイントをそこに指定するようにした。
192.168.7.2を無効にしないため、USBを使ったSSHのログインや、COM接続のログインが使える。
個別にインストールしたい方は以下を実行してください。
BeagleBone Blackで簡単にRTコンポーネントを立ち上げて検証を行う
先程インストールしたOpenRTM-aistのパッケージにはコンパイル済みのサンプルがあるので、
ConsoleInCompを立ち上げてみましょう。
これでBeagleBone Black上でConsoleInCompが立ち上がります。
WindowsでConsoleOutCompを立ち上げて検証を行なった画面が以下になります。
これでBeagleBone BlackでのRTミドルウェア動作確認は終了です。
実験としてkobukiRTCを起動し、TKJoystickと接続する
トラブルシューティング
BeagleBone BlackにSSHでログインできない場合
詳しく書いてある記事を見つけましたので、仕組みはこちらを参照してください。
eMMC内部にあるシステムをOSを丸ごとバックアップする方法
詳しく書いてある記事を見つけましたので、仕組みはこちらを参照してください。
GUIはもう使わないと決めたときの対処
GUIは処理は重いので、しばらく開発する際にSSHでログインする場合はGUIを切っておいたほうが良いでしょう。 そのやり方を以下に記述します。
これで次回のブートからXServerが立ち上がらなくなります。 その上で今すぐXserverを停止させたい場合は、
で停止します。
Xserverをまた立ち上げたい場合は、
で立ち上がります。