応用例

四足歩行ロボット(LEGO Mindsorms EV3)

システム概要

このページではLEGO Mindsorms EV3により組み立てた四足歩行ロボットを制御する手順について説明します。

leggedrobotmanual8.png

全体の手順

以下の手順で動作確認を行います。

  • 四足歩行ロボット組立て
  • EV3の準備
    • SDカードへのOSイメージ書き込み
    • 無線LAN設定
    • ホスト名変更
    • OpenRTM-aistのインストール
    • 脚制御コンポーネントのインストール
    • モーターの接続
    • 脚制御コンポーネント起動
  • RTC起動、RTシステム復元

組立て

まずは教育版レゴ マインドストームEV3基本セットを4台用意してください。 ない場合は友達から借りてください。

脚の外観は以下のようになっています。 頑張って組み立ててください。

s_DSC00779.JPGs_DSC00780.JPGs_DSC00781.JPG s_DSC00782.JPGs_DSC00783.JPG

画像を見てもらえばわかる通り、Mモーター1個とLモーター2個を使用しています。 以降、根元からMモーター0、Lモーター1、Lモーター2とします。

s_DSC00779_12.JPG

以下のギアで減速しています。 直径1cmのギアをモーター側、直径4cmのギアを関節側に取り付けてください。

s_DSC00790.JPG

足裏は以下のように平行リンク機構により常に胴体と平行になるようにしています。

s_DSC00787.JPGs_DSC00788.JPGs_DSC00789.JPG

胴体部分は以下のようになっています。

s_DSC00784.JPG
s_DSC00785.JPG

EV3の準備

SDカードへのOSイメージ書き込み

まずは以下のページの手順でev3devのOSイメージを書き込んだSDカードを準備してください。

無線LAN設定

次にEV3の初期設定を行い、EV3を無線LANに接続してください。

ホスト名変更

EV3のホスト名を変更します。 どの脚を制御するEV3かによって、ホスト名をev3-legged-robot0~ev3-legged-robot3と設定します。

/ja/node/6123

まずは/etc/hostnameを開いてev3-legged-robot0(脚番号で末尾の数字は変更)を入力してください。

 sudo nano /etc/hostname

以下のコマンドで/etc/hostsを編集してください。

 sudo nano /etc/hosts

 127.0.0.1       ev3-legged-robot0 ev3-legged-robot0.local

編集が完了したら再起動してください。

OpenRTM-aistのインストール

OpenRTM-aistを以下の手順でインストールしてください。

脚制御コンポーネントのインストール

脚制御コンポーネントEV3_Leg_Controllerをインストールします。

以下のコマンドを入力してください。

 git clone https://github.com/Nobu19800/EV3_Leg_Controller.git
 cd EV3_Leg_Controller
 mkdir build
 cd build
 cmake ..
 make

これで「EV3_Leg_Controller」→「build」→「src」フォルダ内に実行ファイルEV3_Leg_ControllerCompが生成されます。

モーターの接続

次に以下のようにEV3とモーターを接続してください。

ポートA Mモーター0
ポートB Lモーター1
ポートC Lモーター2

脚制御コンポーネント起動

最後にEV3_Leg_Controllerを起動して準備完了です。

 ./EV3_Leg_Controller/build/src/EV3_Leg_ControllerComp

RTシステム復元、動作確認

ここからはPC上で操作を行います。 事前にネームサーバーを起動しておいてください。

まずジョイスティックコンポーネント、脚運動生成コンポーネント、足先軌道制御コンポーネントの起動を行います。 以下のファイルをダウンロードして適当な場所に展開してください。

展開したらstart_component.batをダブルクリックしてください。 これで以下のRTCが起動します。

  • Crawl_Gait_Controller0.rtc
  • Intermittent_Crawl_Gait_Controller0.rtc
  • Foot_Position_Controller0.rtc
  • Four_legged_Robot_Simulator0.rtc
  • FloatSeqToVelocity0.rtc
  • TkJoyStickComp0.rtc

起動したかどうかをRTシステムエディタで確認してください。

leggedrobotmanual93.png

間歇クロール歩容

間歇クロール歩容により歩行させて動作確認を行います。 RTCが起動したら、「IntermittentCrawlGaitEV3」フォルダの「resurrect_IntermittentCrawlGaitEV3.bat」を起動してください。 これでデータポートが以下のように接続されます。

leggedrobotmanual10.png

接続するポート
アウトポート インポート
モジュール名 ポート名 モジュール名 ポート名
TkJoyStickComp0 pos FloatSeqToVelocity0 in
FloatSeqToVelocity0 out Intermittent_Crawl_Gait_Controller0 target_velocity
Intermittent_Crawl_Gait_Controller0 Trajectory Foot_Position_Controller0 Trajectory
Foot_Position_Controller0 motor_pos_0 EV3_Leg_Controller0(ev3-legged-robot0) in
Foot_Position_Controller0 motor_pos_1 EV3_Leg_Controller0(ev3-legged-robot1) in
Foot_Position_Controller0 motor_pos_2 EV3_Leg_Controller0(ev3-legged-robot2) in
Foot_Position_Controller0 motor_pos_3 EV3_Leg_Controller0(ev3-legged-robot3) in

start_IntermittentCrawlGaitEV3.batを起動するとRTCをアクティブ化し、ジョイスティックで四足歩行ロボットの操作ができるようになります。

非アクティブ化をする場合はstop_IntermittentCrawlGaitEV3.bat、ポートを切断する場合はteardown_IntermittentCrawlGaitEV3.batを起動してください。

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2209
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク