はじめに / Introduction
2015年のロボカップジュニア世界大会へ出場したロボットのプレゼンテーションです。 This article describes a robot I developed for the RoboCupJunior 2015 world tournament.
記事内の画像は、クリックしてフルサイズで見ることが出来ます(これのためだけにブログを移行しました)。
チームBlogの方にも情報を載せています。
世界大会へ出場した2台のロボット、通称「関東の赤いルンバ」。 2015年の日本大会で準優勝し、1位が海外招待チームであったため国内順位1位として日本代表選抜された後に、ハードウェアをゼロベースで開発しました。 間にテストもあったためスケジュールはとてもハードでしたが、当時の開発メンバー(自分と相方のKp)と一緒に頑張って、2ヶ月間という限られた時間でロボットを完成させました。
ロボット1台をクローズアップして紹介します。 2台のロボットはハードウェアは完全に統一されており、同じプログラムを搭載すれば同じ動きをするように調整されています。 ロボットの外観は、赤い天板と黒のカーボン製フレームとのコントラストが特徴的なデザインになっています。 ユーザーインターフェースとして上面のリング状のフルカラーLED、ルールで規定されたキャリー用ハンドル(赤天板の後ろ側に配置)、周辺磁場の影響を回避するために高い位置に設置されたコンパスセンサーなどを備えます。 あまり特徴的な外観を有していないため注目されにくいですが、ボール補足エリアにキッカー(ボールを蹴る装置)を搭載しています。
コンパスセンサーモジュールです。 センサには"HMC5883L"が搭載されたボード"GY-271"を使用しています。 モジュール内部にマイコンを搭載しており、2軸コンパスセンサから逆三角関数を使用して方位(角度)を計算する処理や、EEPROMを用いたロボットの初期方向の記録、周囲の磁場環境のキャリブレーション処理などが組み込まれています。
計算された角度情報は、115200bpsのUARTシリアル通信でメインマイコンへ転送されます。 この際、送信周期を一定(75Hz)にすることで、メインマイコン側で角度から角速度への微分計算を行う際に、受信タイミングの観測を行わずレート一定として取り扱えるようにしました。 これにより、ロボットに正面を向かせるために使用しているPID制御が、より簡単に実装できるようになりました。
地磁気センサによるロボットの方向検出にあたって、地磁気センサが強い磁気にさらされると故障する問題がありました。 センサが故障した場合に備えて、センサーボード”GY-271”は単体で取り外し交換できるよう設計されています。 調整中にMacBook(ディスプレイ上部に磁石が入っている)に近づけてしまってHMC5883Lが正しい値を返さなくなった事がありましたが、ロボットを分解することなくモジュールだけを交換し復帰する事ができました。
ロボットの天板に、ステータスやモードの表示を行うための表示器として搭載しているNeo Pixel Ringを動かしているところです。 公式のライブラリがとても優秀で、きちんとクラスで定義された関数で制御することができます。 今のところ目立ったバグも無く、海外でアート用などで普及しているデバイスなので情報が豊富でした。 電源とGNDとシリアルの3芯接続で制御する事ができます。
上下の分離は、六角穴付きボルトを6本外せば簡単に分離する事ができます。 ロボットの上下部接続用の配線を20pinのフラットケーブル1本に集約することで、大幅にメンテナンス性を改善しました。
天板の裏にメイン基板を搭載しています。 ボールを視認するための赤外線センサは、メイン基板から真下にスペーサとピンヘッダで接続されています。 机に直接置いてもパターン面が傷つかないよう、上下接続フレームがメイン基板よりも下に出っ張るよう設計されています。
ボールセンサ Ball Sensor
赤外線ボールを検出するセンサです。 16個のTSSP-58038が円環状に配置されています。 センサ遮蔽の内側に、ボトムユニットと接続されるフラットケーブルのコネクタが取り付けられています。
赤外線センサーをはめ込むとこんな感じになります。 フラットケーブルの交換自体は、この状態でも行えます。 マシンの重心を下げるために極限まで上ユニットを薄くするために工夫した結果、こうなりました。 メンテナンス性も悪く無いですし、なかなか上手くいった設計の1つではないかと思います。
ボールを検知するための赤外線センサーの遮蔽部分です。 ライトウェイトリーグは重量制限が厳しいため、Φ2x10のエンドミルとCNCを活用して、POMから削り出しで作りました。
- エンドミル:”RSE230 2x10”MonotaRoのURL
- 材料:両面フライス済POM板 オリジナルマインドさんのURL
オリジナルマインドさんの両面フライスされたPOMは厚さ精度が保証されていてとても使いやすいです。 今回ばかりは自分でフライスする時間も無かったため、今回はふんだんに使っています(笑)
メイン基板 Main Circuit Board
搭載パーツ一覧CPU
- STM32F401(Nucleo Board) x 1
- ATmega32U4(A-Star 32U4 Mini) x 1
- 圧電スピーカー(Arduinoのtoneライブラリにて制御)
- スピーカー用アンプ(結局使っていません)
- Neo Pixel Ring 16連シリアルLED(スイッチサイエンスURL)
- RGB ロータリエンコーダ
- 照光式トグルスイッチ(マルツオンラインURL)
ロボットにはフィールドの壁を検知して自分の位置を判断するための超音波距離測定センサが搭載されています。 このマシンに使っているのはAmazonで激安購入できるHC-SR04です。 当たりハズレが大きいですが、ちゃんと使えるものはちゃんと使えます。 PalalaxのPingと違ってTrigピンとEchoピンが別になっていますが、2kΩほどの抵抗を挟んでTrigピンを使えば3ピンで使うことができ、このマシンでも実際そのようにして使っています。
メイン基板は、壁面に超音波センサを埋め込んでボックス化しました。 超音波センサを垂直に立てるパーツと、スペーサーとしての機能を両立させた工夫です。 非常にコンパクトにまとめられていると思います。
メインマイコン Main Microcontroller
メインマイコンにはSTmicro社のSTM32F401CRを搭載したマイコンボード"Nucleo" (秋月電子URL) を使用しています。 非常に安価に入手する事ができ、接続してすぐ使える「お手軽さ」も兼ね備えたマイコンです。 マイコンのソフトウェア開発は”相方の開発したXcodeライブラリ”を使って、Xcodeで行っています。。
小型化・軽量化するため、ST-Link部分とマイコン部分を切り離しています。 ロボットにプログラムを書き込む通信ポートは、ロボットの正面にMIL6Pinコネクタを設け、そこへST-Linkを接続する方式をとっています。 逆接続防止のため、逆に繋ぐと基板エッジにコネクタが引っかかるよう設計されています。
サブマイコン Sub Microcontroller
メインマイコンを補助するために、コンパスモジュール内部に1つ、ラインセンサ監視とユーザーインターフェイス用に1つ、計2つのサブマイコンを搭載しています。 インターフェイス用マイコンは、ロボットが走行中にはラインセンサの処理を行い、停止しているときには照光式トグルスイッチやロータリエンコーダの読み取り、ブザー音の出力や16連シリアルLEDの制御を行います。
使われているのはAtmelのATMEGA32U4で、Arduinoで開発しています。 ただし、そのままの状態では使っておらず、内部のdigitalRead()関数などは全て相方のKpによって改造されたものが使われています。 改造後のArduinoは、デジタルピン等をmbedと同様にクラスで扱うことができ、コード上のマジックナンバーを減したり、処理時間を短縮したりしています。
電源 Power Circuit
5V電源には村田製作所のDCDCコンバータ(秋月電子URL)を使っています。 元々は表面実装用に設計されたモジュールですので、このような無理矢理な付け方はあまり推奨されませんが、いまのところ問題なく動いています(残る心配はハンダ割れ)。 固定は裏返しにしてピンで空中配線で固定しています。 パターンにはリップル除去用のチップコンデンサが入力/出力に載ってます。
コイル系の電源モジュールは、物理的に圧力を加える事で電圧がブレる事があるので注意しています。 逆さ付けにする際には、基板との間に隙間を作るようにしました。
電圧は青い半固定抵抗で決定しています。 最初に調整してから1/100[V]単位でのズレはほとんど無く、安定して動いています。
足回り Drive Unit
移動の効率を上げるためには可能な限りロボット重心を低くする必要がありました。 以前まで地上から少し高い位置に配置していたバッテリーも、今回はマシンの一番低い位置に配置することにしました。
電源スイッチの基板です。 裏にヒューズがはんだ付けされているため、万が一切れた際にはスイッチやケーブルごと交換します。 スイッチはパフォーマンスの面からすれば重いし効率下げるだけのパーツですが、そもそもの安全対策として無くてはならない機能です(今のルールだとヒューズの搭載は義務付けられているようです)。 万が一内部で回路が短絡した場合でも、すぐにスイッチを切ることができるか、保護回路でバッテリーの過放電を防止できるような設計をしています。
昇圧回路 Step-up DCDC Convertor
左半分はほとんどキッカー用の昇圧回路とスイッチング回路です。 金色のコンデンサは昇圧電源のチャージ用、中に昇圧された60[V]の電源が常にチャージされます。 電源を切った際にコンデンサの電圧が自然放電されるよう、1MΩ程度の抵抗をコンデンサの両端に挟んであります。 コンデンサは63V1000μFのオーディオ用アルミ電解コンデンサを2個並列で運用していますが、耐圧ぎりぎりで運用するのは破損の恐れがあるため推奨しません。
DCDCコンバータの入出力電圧差の定格を守るため、昇圧回路を2段に分けています。 1段目で12[V]→20[V]まで昇圧し、2段目で60[V]まで昇圧することで、昇圧回路の要件「入出力比が3を超えてはならない」を守っています。 先輩が実装しているのを真似してこのような形にしました。
キッカー Kicker
ボールを蹴るための装置”キッカー”です。 ソレノイドはタカハ機構さんの"CB1037"の端子間抵抗10Ωのタイプで、プランジャの先端以外は無改造で使用しています。 ほとんどのマシンが固定面を上下に向けて使っているのに対し、板金曲げパーツを駆使してリニアガイドと抜け止めストッパー機能を追加しながら、シンプルに実装しました。 ソレノイド除く周辺パーツで、計30[g]に抑えることができています。
モータ固定マウント Motor Holder
モーター(maxon RE16 + GP16A)はA7075削り出しの固定ブロックにねじ止めする設計です。 シャーシへの固定用に、厚5mmの側面にM3のタップで固定穴が作られています。 maxon GP16A(ギアヘッド)には、M2の固定穴が2本しかなく強度に不安があったため、ギアヘッドの先端3mmほどを埋め込む形状を設け、ラジアル方向の負荷をフレームで受け止める構造にしました。 これにより、ねじにかかる負荷がスラスト方向に限定され、今まで多かったギアヘッド固定ネジのトラブルは発生しなくなりました。
オムニホイール Omniwheel
独自設計のオムニホイールです。 外径は58[mm]と、このサイズのロボットにしては大きめの部類に入ると思います。 サイドホイールのグリップにはシリコンのOリングを使っていましたが、コストが高いしあまり長持ちしないしOリングすぐ外れるしで、あまり良いところがありませんでした。
日本大会のロボットのスパイクグリップと比較すると、グリップはその半分以下くらいだと思います。 Oリングの外れとグリップを成立させるのが難しく、外れないように溝を深くしていくと、グリップはどんどん弱くなっていきます。 ブレーキが効かかった事によるアウトオブバウンズが多発し、世界大会では最高速度の50%も出せませんでした。 路面に大きく依存するのも問題で、例えば北九州オープンの時の床は東リのカーペットだったので、比較的良くグリップしたのを覚えています。
加工方法 Machine Tools
ロボット製作のための設備はほぼすべて自分用意していました。 CNCでCFRPを加工する方法については、過去に書いた記事で詳しく紹介しています。
ロボットのフレームの加工は、オリジナルマインドさんのKitMill SR420を使いました。 上で紹介した全てのパーツを、このCNCと卓上ボール盤のみで仕上げています。 オリジナルマインドさんのCNCを無くして、このマシンは生まれませんでした。
今回製作したロボットには、2足歩行ロボット時代からお世話になっている浅井製作所さんの”低頭ネジ”を使っています。 低頭ねじを使うと、メカ設計の際に頭の高さをあまり気にする必要がなくなる上に、母材の金属の体積そのものが減るので重量削減にも大きく貢献します。 何よりも、精度の高いねじは、精度の高いロボットを作るために重要です。 ねじなめんなよ!
個人でも数百本単位から注文ができます。
関東圏の人はぜひ一度、工場見学に行ってみてください!(埼玉県草加市にあるよ〜)
以下リンクからどうぞ:
浅井製作所URL
コメント
コメント一覧 (88)
60vへの昇圧回路は市販のものでしょうか?よければ購入先を教えて欲しいです
2段目(20[V]→60[V])の昇圧には、elecfreaks製LM2577を使用しています。
Vstoneのオンラインショップ、または東京・秋葉原のVstoneロボットセンターにて購入できます。製品URLはこちらです。
https://www.vstone.co.jp/robotshop/index.php?main_page=product_info&cPath=270_367_374&products_id=4348
記事中に60[V]まで昇圧したとありますが、本来の定格は56[V]までです(これを少しでも超えると故障してしまいます)。60[V]まで昇圧するためには、改造が必要になります。改造方法については、現段階では非公開とさせて頂きます(確実性が無いため)。
http://akizukidenshi.com/catalog/g/gI-01570/を素子として使おうと思っているのですが、抵抗22kオーム、セラコン0.22マイクロFだと検出距離はどれくらいになりますか?(定格での使用です。)
0.22マイクロFだと信号強度の波打ちが残っているが、おかげで瞬間なら最大はもう20cmくらい見える場合あり。実用は約1m内位。
複数のセンサーの値を比較したいなら、0.33か0.47くらいにすると各信号が安定する。
個体差で2割くらい性能差あり。ロット番号確認して揃えるほうがよい。
PL-IRM2121はノイズにも強いので使いやすいそうです。
ラインセンサの素子はNJL7502Lを使用しています.
可視光の強さを見るセンサはあまり種類が無いので,殆どの人がこのセンサを使っていると思われます.電流出力タイプのセンサーですので,出力を100kΩ程度の抵抗でGNDに落とし,抵抗の両端で電圧を出力できるようにしています.
ありがとうございます。
オムニホイールの,サイドホいールだと思いますが
厚さ3mmのポリアセタール樹脂(POM)を使っています.
はざいや.comさんで購入しました.
https://www.hazaiya.co.jp/category/jyurakon.html
外形と中心穴の加工はCNCです.
側面のOリング溝は一つ一つ旋盤で削っています.
金属部分は,サイドホイール用のピンを埋める側と,それを抑えるカバー側に別れています.ピンを埋める側の厚さが3mmのA7075で,カバー側が1.5mmのA2017です.
この2枚のフレームが厚くなると,間にゴミが詰まりやすくなるので,薄くする必要は無くても,極端に厚くはしないほうが無難かと思います.
車高は6mmです.
実際はカーペットにサイドホイールが少し埋まるので,もう少し低くなります.
一番下のフレームからは,ネジの頭などが若干突き出していますが,低頭ねじを使っているので干渉は起きていません.
2015年のGcraudNanoの白いほうのロボットは,車高が8mmでした.
いろいろな大会に参加した経験からすると,フィールドによっては5mm程度の段差があるものもありましたので,最低でも5mm,できれば8mm程度は車高を確保しておいたほうがトラブルは起きにくいかと,個人的には思います.
ありがとうございます。
村田製作所さんのDCDCコンバータ周辺の回路はどのようになっていますか。
データシート通り,入力に22uF,出力に10uFのセラミックコンデンサを挟んでいます.
TADAさんはどのようにして使い分けていますか?
角を丸めるのって、どうしたらいいんですか?
AutoCAD2017学生版でお願いします。
ロボットに使うコネクタは,まず振動への耐性を優先して選んでいます.
コネクタは,そのほとんどが固定機器の内部配線(例えばデスクトップパソコンや電気設備に使うコネクタ)がその種類の多くを占めます.これらの固定機器は,基本的に振動を考慮する必要がないため,新道への考慮がされていない場合があります.
ロボットの場合,機器本体が移動したり,サッカーロボットの場合には衝突などで大きな振動がかかります.そのため,振動が考慮されていないコネクタを使うと,衝撃を食らった瞬間に接触が飛んでしまう可能性があります.特にシリアル通信(I2CやSPI,UARTなど)を扱うコネクタでは,接触不良は深刻な問題となります.
振動に強いコネクタとして僕が好んで使っているのは
・信号用
JST PHコネクタ
JST XAコネクタ
molex mini-spoxコネクタ
信号用QI(2550コネクタ)
フラットケーブル用MIlコネクタ
・電源用
JST VHコネクタ
ミニTコネクタ
XT60及びTX30コネクタ
です,参考にしてください.
フィレット(ショートカットキー:F)を使います.
F→Enterすると,フィレットモードになります.
その状態で
P:ポリライン
R:半径
T:トリム
のオプションが選択できます.
線分を2つ選択するとフィレットがかかります.
詳しくは以下のサイトを参考にしてください
http://cad1p.web.fc2.com/index.html
参考にしてみます。
メインホイールからサイドホイールは何mmほど出していますか?
Nucleoの5Vピンを使わなかった理由を教えてください。
サイドホイールの直径が12mmで,メインホイールからは約4mmほど出しています.
経験上,この深さがあまり短い(具体的には2~3mm)と,カーペットによっては毛がメインホイールに接触してしまって上手く動かなくなります.
Nucleoの回路図は
https://goo.gl/aibYH8
これの63ページ以降にあります.Vinから5Vを作っている電源ICは,回路図中のU3 LD1117S50TRという素子です.これのデータシート
https://goo.gl/SnrrZD
を参照すると,Output CurrentはTyp.950[mA]とあります.おおよそざっくりとした考え方として,Typ.を超えて使う場合には,3端子レギュレータの場合は放熱が必須です(Nucleo boardは放熱の考慮はほとんどされていない).ラインセンサや超音波センサ等は5Vでもそこそこの電流が流れますから,僕のマシンでは,950mAでは電流の余裕度がほとんど無くなってしまいました.
そこで,より多くの電流を供給できる,外部のDCDCコンバータを使う事にしました.
電流は盲点でした。
もう一度つ質問ですが、molex mini-spoxコネクタはどこで買ってますか?リンク貼って頂けると嬉しいです。
ニッケル水素電池に比べて,充電時間が短くて済むため,運用サイクルが上げられること
メモリー効果がないため追充電が可能であること(推奨されないことが多い)
ニッケル水素電池に比べて内部抵抗が小さいため,大電流を流せること
などが挙げられると思います.
mini-spoxは,共立エレショップか,MonotaRO事業者向けサイト(個人事業者を仲介して買っています)を利用しています.店頭ですと秋葉原の千石電商を使うこともありますが,割高なので急ぎの時以外では使いません.ショップですぐ出てくると思いますのでリンクは割愛させて頂きます.
ありがとうございます。
エンジニアのPA-20を使っています.
もう少し予算があれば,ホーザンのP-706が被覆用の円形圧着などが付いていて大幅に高機能なので,そちらをオススメします.
圧着工具というのは,本来,メーカーが出している純正のものを使うのが好ましいとされていますが,純正品は5〜10万くらいするのが普通で,学生には手が届きません.
一度に色々とすみません。
GP16Aを使っています。
厳密には,スクールサポートにて組み合わせ販売されているものを購入して使っています。RE16+GP16A 組み合わせ番号135531のモデルです。
ケーブルの話は,電子工作の本か,ケーブルを専門に取り扱っているメーカーのカタログなどに詳しい解説があります。
自分は耐熱電子ワイヤ以外のケーブルは使う機会が無いので,よくわかりません。
適している配線材は,半田付けするのか圧着するのか,どれくらいの振動がかかるのか,どれくらいの電磁ノイズを受けるのか,流れる電流がどれ位なのか,様々なパラメータによって適切なものが全く変わってきます。
半田付けする場合は耐熱電子ワイヤ,電磁ノイズが強い場合はシールドケーブル,電流は殆どの場合ケーブルの持つ定格を見れば分かりますし,あとは圧着端子に適合したゲージ数のケーブルを選べば良いでしょう。
ロボットのカバーには,黒の革地加工されたポリプロピレン板を使っています。
いくつか led+njl7502l を並列に繋げているかと思いますが、ledとnjl7502lに抵抗は一つ一つにつけていますか?よかったら教えてください。
抵抗はそれぞれ付けた上で並列にしています.
以前設計したものを使いまわすために,あえてこのような形をとっていますが.本来であれば抵抗器のワット数に注意しつつ,1つに統一しても良いと思います.
センサを電流源として考えた時,並列接続すると電流源の並列接続は単純な足し算になりますから,単純計算で「センサ1つの場合の抵抗値÷並列するセンサ数」の抵抗値を選べば良いことになります.
手元のロボットが分解できないので,計測は出来ないのですが
平均的には,アルミの状態で30~60g程度かなと思います。
すみません,ダイセンさんのデバイスは触ったことが無いので分かりません。
ただ,そのセンサの出力方式がアナログ電圧であれば,Arduinoのアナログ入力ポートへ接続してanalogRead()関数でその値を読み取れるのでは無いでしょうか。
メインマイコンにmbedを選んだ理由は,当時のチームのソフトウェア担当が,mbedを使って開発する事を強く希望していた事が大きかったと思います。
また,Xcodeのmbed開発環境を既に開発していた事もあり,Arduinoよりもスムーズに開発が行えたため,mbedへの移行は良い判断だったと思います。もしXcodeの開発環境が用意できなかったら,メインマイコンへの採用はされなかったと思います。
当時ハードウェア担当だった私は,ソフトウェア担当に連れられてmbedを使う運びとなりましたが,結果的にはシリアル割り込みやタイマー割り込み,RTOSなど,Arduinoでは使うことのできなかった多くの機能を使うことができました。
マイコンボードにNucleoを選択したのは,単に値段が安かったことと,STM32のペリフェラルが他のマイコンに比べて豊富であった事が主な理由です。
ありがとうございます。
また、重さはどのくらいですか?教えてください。
いつもブログ拝見させていただいています。
情報を提供していただきありがとうございます
この記事の中で少し気になったことがあったので質問をさせていただきます
基本的なものもあるかもしれませんがお時間があれば回答よろしくお願いします
①基板について
写真の中にある黄色い板は何者なのでしょうか?
いわゆるプリント基板というものですか?
確か前の機体にもそのような色合いの板を使われていましたが具体的にはどのようなものに使っているのでしょうか?
②モータ
ロボットのパワーを上げる方法の1つに高性能モータを使うというものがあると思います。ジョンミンやMAXONが有名なものだと思うのですが、そのうち多田さんが使用しているのはMAXONだと思います。このモータはモータドライバーが難しい、モータ自体をきちんと固定しないといけない といううわさを聞きました
これらのことについて(特にモータドライバー)どう対策しているか教えていただけないでしょうか?
③部品の製作方法
多田さんは多くの部品をCNCを使われていますが3Dプリンターなどは有効な手段だと思われますか?
多くの質問すいません
よろしくお願いします
長文失礼しました
およそ30グラム前後です.
因みに,もしこれ以上軽くするのであれば,直径を下げるのが一番効果的だと思います.
>いつもブログ拝見させていただいています。
ありがとうございます.
>基板
銅張積層板(カット基板)と呼ばれるものです.
絶縁材料の上に銅箔が施されており,それをカッターや溶剤で加工して回路を作ります.
溶剤を用いる方法はエッチングと呼ばれていますね.
私が使用しているのはサンハヤトの銅張積層板です.
MonotaROでいつも購入しています.
>モーター
maxon製のモーターに限らず,正しいモータードライバの選定と正しい固定は重要です.
この記事で紹介されているロボットには,STのVNH5019というモータードライバ(以下MD)が使われていますが,現在は既に他のMDへ移行しています.
理由として,コアレスモータを駆動するMDに求められる条件として
①一般的にmaxonなどのコアレスモータは,電気的時定数が非常に小さいため,電流平滑のためには非常に高いPWM周波数を必要とする.
②定格電圧12V付近のモータは端子間抵抗が数Ωと小さく,MDのオン抵抗の影響が相対的に大きくなるため,MDはオン抵抗を低く抑えることが要求される.
があり,VNHシリーズはそれを満たしていなかった事にあります.
現在はPololu製のディスクリートFETで構成されたMDモジュールを使用しており,それにより大幅に制御が改善されています.
>3Dプリンタ
例えば全方位センサなど,光学機器は複雑な形状を要求しても,機会的な強度は要求しません.そういった場所には都合が良かったので3Dプリンタを使いました.
要するに,適材適所だと思います.
ご丁寧に回答ありがとうございました
直径100mmで作っています。
赤外線センサの外側にケーブルを走らせると,センサの視界を遮ってしまうので,ケーブルは赤外線センサの内側を通す設計になっています。
何本かのスペーサーは止むを得ずセンサの外側に配置されていますが,ケーブルほど幅が広くないので問題がありません。
ありがとうございます。
もう一つ質問です。
ボールセンサの指向性を高めるために遮光をつけていますが、任意の一つのボールセンサから基板までの最短距離は何mmくらいですか?(=基板の直径100mm/2 - 全てのボールセンサを通る円の半径の長さ)
わかりづらくてすいません。どう表現していいかわからなかったので。
16つのセンサーがそれぞれ見えているような構造でしょうか?
また、基盤の加工はどのようにしていますか?
それとも降圧回路を通して突っ込んでますか?
降圧回路を通しているのでしたら、その回路の仕様を教えてください。
比例動作は簡単なのですが、積分動作、微分動作がよくわかりません。
VNH2sp30MDは、pololu社製と、spark fun社製があると思うのですが、
安い互換品が多く出回っているspark fun設計のものではなく、pololu社製のものを使うのには特別な理由があるのでしょうか?
あれば、教えて欲しいです。
Yaw軸の角度制御の事だと思いますが
その内容の記事が来年以降には公開されると思います。
比例制御がわかれば、あとは「偏差」について理解できていれば、残りも実装できると思います。
こんばんは。
すみません、私はSparkFun製のVNH2SP30ドライバボードを使ったことが無いのですが、安い互換品ということは、もしかして中華の赤い基板の事でしょうか?
互換ボードのICチップはコピー品で品質が非常に低いため、使っていません。
よければ教えてくださ。
当時秋月の店頭に出ているボードの中で一番動作クロックが早いものを選びました。
浮動小数点演算のスピードを求めて、クロックは高いものを選んだ経緯がありますが、実のところかなりオーバースペックではあります。
競技用のロボットを1台だけとなると、マイコン部分はかなり予算度外視で作れるので、妥当性はあまり考えていません。
今は同じ理由でF401REより動作周波数が高いF446REを使っています。
参考にさせていただきます。
自分でも色々試してみます!
ボールを“ホールドする”部分でしょうか、深さ14[mm]幅110[mm]です。
河野さんは私からすると先輩だったかと思います、NHKロボコンでも自作のオムニホイールを作ってらっしゃいましたね。世界大会に参加するチーム全体で見ると自作はそう多くは無いですが、日本から世界に行くチームはほぼ自作ですね。やはり自作オムニは市販品よりスペックが出せるので、皆さん自分で作っているんだと思います。
河野さんは、先輩だったのですね。ありがとうございます。
自己紹介し忘れました。小6です。
ごめんなさい。
もちろん、歓迎します!
インターネットでの立ち振舞は次第に覚えていくものですよ。
ただインターネットの世界には、一発アウトなレッドカードも転がっていますので、それだけ拾わないように。
ブログへはまたどうぞ、お待ちしております。
インターネットの危険性について教えてくださって本当にありがとうございます。
また今度、気になることがありましたら、ここのサイトのコメント欄に書かさせていただきます。誠にありがとうございます。
それと、IRセンサーの感度はどうやって良くしていますか?
僕のロボットは、感度が全然良くないです。(´・_・`)
教えてくれる範囲でいいです。(^_^)
今年からオムニホイールを自作しようと考えています。でもサイドホイールの作り方が分かりません。シリコンオムニにしようと思ったんですけどCNCが無いのでできようにないです。その時この記事を読んで『Oリングを使おう!』となりました。よろしければOリングとプーリーの購入先を教えてください。お願いします。
返信が遅くなり申し訳ありません。
長期間コメントのチェックをしていませんでした。
Nucleoであれそれ以外のボードであれ、開発環境を開発するにあたって必要なシステムは、ハードウェア依存性が大きいのでmbedボードであっても一概にこうというやり方は無いと思います。必要なファイルを自分で組み立てて、更にそれをXcodeのシステムを理解した上で組み込むような知識がないと、なかなか真似できません。
過去にうちのKpが配布したXcodeプロジェクトのMakefileを見て、どういうシステムにして動かしているかを把握して真似してみてください。そのやり方で真似できた方を何人か知っています。