ソフトウェアのページ
概要
このページではソフトウェアについて説明します。
この機体にはパソコン用、H8/3048F用、Z80用そしてPIC(16C84)用のソフトがあります。
ソースコード公開のスタンス
よくロボットを見ていて「このロボットはどんなソフトで動いている
のだろう?」と興味を持つ事が多いので、自分のロボットの制御ソフト
のソースコードを公開します。前作からの流用部分も多いため、
コメントが嘘になっている部分や、実験の途中で使った後
使われなくなっている部分等ありますが、適当にご覧ください。
今のところ、詳細な説明をする予定はありませんが、これらソースコード
の中に利用可能な部分を見つけられた方は、ご自分の責任の下に、自由に
使っていただいて結構です。
[パソコン用ソフト]
[H8ソフト]
[A3000ソフト]
[PIC用ソフト]
[制御波形]
パソコン用ソフト
概要:
6L1(6足歩行ロボット)のソースから、最終状態で使用していなかった
部分を消去した後、逆運動学計算ルーチンなどの関数の構造を2L1(2足歩行ロボット)
のノウハウを元にしてすっきりと書き直しました。
パラレルポートを操作する関数や、行列演算の関数等の基本的な関数は2L1、6L1以来の
ものを流用していますが、バグの修正や例外処理の追加等を行っているので若干完成度が
高くなっています。
開発環境:
Microsoft Visual C++ V4にてコンソールアプリケーションとして製作しました。
機能概要:
調整に使うルーチン(関節を1つだけ動かすとか)、
制御波形を作るルーチン、そして制御波形でロボットを動かすルーチンの
3種類におおよそ分けられます。それらのルーチンの下には、
各種データファイルを読み書きするファイルI/Oルーチン、
逆運動学計算等に使う幾何計算・行列計算ルーチン、
I/Oポートを操作するルーチン等があります。
今のところ6L1にあった、接地センサーや傾斜センサーの入力を反映しながら、
リアルタイムで逆運動学計算をして歩くルーチンと動作確認ルーチンがありません。
リアルタイム歩行制御ルーチンについては、今後、力と傾斜のフィードバックの
要素試験が終了した後に、新規に作るつもりでいます。
動作確認ルーチンの方は、ロボットが安定して動く今となっては必要性を感じないため、
移植の予定はありません。
要素試験用ルーチン:制作途中で各部の試験を行うために作ったルーチンです。
ロボット製作の進行状況に合わせて作りました。主なものに「関節番号を指定して
サーボデータ(8ビットの整数)を直に出力」、「足先のX,Y,Z座標を指定して
脚1本だけを動かす。」などがあります。
制御波形作成ルーチン:直進、緩旋回、超信地旋回などそれぞれの歩行
パターンで、歩行ピッチや速度を変えた制御波形を作るルーチンです。
入力として、軌道接地部分の長さ、足先を持ち上げる高さ、軌道分割ピッチ
(何mmピッチで接地部分を分割するかを示す値)等を入力します。
制御波形再生ルーチン:制御波形を指定回数繰り返し出力します。
ソースコードのダウンロード
:Win9X用のC言語のソースコードです。書きかけではありますが、一応ロボットが動く
レベルまでは出来ていますので置いておきます。(Program name: 4legs / 65 Kbyte)
A3000用ソフト
H8用ソフト
開発環境:
パソコンのVC++4の環境でプログラムを作成し、コンパイルが通る
事を確認した後にH8用のクロスコンパイラでコンパイルします。
そして、ヘキサファイルはシリアルポート経由でH8の内蔵RAMまたはROMへ転送します。
クロスコンパイラは秋月でH8のキットの側で売っているCコンパイラ
(素性は知りません。)を使用しています。
機能概要:
有線制御用のプログラムと、無線操縦用プログラムがあります。
有線制御用プログラム:
A3000からサーボの制御信号が出るときには、1本のケーブルあたり8個の信号が
含まれています。この信号を各サーボに分ける働きをするソフトです。
ソースコードのダウンロード
:H8/3048用のC言語のソースコードです。(Program name: sig_distr / 2 Kbyte)
無線操縦用プログラム:
RCデコードボードから波形番号を読み取り、ROMに格納された制御波形のデータを
順にサーボへ出力する機能を持ったソフトです。6L1の時と比べると、ROMの
容量が大きくなった分制御波形を3倍多く持っています。
でも、制御のコア部分そのものは小さいので、開発中はROMへモニタデバッカをロードし、
制御波形を1セットだけ持たせる様にしたコンパクト版のプログラムをRAMにロードして
歩行パターンの試験をしました。
ここに置いてあるソースコードには、ロボコンで使った波形データが入っています。
ソースコードのダウンロード
:H8/3048用のC言語のソースコードです。(Program name: servo_con2 / 37 Kbyte)
PIC用ソフト
制御波形
4足歩行ロボットのトップページへ戻る
ホームへ戻る