ラズパイで作るROS搭載ロボット:Joystickで遠隔操作してみよう

ラズパイで作るROS搭載ロボット:Joystickで遠隔操作してみよう

ROSを使えば遠隔操作が簡単

最近はWRSに向けたガチ開発で、記事更新をサボっているAI coordinator管理人の清水秀樹です。

本日はJoystickを使って、ROSを搭載したラズパイタンクを遠隔操作してみたいと思います。

というか備忘録です。(年取ってきたせいか、すぐコマンドを忘れるため。)

サンプルソースコードも記事最下部に紹介していますので、参考にして頂ければと思います。

 

準備するもの

  • ROS搭載ラズパイタンク(別にタンクである必要性はない。動かせるロボットであればなんでも良い)
  • ROS搭載PC
  • Joystick

ROS搭載PCにJoystickを接続して、遠隔操作でROS搭載ラズパイタンクを動かす感じです。

ラズパイにROSを搭載するやり方は以下の記事を参考にしてください。

ラズパイで作るROS搭載ロボット:Ubuntu mate + ROS Kineticのセットアップ手順

 

ラズパイタンクを手軽に作りたいなら以下の記事を参考にしてみてください。

ADRPTB8C制御基盤を使った本格的なロボット開発 for ラズパイ

 

PCにubuntu+ROSをインストールしたい方は以下の記事を参考にしてください。

ROS環境の準備:iMac2012にubuntu14.04をネイティヴ環境にインストールする方法

 

遠隔操作方法

実はこれ、ROSを使うことですごい簡単に遠隔操作が実装できます。

コマンドライン数行で遠隔操作ができるようになります。

まずはラズパイタンク(ロボット側のROS)側で以下のコマンドを入力します。

続いて別のターミナルを起動して、ラズパイタンク側のIPアドレスと起動するプログラムを以下の通り入力します。

以上でラズパイタンク(ロボット)側の準備は完了です。

 

続いてJoystickを接続した遠隔操作するPC側の設定です。

以下の通りコマンドを入力します。

1行目に指定するIPアドレスはラズパイタンク側を指定します。

2行目のIPアドレスは自分のIPアドレスを指定します。

この場合はPC側のIPアドレスですね。

3行目はjoy_nodeの指定です。

この際、エラーが表示される場合は、joy_nodeのドライバーがインストールされていないことが原因ですので、以下のコマンドでインストールしましょう。

indigo部分は必要に応じてROSバージョン名に変更してください。

 

全てが成功すればjoystickでROS搭載ラズパイロボットが動くはずです。

 

参考情報

IPアドレスの調べ方

IPアドレスを調べる方法についてです。

以下のコマンドを入力することで、自分のIPアドレスを知ることができます。

 

Joystickの入力値の調べ方

プログラムを作成する上で、Joystickの入力値を詳細に知る必要があります。

どのボタンを押したらどんな値が返ってくるのか。

以下のコマンドを入力すればJoystickの入力値を確認することができます。

上記3つのコマンドはそれぞれ別のターミナルから入力してください。

成功すると以下のような値がターミナルに表示され、Joystickのボタンを入力するたびに値の変化を確認することができます。

Joystickのどのボタンをどう入力するとどんな値が設定されているのか分かるようになりますので、これらの値の変化を把握した上でプログラムソースを作成しましょう。

 

サンプルソースコード

Joystickで動かすことができるサンプルソースコードです。

ロボットアーム用とキャタピラ駆動用と紹介します。

適当に使ってみてください。

ただし、使用上の注意点があります。

このソースを使用することによるハードの故障等は、一切責任を負いかねますので、それを了承の上で使用してください。

なぜなら、私はサーボモーターを壊しました。

ソースを間違えることで、簡単にハードが壊れることがあるので十分気をつけてください。

 

 

以上です。

それではまた。

About The Author

Hideki
東京大学発AIスタートアップ企業でロボット開発室室長、画像解析室室長、動画解析室室長を務め、AIエンジニアとしても画像認識関連の特許を在籍中に3つ取得。その後、KDDIグループ内でプロダクトリーダーとして自然言語処理パッケージの自社開発を経て、現在はAGRISTのテックリードとして農業の人手不足の解決に向けた収穫ロボットの開発にチャレンジしている。ロボットは技術の総合格闘技との考え方から、AIだけでなく、ハードやエレキ、通信からクラウド、IOTまで幅広く手掛けることができる。最近では人とロボットの共存を目指すべく、性能だけを追い求める開発から「感動やワクワク体験」をデザインできるロボットの研究を進めており、人とロボットがうまく共存できる世界を作り出したいと日々行動している。

COMMENTS & TRACKBACKS

  • Comments ( 1 )
  • Trackbacks ( 0 )
  1. お世話になっております。

    ジョイスティックを用いて、ROSで駆動する遠隔操作用のロボットを制作するため、本ページの記事を拝読させていただきました。

    私の方でラズベリーパイ側でrosrunを実行すると、Couldn’t find executable namedが表示されてしまうため、何らかの設定に誤りがあるものと考えております。

    そこで、差し支えなければ、cmakelist.txt package.xml bashファイルの設定をご教示位いただけないでしょうか。

    よろしくお願いいたします。

LEAVE A REPLY TO 小浦 慧視 CANCEL REPLY

*
*
* (公開されません)