2025年11月25日火曜日

第4回新ROBO-剣参加

11/16に行われた 第4回新ROBO-剣に参加しました。ロボットは去年と同じ「逡巡」です。

結果は本戦トーナメント2勝1敗、敗者トーナメント(本戦で早めに負けたチームによる別リーグ)第2位でした。新ルールでは、今回初めて有効な攻撃で勝利を挙げることができました。勝利した試合はすべてストレートの2本先取となっており(1本取った後に電源が落ちてタイムを取得したことによる反則のみ1回あり)、安定した動作ができるようになってきたと思います。

今回の変更点としては、システムの信頼性を向上させ、また開発途中だった部分を完成させ、前回できなかった動作をできるようにしたということになります。

特に、「移動しつつアームの動作を開始して、アームの届かない範囲から攻撃を行う」という動作も部分的に実現し、試合のアルゴリズムにも組み込んで実際に有効打突を取ることができました。「部分的に」というのは、予め進む距離を固定値(25cm)で与えてあり、この分アーム原点をずらして打撃成功する軌道が作れたら採用する、となっている点です。本来は踏み込む距離も逆運動学の変数に入れて解くのが綺麗なのではないかと思います。

試合のアルゴリズムは大まかには、次の3つを常に行います。

1. 相手の方を向く
2. 相手との距離を保つ
3. 有効打突部位が打てそうな状態であれば打つ

またこれらと並行して、フィールド外周から落ちないように、縁に近づいたらその近さに応じて中央方向に戻す速度ベクトルも加算しています。現在位置の認識はIMUと独立計数輪で測った移動距離をスタート地点から積算するのみとなっています。ROBO-剣のルールであれば試合時間の3分程度は誤差も許容範囲に収まると読んで設計した方法でしたが、今回実際にそれが証明されました。

特に敗者トーナメントの決勝戦では、相手ロボットはアームの届く距離まで接近しようと近づいてくる一方で逡巡は踏み込んでの打撃に適した距離を保とうとし、結果的にフィールドの周りを回りながら3分間ずっと追いかけっこ(後ずさりで逃げる側)しつつの攻防が繰り広げられる、という格好になりました。次第に誤差によりリング縁に寄っていき最後は車輪のうち1つがリングから脱輪したもののそのまま復帰し、時間一杯まで動作を続けました。

上記のような刺激反応系のreactiveな部分しかできていないため、この例もそうですが、相手によっては膠着状態になってしまうことがあります。せっかくマップ上での自己位置という大局的な情報が使えていてこれは優勝ロボットにもないものなので、次はこれを活かして相手の横に回り込む、追い詰める、等といった戦略的な部分も実装したいと思います。

また、基礎となる制御的な面で改善点というかまだ実現していない点になりますが、次は移動している標的にも当てられるようにしたいと思います。

これは、現在は相手が止まっているものとして動いているため、動き回り続ける相手にはなかなか当たらない、というよりも原理的に当たらない、という状態になっています。テーブルホッケーロボットと同様に対象物体の移動履歴からの外挿による行き先予測を使えばひとまずできるのではないかと考えています。

実はこの逡巡でも既に一度作ったことがあったのですが、当時は固定型アームだったため、相手も直線的な予測しやすい軌道では動かない上、外挿はノイズを増幅するため誤差も出やすい、ということで保留していました。移動型の新ROBO-剣では効果の方が勝るかもしれません。

十分な効果を得るには対象物の位置計測の精度と、全体的な処理速度の向上も必要となります。3次元点群を入力とする処理をしているので処理量が多くなりがちで、現状では毎秒7〜15回ぐらいとなっていました。これを改善するのが次の課題となります。

優勝した「メタリックファイター」は毎秒30回のビデオフレームレート内で処理が終わるようにという縛りをソフトウェア設計に入れており、単純なラスタ画像(深度)の処理で相手の認識を行っている、処理対象データもなるべく減らしている、とのことでした。逡巡ではガードをかわしての打突(防がれるような打ち方はしない)ということも目指しているので3次元点群を対象とする処理という方式は変えないと思いますが、この30fpsを目安として少しでも近づけるように今後処理の方法を考えていくことにします。

2025年10月25日土曜日

超音波浮揚実験装置 version 3

スイッチサイエンスの委託販売で「超音波浮揚実験装置 version 3」を販売開始しました。

旧バージョンの「超音波浮揚実験装置」を2年ぐらい前から同じく委託販売していました。これは好評で何回か追加納品を行い合計で48台売り上げました。その後この新版準備を始めてからしばらく品切れ状態になっていました。この新バージョンは、今後より安定して多くの人の手にとってもらえるように、設計を一新したものです。超音波を出力する部分の機能はMCUも同一で同じですが、装置全体や基板の形も変わったので別商品として登録、旧商品は販売終了としました。


見た目通り、基板に2個のスピーカーを向かい合わせて直接固定する方式になり、ネジとスペーサーによる組立が不要になりました。代わりに、基板を立てるスタンドも付けました。

また、回路設計の変更点としては次のものがあります。

「一般的なUSB-Cが使用可能」: 旧バージョンは電源供給用のUSB Type-CコネクタVBUSの5Vを使っていたため、USB-AからUSB-Cへの変換ケーブルを使う等する必要があり、スマートフォンの充電器等をそのまま使うことができなくなっていました。新バージョンでは抵抗を使ってsink側であることを識別させるport configuration processに対応したので、供給元が何であっても動作できます。

「改造用に3V~5Vで動作可能」: コイルを用いたスイッチング昇圧回路を搭載しており、入力電源から12Vまで昇圧して超音波スピーカー駆動の電源としています。また、制御用の5Vもこの12Vから降圧して供給するため、電源が5Vより低くても動作可能です。これは、乾電池2~3本での動作を想定しています。旧バージョンでは昇圧回路にチャージポンプ方式のMAX662を使っていたため入力がほぼ5Vに限定されており、またVBUSの5Vを直接MCUの電源としていたためこれができませんでした。

なお、製品名が超音波浮揚実験装置「version 3」、基板のバージョンが「3.2.1」となっています。

version 1はもちろん旧バージョンの「超音波浮揚実験装置」ですが、version 2 が一応存在するということです。version 3と同じスイッチング昇圧回路を入れた、形状はversion 1と同じ、というものでした。

また、version 3.2.0は基板の色違い(緑)で、スタンドを組み合わせるスリット部分のサイズが0.3mm前後違う(少し緩かった)、というものでした。こちらはMaker Faire Tokyo 2025で販売し、7台完売となりました。

更に遡ると、3.0.0はLEDの向きが上向き(眩しい)かつスピーカー間のギャップがもう少し広かった、3.1は回路パターンの引き方が違った、等といろいろ細かい改善を重ねています。

途中までバージョンをA、B、…としていたのでその名残で2.0.0はD、1.0.2はC、という文字がバージョン番号に含まれています。

2025年7月19日土曜日

GS2 LiDAR

知能ロボコン出場にあたり、LiDARユニットGS2を使いました。

競技台の特定箇所で壁との相対姿勢を計測し、ロボットが移動するの際の位置と向きの基準をリセットするために使用しました。


RGB-Dカメラがあるのでこの使い方は本来不要かもしれませんが、元々新ROBO-剣に向けて床面検出用にと購入していたもので、昨年・一昨年の時点では結局使っていなかったのでこの際使ってみました。

YDLIDARの提供するROSパッケージを使うと、ROSで類似したセンサーを扱う際に一般的なsensor_msgs/LaserScan型のメッセージとして受け取ることができます。LiDARから得られる情報は、方向角それぞれに応じて反射した物体との距離および反射強度(更に信頼度合いconfidenceがある場合も)、となるのでそれを表す型になります。但しGS2の場合は2つのイメージングセンサーを持っており、それら各々の画像で独立して三角測量を行えるため、視野の重複部分は1つの角度に対して複数の点があることになります。そのため、このROS用ライブラリでは適当に結果を統合して1つのセンサーをエミュレートしているのではないかと考えられます。(実際、別の専用アプリを使うとその前のデータを確認することができます。)

LaserScanのデータから線分を構成する点群を探し出すためには、仮説(線分の位置と回転)の生成・フィッティング・最適化等の処理が必要になりますが、それらはlaser_line_extractionというそのものずばりのパッケージがあったのでこれを使用しました。
図: GS2によるlaserscanとlaser_line_extractionで線分として検出した部分の可視化。GS2と知能ロボコンでの使用に合わせてパラメータは調整した。

なお余談ですが、LiDARといえばレーザー光を回転させて様々な角度でToFの原理による距離測定を行うものと思っていたのですが、"light detection and ranging"または"laser imaging, detection, and ranging"の短縮語とされて(https://en.wikipedia.org/wiki/Lidar)いるので、仮にラインレーザーのように同時に複数点を照らす光切断法のような計測方法でも広い意味でレーザー光と検出器を使った距離測定ではあるのでありなのか、ということに気づきました。ソフトウェア上ではデータフォーマットとしては上記のように同一視して扱いますが、アーティファクト(現実と違う意図しない計測結果)の出方等で異なる特性があるかもしれません。

2025年6月30日月曜日

知能ロボコン2025参加

6月14、15日、知能ロボットコンテスト2025にロボット「逡巡」で出場しました。

昨年同様、新ROBO-剣用のロボットを最小限の改造で流用、基礎的なプログラムの開発を進めるとともに実運用して問題点を洗い出すという目的でした。

結果は決勝戦まで進出、チャレンジ技術賞を受賞しました。ロボットを1つのロボコンで終わらせず工夫して活用しているということが、技術的チャレンジとして評価されました。

新ROBO-剣参加時と異なる点は以下の通りです:

  • 竹刀を吸引装置と交換(剣の刀身部分も交換、本来は柔軟な竹ひご)
  • 足元のボールが見えるようにカメラの取り付け方を変更
  • スタートスイッチとして使っている無線ゲームコントローラーをロボットに搭載
    (知能ロボコンルール上はロボットのパーツの一部、よって単独型)
  • プログラムの一部 (ボール認識、アームの動き、知能ロボコン競技のための動作シーケンス等)
結果として、アームが不必要に長い上に本来ないはずの大きな質量を先端に増やしてしまっており、ロボットの性能としては良くない状態なのですが、その反面動きも見た目も「本来の用途と違うロボットを改造した」という感じがして特徴的になったのではないかと思います。

決勝戦の映像です

昨年より主にソフトウェアの開発を進め、またセンサーを追加して一応の完成といえる状態まで進めることができました。しかしながら、対象物エリアの全面を探索するための最終的なアプリケーション部分が完成しなかったため、エリア半分ぐらいまでのところでプログラムとしてはシーケンス終了となり、時間を残して競技終了となりました。満点を狙える程にするためには個別の動作、特に対象物探索をシームレスに行うなどしなければならないので、単純に探索範囲を追加するだけでは難しかったと思います。

知能ロボコン参加ロボットとしての昨年からの実質的な改良点は以下のような事項があります:

  • アームのモーション
ボールをゴールへ投入する際、昨年は後方に投げるようにしていました(去年の動画参照)。この動きは実はとても速いのですが、ボールを地面に跳ねさせるため若干不確実性があると考え、今回はゴール前まで持っていき、地面の高さまで下げてから落とすようにしました。このとき、ボールを上に保持する姿勢から下げた姿勢へと単に各々の関節角度を遷移すると、肘と肩が同時に伸展した状態を経由するためにゴールネットに接触してしまいます。そのため、キーフレームをいくつか追加して先に肘を下げるような動きとしました。(映像で見てください)
また、ボールを拾う際にも、吸い付けたボールが更に前方にある壁やボールと干渉しないように、少し引き付けながら持ち上げているのも注意深く見るとわかると思います。
  • LiDARによる自己位置補正
LiDARのYDLIDAR GS2を車体下部前方に追加しました。これはもともと(2年前から)ROBO-剣で相手または床を検出するようにと用意していたものでしたが、今回ようやくロボットに取り付けられた形です。スキャン面は水平面内に向けて、LiDARの最大距離まで壁を検出できるようにしました。
  • 3色のゴールに運搬する処理を実装
昨年は移動制御がちゃんとしておらず、長い距離を移動するとどうせ失敗するだろう、ということで常に最も近い赤ゴールに投げていました。上記、自己位置補正が入ったことで半永久的に動き続けることが可能となったので、色分けして捨てる機能を実装しました。色の認識は、実はボールを拾う際にカメラで位置と同時に色も認識しているため、昨年から変更ありませんでした。
  • 目標地点への移動制御

昨年時点では、PID制御すらフルに実装されておらず、ほぼP制御(本来は目的地から遠いときに速度ベクトル方向を与えるための処理の流用)しかなく、かつ駆動輪モーターのバックラッシによる発振を抑制するために、停止位置誤差も数cm許容していたような状態でした。そのため対象物の拾い上げもよく失敗していました。今回、目標地点付近では位置を目標位置にする普通のPID制御(但しx,y方向独立)を導入し、パラメータ調整をちゃんとすることで、目的地に正確に停止できるようにしました。移動終了判定の誤差が1cm以内となっています。映像でも、一旦止まったように見えてその後じわっと微速で動き出して調整する様子が見えると思いますが、これがPIDの積分項が効いている効果です。

画像をもとにボールを拾う位置に移動するときも同様のことを行っています。これにより確実にボールを拾えるようになりました。やはり自動制御ロボットでは基本的な動作を順に積み上げていかないといけないという好例ではないかと思います。

その他の写真:

今年は、競技中に自分で写真を撮るぐらいの余裕がありました。(動画記録用デジカメはまた別にあり)


今年初めて、パンフレット用のロボット紹介写真とデータがポスターとして掲示されていました。とてもわかりやすくて良かったと思います。


2025年6月29日日曜日

KONDOのロボット用シリアルサーボのためのUSB-ICS変換基板

KONDOのICSとは、 KONDOのロボット用サーボシリーズ(KRS-2500番台、4000、5000番台など)等に採用されている半二重調歩同調・CMOSレベルのシリアル通信規格です。技術資料が公開されています。1本の信号線で送受信を行い、同一バス上に複数のデバイス(主としてサーボ)を接続できます。IDを指定してサーボに目標位置の指令を送る他、現在位置や電流などの状態を取得したり、速度や電流のリミット等の動作パラメータを設定、更にはIDや通信速度等の設定をサーボ内の不揮発記憶に書き込む等の操作が行えます。

この通信はKONDOのロボット用マイコンボードRCB-4やKCB-5等が行う他、PCからシリアルポートとして認識させて直接通信を行うため専用のUSBインターフェースアダプタも市販されています。(KONDO Dual USBアダプター。ICS USBアダプター(No.02043)は販売終了)

今まで、「銀雲雀」「逡巡」「テーブルホッケーロボット」「インタラクティブ・ペンプロッタ」等のロボットでPCから少数のサーボを制御するため使用してきました。

KONDO純正のUSBアダプタはコネクタがUSB-Aで限定されること、RCB用のシリアルとの切り替え式となっていること、また価格もそれなりにする、などの理由でロボットに搭載するには不便なところもあるため、最近になって自作しました。


秋月のFT234X 超小型USBシリアル変換モジュール を使用しました。これにより難しいはんだ付けをすることなくUSBのmicroBコネクタを使うことができます。このモジュールには4本のピンに加えて、基板裏面のパッドにもう一つ、FT234のCBUS0端子が出ています。このCBUS0端子はI/Oであり、機能を選択して使えます。工場出荷時にはTXDENとなっています。

TXDENはRS485等のバスでの送信を許可するタイミングを出力する機能で、送信データのスタートビットの1ビット前からストップビットまでの間ONになる、となっています。ICSの半二重シリアル通信も「送信時のみ出力をONにする」という点で同じなので、スリーステートバッファの74HC126をこの信号で制御して使います。ブレッドボード上で確認して最大速(1.25Mbps)の通信速度でも動いたので、採用しました。


この基板はFT234Xモジュール基板とぴったり2枚重ねにして接続して使用します。ピンヘッダ接続用の4本のピンはそのまま上下に導線を通してはんだ付けできるのですが、CB0端子は表面にパッドがあるのみなので、ここははんだごての先が入る程の大きめのスルーホール穴を開けておいて基板同士を直接はんだ付けするようにしました。
なお本来このように基板に基板を直接ハンダ付けするような場合はM5Stampのように端面スルーホールにするとよりはんだ付け作業がしやすくはんだ付け状態も確認しやすいので確実なのですが、端面スルーホールは基板製造を注文する際に追加料金が発生するため、このような方法を採用しました。

上の回路は信号線とGNDのみを接続するものなので、実際にサーボに接続するにはサーボの電源を別途接続する必要があります。「逡巡」などのロボットではサーボハブ基板を作り、これにその機能を持たせています。(但し2025知能ロボコン時点では動作実績の確認が不十分だったため、このICS変換基板の採用は見送り、純正のUSB DUALアダプターを載せていました。)


(緑の基板左にある1個だけ離れた3ピンコネクタが信号線用で、左のUSB変換基板と接続する。残りのピンヘッダはサーボ、白いコネクタはサーボ電源)

2025年6月13日金曜日

VSCodeで[Enter]キーが単語補完機能に横取りされないようにする

Visual Studio Codeの単語補完機能は有用ですが、エディタの使い方によってはかえって文字入力の妨げになるケースもあります。

例として、新しい入力行の末に

len

と入力するとき、"len"が候補になく"length"が第一候補にある場合、最後に改行のenterを入力すると"length"に補完されてしまい、かつ改行文字の入力が1回無効化される形になります。これをさせず単に文字入力をするには、[Enter]入力の前にEscキーを押す等の追加の操作が必要となります。

これは [Accept Suggestion On Enter] という設定項目で制御されています。(control+[,]設定タブでacceptSuggestionOnEnterを検索)

この項目はデフォルトでonになっていますが補完を入力するキーには他に[Tab]があるため、こちらを使う場合は上記設定をoffにしてもよく、私はこの設定で使うことにしました。

2024年10月6日日曜日

マイコン時計 静音化の検討

現状のHWでは稼働時(回転させて時間を見る時)に騒音が大きいという問題があります。これは主に駆動部のギヤから発生しています。モーターを横置きにしているため回転方向を90度変換する必要があり、そこにクラウンギヤを使用しているためです。一方でベルト(輪ゴム)とプーリによる駆動、ベアリングの回転音はほとんどなく静かです。

何故モーターが横置きなのかといえば、扁平な形状(円筒の高さが低い)のDCブラシモーターで安価に入手できるものがなかったためです。ブラシレスDCモーターであればこれに合う形状をしたものが多くあり、これを使うことを考えます。

電気電子機器の冷却用に使われるDCファンがドライバ込みでパッケージ化されており使えるかもしれないと思いましたが、トルクが十分でなかったので不採用としました。

ドローン(航空機)用の小さい3相ブラシレスDCモーターで使えそうなものがあったので、購入して試してみました。

出力、寸法共に良さそうなので、これで次のバージョンを設計します。 

上の実験では市販のドライバ基板(R/C用ESC)を用いました。性能自体は良いのですが、安全のため電源ON後は一旦スロットルをアイドルに入れてからしか回らず、またそれを知らせるためにしばらく回らずモーターから(回転子またはコイルの振動により)音を出す機能が入っています。時計に使うには不便ですので、DCブラシレスモーター駆動回路も適当なドライバICと共に自作回路基板に載せることにします。

2024年9月29日日曜日

KitMill BT200用の新PCセットアップ (Windows11でダウンロードしてコピーされたファイルが読まれない問題)

 今までThinkpad X60sで運用していましたがWindows10にアップデート後徐々に動作が怪しくなり、また起動時ファンエラーが出るなどハードウェアの故障も疑われるようになってきた上、ついに正常にログイン・ログアウトができなくなったため入れ替えることにしました。

中古PCショップで偶然見つけたARROWS Tabを購入しました。Windows11で新たに入ったと思われるセキュリティに対する設定が必要でした。

KitMillはCNCv4というソフトウェアを使用し、更に機械のパラメータ(送りネジとモーターのステップ等)やUI言語対応の設定ファイルをダウンロードしてコピーするように指示があります。

Windows11ではインターネットからダウンロードされたファイルはたとえデータファイルであっても(信頼性を担保できないので)一旦コンピューターのプログラムからのアクセスが制限されるようで、ファイルの[プロパティ]を見るとその旨が表示されていました。

ファイルの[プロパティ]から、上記の説明が書かれている部分で許可するチェックを入れて[OK]で適用することで読めるようになり、設定が適用されて使えるようになりました。

2024年9月17日火曜日

新版モータードライバ

 モータードライバ基板の新版を組み立てました。ロボット「逡巡」の2号機に搭載し、問題なく動作しました。


些細な問題として、新旧基板でモーターコネクタの極性が逆になりました。これは旧版を組み立てた際にコネクタのロック解除レバーが押しにくいことに気づき、組み立て段階で部品取り付け方向を逆にしていたためです。新版では回路図(部品の結線)は同じで基板設計だけ直したため、逆になりました。

またもう一つ、ハーフブリッジゲートドライバICのIRS2003IR2302Sをどちらでも使えるような設計にしたのですが、そのためジャンパ設定の説明をシルク印刷したものが逆でした。
この2つのICは機能とピン配置はほぼ同じで入力信号の形式が異なっています。
IRS2003: HINと~LIN:  ハイサイド・ローサイドを別々に指定する
IRS2302S: INと~SD: 上下どちらのFETをONするかと、シャットダウン信号
本回路の使い方ではフルブリッジで正転・逆転・ブレーキのいずれかとします。そのためIRS2003の場合はHINとLINに同じ信号を入力すれば良いのでこの2つをショート、IRS2302Sの場合はシャットダウン信号をまとめて別の信号で制御する、という風にして両対応できるようにした、という経緯でした。


2024年5月8日水曜日

Afinia H480の冷却ファン周辺部品

Afinia H480の冷却ファンの下についている部品が変色してきていたのでメンテナンスしました。ついでに気づいたことを記しておきます。

この部品はファンの空気の流れを導く役割をしていると思われます。今まで気づかずに使っていたのですが、手動でつまみを回すことでフラップを開閉して空気の流れを変えられるようになっています。時計回りに回す(出荷時)とフィラメントを溶かすホットエンドのヒートシンクのみに風が当たり、反時計回りに回すと新たな風の通り道が生じてノズルの先の造形物も同時に冷やされるようになります。



マニュアルに記述を見つけられませんでしたが、ABSの場合は閉じておくのが良いようです。これは以前見たことのあるFlashforgeのCreator PROがABSとPLAの場合で屋根を付け外しするように指示があったことからの類推でしたが、実際に出力してみた結果でも違いが見られました。(但し試したのは1回だけですので、ちゃとした実験ではありません)

いずれもABS(Premium)素材を使用、写真右がフラップを開いて(=ノズル先がよく冷える設定で)出力した場合です。造形物が明らかに曲がっている部分があり、正常に出力できていません。これはおそらく推奨外の使い方なのでしょう。一方、融点の低いPLAの場合は造形物をよく冷やすのが良いと予想され、そのためにこのフラップが付いているのではないかと思われます。これは今後PLAを使う際に試してみたいと思います。

なお、このフラップは部品本体と一体で成形されています。スペアパーツ用データで自分で出力した場合は、適宜サポート材を除去すると動くようになります。出荷時の部品も微妙に癒着が取れていないような状態でしたので、そもそもこの機能があることに気づくのが遅くなったのでした。

※Afinia H480/800の部品のうち、3Dプリンタで作られているもののデータは制御用ソフトウェアと一緒にProgram Files下のディレクトリにインストールされます。

2024年4月29日月曜日

4ch DCモータードライバ回路

新ROBO-剣ロボットを作るにあたり、移動機構モーター用のDCモータードライバを設計しました。FETゲートドライバのIRS2003SあるいはIRS2302をアプリケーションノート通りに使用する回路になります。

これは回路図の一部です。モーターを4個使用するので、実際には同じ回路を4個並べています。

これは最初のバージョンで、基板設計の段階で一部間違えた箇所を修正しながら組み立てました。この後修正済みの基板を再度発注し直しています。

FETにはFKV575を使用したので、余裕を持って数十Aの電流を流すことができます。ただし実際にはVHコネクタの定格が10Aでこちらがボトルネックになるはずです。実際そこまでの使用は想定しておらず、回路全体のヒューズも20A程度のものを装着しています。

なおこれでも明らかなオーバースペックで、実際に走行中も電流は多くて1A前後という程度で、当然ながら特に問題なく動いていました。絶対に壊れないということでこのような設計としましたが、省スペース化のためにはFETを変えたり放熱方法を変えたりしても良いかもしれません。

Maker Faire Kyoto 2024に出展

Maker Faire Kyoto 2024で展示を行いました。


ROBO-剣を多くの人に知ってもらい、興味を持ってもらえたと思います。このサイズのロボットが機敏で正確に動くのは面白いというような反応を多く貰いました。

今回はロボット1体だけですので実際のロボット同士の試合ではなく、移動機構の説明、対象との距離を保つフィードバック制御、そして面や胴への打撃を実演しました。

試合用の自動制御プログラムはまだ開発中で、移動と打撃を同時に行うと精度が出ないため、手動操縦も活用して各々の機能の解説という形になりました。

前回大会以来あまり進んでいなかったので、今回展示を通じて問題点の洗い出しができたと思います。重大なトラブルはありませんでしたが、次のような事項がありました。発生の原理や条件もある程度わかったので展示中は回避できましたが、次の大会までには根本から直しておきたいと思います。

  • 初期化処理が甘いことにより起動に失敗し、手動でマイコンをリセットして立ち上げ直す必要があった
  • 上の場合に、IMUが方位角を更新しないため方向維持のフィードバックによって機体が回転を続ける暴走
  • モータ電源ONのままでマイコンをリセットするとモータードライバ回路の意図せぬ動作で過大な電流が流れ、準備日に1回だけヒューズが作動


ブースを留守にしている間のための説明映像を今回も作成しました。

2024年4月19日金曜日

電源分配基板

電源分配用基板を作り直しました。 電源をON/OFFするためのパワーMOSFETと、基板にネジが落ちるなど不慮の事故に備えての安全のための電流ヒューズを載せました。ロボットの操作パネルに付く電源スイッチ(定格5A)は駆動用電流を直接流すためではなく、このMOSFETのゲート電圧を制御するために使います。



昨年作った基板はCNCフライスによる生基板の切削で、基板用エンドミルではない通常の刃物で切削したこともあり信頼性があまり良くなかったので、この改善を行いました。


電源は制御系と駆動用を分けてあり、それぞれ別のバッテリーから供給します。(今後変えるかもしれません)。それぞれにヒューズとON/OFFスイッチを設けています。本来は制御系がOFFされたら駆動用電源もOFFするようにするのが良いと思います。(モータードライバがブートストラップで上段FETの駆動電圧を作る方式のため、制御系電源がOFFするとモーターに大電流は流せないということから最低限の安全は確保されていると思います。)

2024年3月30日土曜日

二足歩行実験用ロボット製作開始

二足歩行の制御実験用のロボットを作り始めました。



コンテストに参加するためではなく、バランスを維持するフィードバック制御を試すためのものです。ROBO-ONEでは低重心、高剛性のメカ、強力な関節の位置制御と足裏の面積で機械的安定性を稼ぐことが定跡となっており、かつレギュレーションもそれを前提として作られていますが、それに対するアンチテーゼとして足を着く位置でモーメントを生じさせることで動的にバランスを維持するという方式を試してみたいと思い、製作を始めました。

片足3自由度で擬似的に点接触の足とします。そのため足裏は球面の一部というのが自然ですが、一応静止状態での安定点もあるようにと考えて円柱の一部としました。この部分はあとから交換可能です。
これに伴い、足を前後させたときに地面との接触箇所が大きく変わると良くないので、脚のピッチ軸方向は平行リンク機構を2つ積み上げた形にしました。
ROBO-ONEで主流のホビーロボットと比較すると、足首のロール軸がない、という違いになります。上の写真は上下逆に置いた状態なので、板状の足裏に見える部分は胴体です。
地面を蹴ってモーメントを生むために足裏と地面の間は滑ってはいけないので、クロロプレンゴムシートを接着しました。素材単体では摩擦係数がさほど高いようには見えませんが、荷重が狭い範囲に集中するためか、それなりに機能しているように見えます。

現在脚部のみで558gです。目的が制御実験用であるため、上半身をつけるかどうかはまだ未定です。

2024年3月6日水曜日

Kariya Micro Maker Faire 2024に出展

3月2日3日のKariya Micro Maker Faire 2024に出展しました。


文字盤式バーサライタ腕時計と超音波浮揚実験装置を展示しました。





2024年2月11日日曜日

マイコン時計 腕時計バンドの装着

 「腕時計」として使うためのバンドを付けました。

(なお、テスト段階では通常の腕時計の上に両面テープで貼り付けるという方法を取っていました。)

なるべく工作が簡単な方法ということで、本機では2つの穴を開けたABS板にベルトを通す方式としました。


2024年2月4日日曜日

マイコン時計 基板製作

回路基板です。

8割方の設計を決めた後に急いで1回目を作り、それを用いて実機を動かしながらソフトウェア開発を進め、実現可能性を検証しました。その後修正を入れて2回目のものを作りました。良い感じに仕上がったと思います。

  • ATtiny404
  • フォトインタラプタ
  • RTC
  • RTC用のバックアップ電池
  • LiPo充電用IC
  • PWM対応1象限DCブラシモータードライバ(MOSFETとダイオード)
  • USART用コネクタ(秋月AT-234X用のピン配置)
  • UPDI用コネクタ(秋月AT-234X用のピン配置)
  • 充電用USB-Cコネクタ

    基板はL字に組み合わせることで省スペース化を図っています。下の基板には回転部の原点を検出するフォトインタラプタが付いており、検出用に隙間に収めるようになっています。

    基板を直角に接するように組むためには、秋月のキットに付属しているL字ピンヘッダの余りを改造して再利用しています。

    2024年1月8日月曜日

    知能ロボコン2024計画立案

    昨年知能ロボットコンテストには「銀雲雀」というロボットで参加しましたが、これは一昨年(オンライン大会)からの継続でした。今年はROBO-剣のロボットを継続的に運用して完成度を上げるため、このロボットを改造してマスターズコースに出場しようと思います。テクニカルコースがマスターズコースに変わってからはまだ出たことがないので、初の挑戦になります。

    どのようなロボットになるかはまだ見えませんが、最小の構成としては、ROBO-剣用の竹刀が固定されたアームの代わりに対象物を拾えるような形状のハンドをつけたアーム、ということになると思います。

    また、前回ロボットがそうであったように、Maker Faire等のイベントでも見てもらえるようにしたいと思います。

    今思いつくタスクを書き出してみます。

    • ハードウェア(電気)
      • 電源基板作り直し ※昨年CNC削り出しの配電基板が問題を起こしたため
      • 近距離障害物検知用のLidar設置 ※現状Realsenseのみで足元付近が死角になっているため
      • 4chDCモータードライバ回路の小型化 ※現状のFET選定や放熱設計はモーターに対してオーバースペックと思われるため
      • スピーカー回路 ※前回ボリュームが小さかったため
      • スタート・リトライの操作スイッチ
    • ハードウェア(機械)
      • 電池格納場所改善
      • 対象物を取るためのアーム
      • 車輪乗り上げ防止用スカート
    • ソフトウェア
      • (全般的に新規開発が必要)
      • ROS2

    2024年1月7日日曜日

    2024年活動計画

    現在計画中の製作物としては次のものがあります。

    • ROBO-剣ロボットの改良
    • インタラクティブ・ペンプロッタの改良
    • 超音波浮揚実験装置の新バージョン
    • マイコン時計(仮)の続き

    多くのプロジェクトがあるので、並行して計画的に進めていきたいと思います。

    今年参加を検討しているイベントのスケジュールです。
    この他にも増える可能性はあります。

    第4回新ROBO-剣参加

    11/16に行われた 第4回新ROBO-剣 に参加しました。ロボットは去年と同じ「 逡巡 」です。 結果は 本戦トーナメント 2勝1敗、 敗者トーナメント (本戦で早めに負けたチームによる別リーグ)第2位でした。新ルールでは、今回初めて有効な攻撃で勝利を挙げることができました。勝...