トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

デモプログラムを使う


デモプログラムを使う


 デモプログラムのインストール


デモプログラムdemo_robot.ino(11960)をダウンロードしてください。

ダウンロードしたデモプログラムをダブルクリックすれば、自動的にArduino IDEに読み込まれます。
このデモプログラムを書き込むときは、サーボモータのケーブルを外しておいてください。また、これ以降は電池ボックスのプラグをFreaduino UNOのジャックに挿しこんだ状態でプログラムを書き込んでください。後でサーボモータを接続しながらプログラムを書き込む際に電圧降下を起こさないようにするためです。



ロボットに搭載されたFreaduino UNOとPCをUSBで接続して、デモプログラムdemo_robot.inoを書きこんでください。頭の側面の穴からUSBケーブルを通すことができます。
サーボケーブルはプログラムを書きこんだ後に電源を切ってから、電池ボックスと共に接続し直してください



 サーボモータの位置調整


デモプログラムを書き込んだ直後は、直立姿勢ではなく少し歪んだ姿勢になります。これは故障ではなく、サーボホーンの取り付け位置やサーボモータの個体差のためです。この後、デモプログラムにパラメータを書き込んで、このずれを調整していきます。


ロボットが変なポーズを取ったり、サーボモータがロックした場合は、Freaduino UNO、サーボモータが焼損するおそれがあるので、すぐ電源を切ってください。この場合は、再度原点合わせをして、サーボホーンとサーボモータの軸をネジ止めし直してください。


それでは、実際に調整してみます。
デモプログラムの54行目のint tmp_trim[SERV_NUM]={0,0,0,0}; を確認してください。
ここでは確認だけして数値は変更しません。


tmp_trim[SERV_NUM]={0,0,0,0};は各サーボモータのずれを調整するためのパラメータです。

  1. tmp_trim[0] = 腰サーボモータ用パラメータ
  2. tmp_trim[1] = 右足サーボモータ用パラメータ
  3. tmp_trim[2] = 左足サーボモータ用パラメータ
  4. tmp_trim[3] = 首サーボモータ用パラメータ

例えば、tmp_trim[SERV_NUM]={2,3,-2,-3};とした場合以下のような意味になります。

  1. 腰サーボモータを2°ずらす
  2. 右足サーボモータを3°ずらす
  3. 左足サーボモータを−2°ずらす
  4. 首サーボモータを−3°ずらす

tmp_trim[SERV_NUM]の値を少しずつ(1〜5°程度)ずらして、デモプログラムをインストールし直します。
以下の手順でズレの調整を行ってください。

  1. まず、電源を切った状態で、腰サーボのみ接続した状態にします。
  2. 再度電池ボックスをFreaduino UNOに繋ぎなおします。
  3. この状態で、tmp_trim[0]の値を変更しつつ、デモプログラムをインストールし直して、腰がまっすぐになるようにします。
  4. 以下同様に、右足サーボのみ、左足サーボのみ、首サーボのみという具合に、常に一つだけサーボを接続して、対応するtmp_trim[]を調整します。

これ以降プログラムを書き込む際は、必ず電池ボックスをFreaduino UNOに接続し、電池残量が十分な状態で書き込んでください。

 動かしてみる

それでは、いよいよ動かしてみます。
電池ボックスに電池を入れて、Freaduino UNOにDCジャックを差し込んでください。


シリアルモニタ(ボーレート9600)を立ち上げます。ウィンドウの上部にあるテキストボックスに'w'を押して、エンターボタンを押してください。


ロボットが正常に組めていれば、前方に歩きます。


標準で下記のコマンドがあります。
コマンド 動作
w 前進
s 後退
a 左旋回
d 右旋回
j 首ふり
k 直立姿勢に戻る

歩きはするけど少し不安定という場合は、次のページに進んで、デモプログラムの内容を確認したうえでモーションの調整を行ってください。明らかに動きがおかしい場合(前進するはずが、首を振っているなど)は、ケーブルが正しいピンヘッダに接続されているか確認してください。

<<前のページ  目次  次のページ>>