ミニロボットアーム1のソフトウェア

概要

ミニロボットアーム1のソフトも、このホームページの他の2足歩行ロボット等と同様、PC用のソフトとマイコン用のソフトから構成されています。


パソコン用ソフト
    Visual Basic 2010で作りました。大きくはRCサーボに出す信号と、関節の角度を関係づける調整をする機能 と、APT言語風にロボットアームの動作を記述したプログラムを解釈し、その通りに動かすための関節の角度 データをマイコンに送る機能があります。
画面遷移図(クリックで拡大)
画面遷移図

各画面の説明

メイン画面 1.メイン画面
入り口の画面です。シリアルポートへの接続と機能の切り替え、そしてちょっとした 機能テストなどを行います。

「調整」ボタンをクリックすると「関節パラメータ編集」画面に切り替わります。

関節パラメータ編集画面 2.関節パラメータ編集画面
マイコン側で実際にPWMパルス幅を制御しているタイマーのカウント数と、関節の角度の対応関係 を決める「関節パラメータ」を編集する画面です。画面に出ている数値は0番サーボの例で、 関節が90度の時は0、0度の時は1870、そして−90度の時は3720の意味です。

線形補間で計算する場合の「傾斜」と「オフセット量」も入力できるようにしてあります。

調整・テスト画面 3.調整・テスト画面
「関節パラメータ編集画面」と同時に表示される画面です。ラジオボタンで選んだ関節を1ずつ動かしながら 関節パラメータを決めてゆきます。

「PGM」ボタンをクリックすると「動作プログラム作成・実行」画面に切り替わります。

動作プログラム作成・実行画面 4.動作プログラム作成・実行画面
実際にロボットを動かす「動作プログラム」の作成・実行画面です。「プログラム」テキストボックスの中に 書いたプログラムのとおりにロボットが動きます。コマンドとして認識されるキーワードは以下のとおりです。

  • $ :コメント行
  • DLAY :引数の数字X msecの間、実行中断(一時停止)する
  • FEDRAT :エンドエフェクタ先端の移動所要時間を設定する
    (GOTOでの次の座標まで、PWMパルス何回で移動するか、を指定する)
  • GOHOME :エンドエフェクタ先端をホームポジションまで動かす
  • GOTO :エンドエフェクタ先端を指定の座標まで動かす
  • SPINDL :スピンドルON/OFf
    (エンドエフェクタとしてモーターと切削工具が付いているつもり・・・実際はLEDのON/OFF)
    • ソースコードのダウンロード:

        この記事を書いている時点で2021年なので、ダウンロード用に置いたソースコード/Visual Studioのプロジェクトは Visual Studio 2019用に変換し、変換時にエラーになった部分を直しておきました。

        2021/03/22版:edu_arm1_vb(VB2019のプロジェクトとフォーム)


    マイコン(AKI H8/3664F QFP)用ソフト
      このマイコンキットが発売された頃はキットに添付されていた(様な気がする)1997年のタイムスタンプ があるコンパイラ用のコードです。RCサーボへ角度データとして入力するPWM信号を作る機能と、PCから 角度指令値を受け取る機能などがあります。
      コーディングはVisual Studioを使っているので、パソコン同様にVisual Studio 2019のプロジェクトを置いておきます。 同じ流れのソフトを、たとえばCortex M0用にmbedで、大体同じように作れるので、2021年時点でも参考になると思います。

      ソースコードのダウンロード:

        2021/03/22版:edu_arm1(VC++2019のプロジェクトとフォーム)


    戻る

    ホームへ戻る