箱庭ドローンの無償版(hakoniwa-drone-core)v5.0.0 を公開しました!
前回の v4.2.0 では、GPSや気圧計の値がフライトコントローラーに「いつ届くか」を設定できるようになりました。今回はもう一歩踏み込んで、「機体のどこに、どんな向きでセンサーを取り付けると、どんな値が届くのか」まで試せます。
センサーの計算方法が変わるため、これまでの飛行ログとの比較には注意が必要です。それでも、機体を組む前に試せることがぐっと増えた、私たちにとって嬉しいメジャーアップデートです。
加速度センサーの取り付け位置を変えたら?
たとえば、旋回する機体の中心に置いた加速度センサーと、そこから離して置いたセンサーでは、測る加速度が変わります。センサーモデル v2 では、取り付け位置や向きを機体設定に書き、同じ飛行をさせて出力を見比べられます。
対象は加速度、ジャイロ、地磁気、気圧、GPSの5種類です。センサーごとにノイズやずれ、更新周期、測定範囲、分解能などを設定できます。新しい設定項目は実験的な機能として先行公開しています。センサーごとの仕様を見る
PILS|実機用のPX4ファームウェアで、仮想のx500を飛ばす
このセンサー値を、実機用のPX4ファームウェアに届けたらどうなるでしょうか。v5.0.0では、ボード向けにビルドしたPX4をマイコンシミュレータ「Athrill3」で動かし、仮想のx500を飛ばすPILS(Processor-in-the-Loop Simulation)を試せます。
箱庭ドローンが機体の動きとセンサー値を計算すると、Athrill3上のPX4がドライバを通じてその値を読み取り、各モーターへの指令を返します。その指令で箱庭のx500が動き、次のセンサー値が決まります。下の動画はRISC-V版での飛行です。
手順は2種類を公開しました。Pixhawk 4(STM32)で試す / AIFoundry Erbium(RISC-V)で試す
コラム|箱庭の原点、Athrillが帰ってきました!
このたび、箱庭の前身とも言えるマイコンシミュレータ「Athrill」が、Athrill3として復活しました! もともとのAthrillは、PC上に仮想のマイコンを用意して、組込みプログラムを動かしたり、デバッグしたりするための道具です。TOPPERSプロジェクトのAthrill紹介ページで、当時からの取り組みをご覧いただけます。
今回のAthrill3では、32ビットのArm(Pixhawk 4)と64ビットのRISC-V(AIFoundry Erbium)で、それぞれのボード向けにビルドしたPX4を動かせます。たとえば仮想のPixhawk 4では、OSのNuttXが起動し、PX4のセンサードライバがSPIバスを通して仮想のIMU(慣性センサー)を読み取ります。実機に書き込むファームウェアが、センサーから値を読み出すところまでPCで試せるようになりました。
かつて箱庭の出発点になったAthrillが、今度は箱庭のドローンを飛ばしています!
v4.2.0をお使いの方へ
従来の機体設定は読み込めますが、同じ設定でもセンサー出力は変わります。ノイズの生成方法や計算順序、気圧・GPSの換算式を見直したためです。過去のログと比較する場合は、まず v5.0.0 で基準となる飛行ログを取り直してください。
最初の一歩には、従来相当の誤差を新しい形式で記述した検証済みの設定 config/drone/x500-px4-sitl をおすすめします。v5.0.0 への移行手順を見る
macOS(Apple Silicon)、Ubuntu 22.04/24.04、Windows 11向けのバイナリとDockerイメージを用意しました。ぜひ、お手元で試してみてください!
