本資料のご使用につきましては 次の点にご留意願います 本資料の内容については 予告無く変更することがあります 1. 本資料の一部 または全部を弊社に無断で転載 または 複製など他の目的に使用することは堅くお断りいたします 2. 本資料に掲載される応用回路 プログラム 使用方法等はあくまでも参考情報で

Similar documents
評価ボード キット 開発ツールご使用上の注意事項 1. 本評価ボード キット 開発ツールは お客様での技術的評価 動作の確認および開発のみに用いられることを想定し設計されています それらの技術評価 開発等の目的以外には使用しないで下さい 本品は 完成品に対する設計品質に適合していません 2. 本評価

S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0

評価ボード キット 開発ツールご使用上の注意事項 1. 本評価ボード キット 開発ツールは お客様での技術的評価 動作の確認および開発のみに用いられることを想定し設計されています それらの技術評価 開発等の目的以外には使用しないで下さい 本品は 完成品に対する設計品質に適合していません 2. 本評価

本資料のご使用につきましては 次の点にご留意願います 本資料の内容については 予告無く変更することがあります 1. 本資料の一部 または全部を弊社に無断で転載 または 複製など他の目的に使用することは堅くお断りいたします 2. 本資料に掲載される応用回路 プログラム 使用方法等はあくまでも参考情報で

S1F77330 シリーズ USB 用バススイッチ IC 2 to 1 Bus Switch 概要 S1F77330 シリーズは USB アプリケーションに適したバススイッチ IC です CMOS プロセスを採用しているため 低消費電力を特徴としています パッケージは小型の WCSP を採用している

Rev.1.1 S1V50300 サンプルプログラムマニュアル

評価ボード キット 開発ツールご使用上の注意事項 1. 本評価ボード キット 開発ツールは お客様での技術的評価 動作の確認および開発のみに用いられることを想定し設計されています それらの技術評価 開発等の目的以外には使用しないで下さい 本品は 完成品に対する設計品質に適合していません 2. 本評価

DataConverterユーザーズマニュアル

uPC1093 DS

uPC258,4558 DS

RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用

S1F77330 シリーズテクニカルマニュアル Rev.2.1

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

PLQ-20 取扱説明書 詳細編

Total Disc Makerサイレントインストールガイド

Android Layout SDK プログラミング マニュアル

LP-S8160 LP-S7160 LP-S6160

LP-M8040シリーズ

LP-M5300シリーズ

画面について メイン画面 メイン画面 Logitec EXtorage Link を起動すると メイン画面が表示されます メイン画面の構成は 次のとおりです 1 メニュー 2 端末から外部ストレージへ 3 外部ストレージから端末へ 4 端末 5 外部ストレージ 6 カメラ機能 スマホやタブレットで使

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です

型名 RF007 ラジオコミュニケーションテスタ Radio Communication Tester ソフトウェア開発キット マニュアル アールエフネットワーク株式会社 RFnetworks Corporation RF007SDK-M001 RF007SDK-M001 参考資料 1

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード]

Notes and Points for RZ/G1x Serial Flash memory

Notes and Points for TMPR454 Flash memory

AquesTalk プログラミングガイド

<4D F736F F D20B6BCB5D7B2CCDED7D8CFC6ADB1D9315F43532E444F43>

TM Bluetooth® Connector ユーザーズマニュアル

プログラミングI第10回

PowerPoint プレゼンテーション

USB_IR_Remote_Controller_Advance_Library 取扱説明書 2016/06/23 R03 Assembly Desk USB_IR_Remote_Controller_Advance_Library を使用すると 弊社製 USB IR Remote controll

TC7SET08FU_J_

本資料のご使用につきましては 次の点にご留意願います 本資料の内容については 予告無く変更することがあります 1. 本資料の一部 または全部を弊社に無断で転載 または 複製など他の目的に使用することは堅くお断りいたします 2. 本資料に掲載される応用回路 プログラム 使用方法等はあくまでも参考情報で

AquesTalk Win Manual

NetSHAKER Version5.0検疫システムセットアップマニュアル

PowerPoint プレゼンテーション

LTE WiFi USBドングル ソフトウェアの更新手順

アプリ内課金SDK 利用マニュアル

画面について メイン画面 メイン画面 i Smart Copy を起動すると メイン画面が表示されます メイン画面の構成は 次のとおりです 1 詳細設定 1 詳細設定ファイル操作時の詳細などを設定します 2. アドレス帳. バックアップ 3 内部ストレージ 4 容量確認 5 外部ストレージ 4 容量

バーコードハンディターミナル BT-1000 シリーズセットアップガイド ( 第 1 版 ) CE ***

NFCライブラリマニュアル

Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装

TC4093BP/BF

Microsoft Word - Training10_プリプロセッサ.docx

Prog1_10th

はじめに 本書は GRATINA2 とパソコンを指定の USB ケーブル ( 別売 ) を使用して接続し インターネット通信や au ホームページで公開している各種ツールをご利用になるための USB ドライバ のインストール方法を説明しています USB ドライバをインストールする 3 パソコンに接続

OPN Terminalの利用方法

ユーザーズマニュアル

1

はじめに 京セラ製スマートフォンを指定の microusb ケーブル ( 別売 ) またはこれと共通仕様の microusb ケーブル ( 別売 )( 以下 USB ケーブル ) と接続して USB テザリング機能をご使用いただくためには あらかじめパソコンに USB ドライバ をインストールしてい

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

画面について 画面構成 画面構成 Smart Copy for Android の画面構成は 次のとおりです 1フォルダパス 2. ファイルの種類 3 ファイル一覧 5[ 戻る ] ボタン 4[ メニュー ] ボタン 1 フォルダパス現在表示している画面のフォルダパスが表示されます 2ファイルの種類

Taro-82ADAカ.jtd

BT-2000/2200 システムソフトウェア リリースノート(Ver.R1.5.0)

memo

Microsoft Word - TC4011BP_BF_BFT_J_P8_060601_.doc

はじめに URBANO PROGRESSO を microusb ケーブル 01 ( 別売 ) またはこれと共通の仕様の microusb ケーブル ( 別売 )( 以下 USB ケーブル ) と接続して USB テザリング機能をご使用いただくためには あらかじめパソコンに USB ドライバ をイン

UEFI環境におけるWindows Serverバックアップのシステム回復手順

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1

TC7SZU04AFS_J_

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

親指シフトキーボード(FMV-KB611)、JISキーボード(FMV-KB621)、FMV-LIFEBOOK(親指シフトキーボードモデル)をお使いになる方へ

TC7SHU04FU_J_

UIOUSBCOM.DLLコマンドリファレンス

MMO ゲームパッド JC-DUX60BK ドライバー設定ガイド このドライバー設定ガイドは JC-DUX60BK に付属のドライバーを使った 各ボタンやスティックへの機能割り当てや連射の設定などの操作について説明しています ドライバーのインストール方法については JC-DUX60BK に付属のユー

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科

RL78/F13, F14 割り込み要因判別方法


SuperH RISC engineファミリ用 C/C++コンパイラパッケージ V.7~V.9 ご使用上のお願い

DF2B29FU_J_

AN424 Modbus/TCP クイックスタートガイド CIE-H14

DF10G5M4N_J_

2006年10月5日(木)実施

DF2B6.8FS_J_

Web型iEDIシステム操作説明書

目次はじめに 必要システム環境 インストール手順 インストール前の注意点 インストールの準備 (.NET Framework3.5 SP1 のインストール ) ライセンスの登録 初期設定情報の入力... 8

画面について メイン画面 メイン画面 i Smart Copy を起動すると メイン画面が表示されます メイン画面の構成は 次のとおりです 1 詳細設定 2. アドレス帳. バックアップ 3. カメラロール. バックアップ 4 内部ストレージ 5 容量確認 6 外部ストレージ 5 容量確認 1 詳細

Microsoft Word - XPC4ソフトマニュアル.doc

Microsoft Word - 3new.doc

Microsoft PowerPoint - 11.pptx

画面について メイン画面 メイン画面 Logitec EXtorage Link を起動すると メイン画面が表示されます メイン画面の構成は 次のとおりです 1 メニュー 2 端末から外部ストレージへ 3 外部ストレージから端末へ 4 端末 5 外部ストレージ 6 カメラ機能 スマホやタブレットで使

改版履歴 Ver 改版日内容 /02/07 新規作成 2 / 18

MAC アドレス変更ツール MAC アドレスチェンジャー ユーザーズマニュアル User's Manual エレコム株式会社

VG シリーズ用ローカルファームアップ / 自動ファームウェア更新設定手順書 VG400aⅡ ローカルファームアップ / 自動ファームウェア更新設定手順書

Studuinoプログラミング環境

クラウドバックアップサービスアンインストールガイド 第 1.3 版 平成 29 年 1 月 24 日 株式会社大塚商会

MEDIAPOINT HD ファームウェアリリースノート

<< 目次 >> 1 PDF コンバータのインストール ライセンスコードの入力 PDF にフォントを埋め込みたい場合の設定 PDF オートコンバータ EX で使用しない場合 PDF コンバータ単体で使用する場合の説明 PDF コンバータのアン

Touch Panel Settings Tool

INDEX ソフトウェア使用許諾契約書 インストール時に必要なシステム NAVI OFFICE 2のセットアップ お問い合わせ NAVI OFFICE 2 セットアップマニュアル < NAVISTUDIO_EV_7-B >

目次 はじめに システム環境 インストール手順 インストール前の注意点 インストールの準備 ライセンスの登録 インストール先の選択 インストールの開始 インストール

Microsoft PowerPoint ppt

AutoSway_Gaide_kari4


TC7SET125FU_J_

XIMERA(Ver1

CSM_XS2_DS_J_11_2

Microsoft Word - HGWEB_Defender_クリーンアップツール_説明書_Rev.1.00.doc

ドライバーを起動する 1 タスクトレイまたは通知領域のアイコンをクリックして 設定画面を開く をクリックします Windows 10 Windows 8.1/8 Windows 7 で通知領域にが表示されている場合は をクリックしてアイコンを右クリックし 設定画面を開く をクリックします 2 ドライ

CSM_G5Q_DS_J_1_14

Transcription:

FSA サンプルプログラムマニュアル - 姿勢検出 - Rev.1.0

本資料のご使用につきましては 次の点にご留意願います 本資料の内容については 予告無く変更することがあります 1. 本資料の一部 または全部を弊社に無断で転載 または 複製など他の目的に使用することは堅くお断りいたします 2. 本資料に掲載される応用回路 プログラム 使用方法等はあくまでも参考情報であり これらに起因する第三者の知的財産権およびその他の権利侵害あるいは損害の発生に対し 弊社はいかなる保証を行うものではありません また 本資料によって第三者または弊社の知的財産権およびその他の権利の実施権の許諾を行うものではありません 3. 特性値の数値の大小は 数直線上の大小関係で表しています 4. 製品および弊社が提供する技術を輸出等するにあたっては 外国為替および外国貿易法 を遵守し 当該法令の定める手続きが必要です 大量破壊兵器の開発等およびその他の軍事用途に使用する目的をもって製品および弊社が提供する技術を費消 再販売または輸出等しないでください 5. 本資料に掲載されている製品は 生命維持装置その他 きわめて高い信頼性が要求される用途を前提としていません よって 弊社は本 ( 当該 ) 製品をこれらの用途に用いた場合のいかなる責任についても負いかねます 6. 本資料に掲載されている会社名 商品名は 各社の商標または登録商標です SEIKO EPSON CORPORATION 2015, All rights reserved.

目次 1. 概要... 2 2. サンプルプログラム構成ファイル... 3 3. 構造体... 4 AT_DATA 構造体... 4 4. マクロ定義... 6 スケールファクタ値の設定... 6 5. サンプルプログラムの制御... 7 5.1. AT キャリブレーション... 7 5.2. 姿勢検出... 8 6. API 関数仕様... 10 se_atcalinitialize... 10 se_atcalexecute... 10 se_atsetoffset... 11 se_atgetoffset... 11 se_atsetattitude... 12 se_atsetattitudeparam... 13 se_atgetattitudeparam... 13 se_atinitialize... 14 se_atestimate... 15 7. 要求メモリ... 16 改訂履歴表... 17 FSA サンプルプログラム姿勢検出 Seiko Epson Corporation i

1. 概要 1. 概要 本 FSA サンプルプログラムは 3 軸ジャイロセンサー 3 軸加速度センサー 3 軸地磁気センサーを用いて姿勢検出を実現します 下記に示すような特徴を備えています 1) エプソンオリジナルのアルゴリズムによる 高精度姿勢検出を実現します 2)FSA による高効率な演算処理によって 低クロックでの処理を実現します 3) 工場出荷時のキャリブレーションを不要とするフィルタリング処理を行います 4) お客様の環境に応じた初期パラメータの設定が可能です 5) 基板に実装されたセンサーの座標軸とは異なる任意の座標軸を設定することが可能です 本 FSA サンプルプログラム全体の構成を図 1-1 に示します se_atlib.c 3 軸加速度 3 軸地磁気 姿勢検出 (se_atlib) 姿勢 ( オイラー角 クォータニオン ) 3 軸ジャイロ 図 1-1 姿勢検出の FSA ライブラリ構成 以下に本サンプルプログラムがサポートする関数一覧を示します 表 1-1 姿勢検出サンプルプログラムのサポート関数一覧 関数 概仕様 se_atinitialize 姿勢検出に必要な初期化を行う関数 se_atestimate 姿勢検出を行う関数 se_atcalinitialize AT キャリブレーションに必要な初期化を行う関数 se_atcalexecute AT キャリブレーションを行う関数 se_atsetoffset ジャイロセンサーのオフセット値をセットする関数 se_atgetoffset ジャイロセンサーのオフセット値を取得する関数 se_atsetattitude 任意の座標軸を設定する関数 se_atsetattitudeparam 座標軸設定パラメータをセットする関数 se_atgetattitudeparam 座標軸設定パラメータを取得する関数 2 Seiko Epson Corporation 姿勢検出ライブラリ仕様書

2. サンプルプログラム構成ファイル 2. サンプルプログラム構成ファイル 姿勢検出サンプルプログラムは 以下のファイルで構成されています 表 2-1 構成ファイル一覧 パッケージ名 ファイル 内容 atlib se_atlib.o 姿勢検出ライブラリオブジェクト (MCU 処理部 ) se_atlib_fsa.o 姿勢検出ライブラリオブジェクト (FSA 処理部 ) se_atlib.h 姿勢検出ライブラリヘッダファイル se_symbols_atlib.def リンク時に必要な定義ファイル FSA サンプルプログラム姿勢検出 Seiko Epson Corporation 3

3. 構造体 3. 構造体 以下に姿勢検出で用いる型定義一覧を示します これらの型定義は se_atlib.h 内で定義されています AT_DATA 構造体 typedef struct { short long long long long } AT_DATA; *psdata; lr; ldoer; *plquat; *pleuler; 本サンプルプログラムに必要な情報をまとめた構造体です 各要素の詳細は以下の通りです psdata 3 軸ジャイロセンサー 3 軸加速度センサー 3 軸地磁気センサーのセンサー値を配置する領域へのポインタを指定してください 但し FSA がアクセス可能な領域を割り当てる必要があります 確保する領域の順序は 以下の通りです 表 3-1 センサーデータ配列 オフセット サイズ 説明 0x00 16bit 加速度センサー X 軸 0x02 16bit 加速度センサー Y 軸 0x04 16bit 加速度センサー Z 軸 0x06 16bit 地磁気センサー X 軸 0x08 16bit 地磁気センサー Y 軸 0x0a 16bit 地磁気センサー Z 軸 0x0c 16bit ジャイロセンサー X 軸 0x0e 16bit ジャイロセンサー Y 軸 0x10 16bit ジャイロセンサー Z 軸 lr 本サンプルプログラムでは使用しません 設定は不要です ldoer 本サンプルプログラムでは使用しません 設定は不要です plquat 本サンプルプログラムで推定される姿勢をクォータニオンで保持する領域へのポインタです 本ポインタを参照することで 端末の姿勢を確認することができます クォータニオンの固定小数点位置は 28 です 物理量を表す単位はありません 表 3-2 姿勢データ配列 ( クォータニオン ) オフセット サイズ 説明 0x00 32bit クォータニオン q0 0x04 32bit クォータニオン q1 0x08 32bit クォータニオン q2 0x0c 32bit クォータニオン q3 pleuler 本サンプルプログラムで推定される姿勢をオイラー角 ( ロール ピッチ ヨー角 ) で保持する領域へのポインタです 本ポインタを参照することで 端末の姿勢を確認することができます NULL ポインタが割り当てられる場合 オイラー角は出力されません オイラー角の単位は radian で 固定小数点位置は 29 です 4 Seiko Epson Corporation 姿勢検出ライブラリ仕様書

3. 構造体 表 3-3 姿勢データ配列 ( オイラー角 ) オフセット サイズ 説明 0x00 32bit ロール角 0x04 32bit ピッチ角 0x08 32bit ヨー角 FSA サンプルプログラム姿勢検出 Seiko Epson Corporation 5

4. マクロ定義 4. マクロ定義 スケールファクタ値の設定 本サンプルプログラムではスケールファクタの設定値の算出を簡易化するために 以下のマクロ関数を定義しています 表 3-1 スケールファクタ値の設定マクロマクロ名 SET_GYR_SF(sensitivity) sensitivity: ジャイロセンサー感度 単位は dps/lsb SET_ACC_SF(sensitivity) sensitivity: 加速度センサーの感度 単位は G/LSB 説明 se_atinitilize 関数でplScaleFactor[0] に設定するジャイロのスケールファクタ値を算出する 1 se_atinitilize 関数で plscalefactor[1] に設定する加速度のスケールファクタ値を算出する 1 例えば 14.375 LSB/dps のジャイロセンサーの場合 plscalefactor[0] = SET_GYR_SF(1/14.375) とします 同様に 256 LSB/G の加速度センサーの場合 plscalefactor[1] = SET_ACC_SF(1/256) とします 6 Seiko Epson Corporation 姿勢検出ライブラリ仕様書

5. サンプルプログラムの制御 5. サンプルプログラムの制御 本サンプルプログラムのフ制御フローを 下図を使って説明します 5.1. AT キャリブレーション キャリブレーション開始 (1) 初期設定 pfsareg に FSA I/O 領域の先頭番地を設定 plscalefactor にスケールファクタを設定 ulcalibth に閾値となる角速度を設定 ussuccesscount に成功判定回数を設定 (2) se_atcalinitialize (3) 出力設定 psresult にオフセットデータの出力領域を設定 ループ ( 規定回数成功するまで ) (4) 入力設定 psdata にセンサーデータを設定 (5) se_atcalexecute (6) 戻り値による成功判定 ループ (7) psresult からオフセットデータを取得 キャリブレーション終了 (1) キャリブレーションに必要な初期設定を行います (2) 初期化を行います 本関数はキャリブレーション実行時に初回のみ実行します (3) キャリブレーションの出力を設定します オフセットデータの出力領域を確保します (4) キャリブレーションの入力を設定します センサーデータを設定します (5) 上記 (4) で設定された入力を元にキャリブレーションを行います (6) 上記 (5) の戻り値からキャリブレーションが完了したかチェックします (7) 必要に応じて 上記 (3) の出力領域からオフセットデータを取得してください FSA サンプルプログラム姿勢検出 Seiko Epson Corporation 7

5. サンプルプログラムの制御 5.2. 姿勢検出 姿勢検出開始 (1) 初期設定 pfsareg に FSA I/O 領域の先頭番地を設定 plscalefactor にスケールファクタを設定 plsummag に地磁気センサー値 ( 補正済 ) を設定 plsumacc に加速度センサー値を設定 platparam に初期パラメータを設定 ldelta に更新周期を設定 ldeclination に偏角を設定 (2) se_atinitilize (3) se_atsetoffset (4)se_ATSetAttitudeParam (5) 出力設定 plquat, pleuler に姿勢の出力領域を設定 (a) se_atsetattitude(0) ループ (6) 入力設定 psdata[0:2] に加速度センサー値を設定 psdata[3:5] に地磁気センサー値 ( 補正済 ) を設定 psdata[6:8] にジャイロセンサー値を設定 (7) se_atestimate (b) se_atsetattitude(1) (8) plquat, pleuler から姿勢を取得 ループ (9) se_atgetoffset (10)se_ATGetAttitudeParam 姿勢検出終了 8 Seiko Epson Corporation 姿勢検出ライブラリ仕様書

5. サンプルプログラムの制御 (1) 初期設定を行います 地磁気データはキャリブレーションで補正した値を設定します (2) 初期化および初期姿勢の算出を行います 本関数は姿勢検出の実行時に初回のみ実行します (3) 前述の AT キャリブレーションで求めたオフセットデータをセットします (4) 必要に応じて 前回起動時に (10) で取得した座標軸設定パラメータをセットします (5) 姿勢検出の出力を設定します 姿勢の出力領域を必要に応じて確保します (6) 姿勢検出の入力を設定します 地磁気データは地磁気キャリブレーション済みの値を設定します (7) 上記 (6) で設定された入力を元に姿勢検出を行います (8) 必要に応じて 上記 (5) の出力領域から姿勢を取得してください (9) 必要に応じて 姿勢検出で更新されたオフセットデータを取得してください (10) 必要に応じて (a) および (b) で定義した座標軸設定パラメータを取得してください 任意の座標軸を定義して姿勢検出を行う場合は 下記の処理を実施してください (a) 定義する座標軸上のロール角 ピッチ角 ヨー角のすべてが 0 度となる姿勢 A を記録します (b) 姿勢 A から 定義する座標軸上のピッチ角に相当する角度に -30 度から -60 度程度変化させた姿勢 B を記録します この姿勢 A から姿勢 B への変化を 定義する座標軸上における Y 軸を中心とした回転と見做して 最終的な座標軸が定義されます FSA サンプルプログラム姿勢検出 Seiko Epson Corporation 9

6. API 関数仕様 6. API 関数仕様 se_atcalinitialize インクルード #include se_atlib.h 形式 int se_ ATCALInitialize (FSAREG *pfsareg, long *plscalefactor, unsigned long ulcalibth, unsigned short ussuccesscount); 引数 pfsareg plscalefactor ulcalibth ussuccesscount FSA の I/O 領域の先頭番地へのポインタジャイロセンサーのスケールファクタへのポインタ AT キャリブレーション閾値 AT キャリブレーション完了判定回数 戻り値 説明 正常に終了した場合は 0 それ以外 ( 入力が NULL ポインタなど ) は -1 を返します 静止時誤差 ( オフセット ) を補正するための AT キャリブレーションに必要な初期化を行います AT キャリブレーションは 角速度の変動によって端末の静止状態を判定し キャリブレーションを実施するため ulcalibth には静止状態を判定する閾値を角速度で設定してください 角速度の単位は dps で 固定小数点位置は 28 です ussuccesscount にはキャリブレーションの完了を判断するための 静止判定回数を設定します plscalefactor にはジャイロセンサーのスケールファクタを設定します se_atcalexecute インクルード #include se_atlib.h 形式引数戻り値説明 int se_ ATCALExecute (short *psdata, short *psresult); psdata psresult AT 構造体の psdata へのポインタ 3 軸ジャイロセンサーのオフセット値へのポインタ キャリブレーションが成功した場合は 0 成功しなかった場合は -1 を返します AT キャリブレーションを実施します psdata に AT 構造体の psdata を 3 軸ジャイロセンサー値を設定した状態で割り当ててください 内部ではそこから角速度を算出し se_atcalinitialize 関数で指定した閾値と判定回数に従ってキャリブレーションを実施します そしてキャリブレーションが成功した時点での平均値をジャイロセンサーの静止時オフセット値として psresult にセットします これらの参照先は FSA がアクセス可能な領域に確保する必要があります なお 本関数の出力は se_atsetoffset 関数の入力とすることが可能です 10 Seiko Epson Corporation 姿勢検出ライブラリ仕様書

6. API 関数仕様 se_atsetoffset インクルード #include se_atlib.h 形式 int se_atsetoffset(short * psoffset) 引数 psoffset ジャイロセンサーのオフセット値へのポインタ 戻り値 説明 正常に終了した場合は 0 それ以外 ( 入力が NULL ポインタなど ) は -1 を返します psoffset で与えられた値をジャイロセンサーのオフセット値としてセットします 本関数の入力値は se_atcalexecute 関数 もしくは se_atgetoffset 関数から得られた値をセットしてください se_atgetoffset インクルード #include se_atlib.h 形式 int se_ ATGetOffset (short * psoffset) 引数 psoffset ジャイロセンサーのオフセット値へのポインタ 戻り値 説明 正常に終了した場合は 0 それ以外 ( 入力が NULL ポインタなど ) は -1 を返します se_atestimate 関数内で推定したジャイロセンサーのオフセット値を psoffset にセットします 本関数の出力は se_atgetoffset 関数の入力とすることができます FSA サンプルプログラム姿勢検出 Seiko Epson Corporation 11

6. API 関数仕様 se_atsetattitude インクルード #include se_atlib.h 形式引数戻り値説明 int se_ ATSetAttitude (int iattnum) iattnum 記録する姿勢の番号 (0: 基準となる姿勢 A 1: 所定動作後の姿勢 B) 正常に終了した場合は 0 それ以外は -1 を返します 本関数は 任意の座標軸を基準に姿勢検出を行う際に 基準となる座標軸の設定を行うための関数です 具体的な手順は下記の通りです 1)iAttNum を 0 として本関数をコールし この時の姿勢 A を記録します 姿勢 A は 設定座標軸上のロール角 ピッチ角 ヨー角のすべてが 0 度の姿勢に相当します 2) 姿勢 A から 設定座標軸上のピッチ角に相当する角度に -30 度から -60 度程度姿勢を変化させた状態で iattnum を 1 として本関数をコールし この時の姿勢 B を記憶します 上記 1) 2) の操作により得られた姿勢 A から姿勢 B の変化を 設定座標軸上における Y 軸を中心とする回転と見做して 最終的な座標軸が設定されます 本関数により座標軸を設定した以降は se_atestimate 関数で得られる姿勢は 設定された座標軸を基準とした値となります 2 座標軸の設定をやり直す場合は 上記の 1) 2) の手順を再度実行してください また 設定した座標軸を解除する場合は se_atinitialize 関数により初期化を実施してください 2 座標軸軸設定パラメータの算出は se_atsetattitude 関数による座標軸の設定を受け se_atestimate 関数で行われます 従って se_atgetattitudeparam 関数で座標軸設定パラメータを取得する場合は se_atestimate 関数をコールした後に取得してください 12 Seiko Epson Corporation 姿勢検出ライブラリ仕様書

6. API 関数仕様 se_atsetattitudeparam インクルード #include se_atlib.h 形式 int se_atsetattitudeparam (char *pcparam) 引数 pcparam 座標軸設定パラメータへのポインタ 戻り値 説明 正常に終了した場合は 0 それ以外は -1 を返します 座標軸設定パラメータをセットします 事前に se_atgetattitudeparam 関数で取得した座標軸設定パラメータを pcparam にセットし 本関数をコールすることで se_atsetattitude 関数で設定した座標軸を復元します なお この座標軸設定パラメータの保持に必要な領域は 38Byte です 本関数をコールする場合 se_atinitialize 関数より後に実行してください 復元後の初期姿勢について se_atsetattitudeparam 関数コールする際の姿勢は任意です 本関数コールした後 復元した座標軸に合わせた姿勢が出力されます 但し se_atgetattitudeparam 関数コール時と磁場環境が異なる場合 ヨー角方向に回転した姿勢が出力される可能性があります se_atgetattitudeparam インクルード #include se_atlib.h 形式 int se_atgetattitudeparam (char *pcparam) 引数 pcparam 座標軸設定パラメータへのポインタ 戻り値 説明 正常に終了した場合は 0 それ以外は -1 を返します 座標軸設定パラメータを取得します 本関数を実行することで pcparam に関数コール時の座標軸設定パラメータを取得します 取得したパラメータは se_atsetattitudeparam 関数からセットすることで se_atsetattitude 関数で設定した座標軸を復元することが可能です なお この座標軸設定パラメータの保持に必要な領域は 38Byte です FSA サンプルプログラム姿勢検出 Seiko Epson Corporation 13

6. API 関数仕様 se_atinitialize インクルード #include se_atlib.h 形式引数戻り値説明 int se_atinitialize( void *pfsareg, long *plsumacc, long *plsummag, long *plscalefactor, long *platparam, long ldeclination, long ldelta ) pfsareg FSA の I/O 領域の先頭番地へのポインタ plsumacc 加速度センサー値へのポインタ plsummag 地磁気センサー値へのポインタ plscalefactor ジャイロ 加速度センサーのスケールファクタ値へのポインタ platpalam 姿勢検出の初期パラメータへのポインタ ldeclination 磁気偏角 ldelta 姿勢検出の更新周期 正常に終了した場合は 0 それ以外 ( 入力が NULL ポインタなど ) は -1 を返します 姿勢の推定に必要な初期化をします pfsareg は FSA の I/O 領域の先頭番地を設定してください 3 plsumacc および plsummag はそれぞれ 3 軸加速度センサー値と 3 軸地磁気センサー値を設定します 但し センサーのサンプリング時のノイズを抑えるために 16 サンプルの合計値を設定してください また FSA がアクセス可能な領域に確保する必要があります plscalefactor は使用するセンサーのスケールファクタ値を設定します 前述のマクロ関数を使用して ジャイロセンサー 加速度センサーの順でスケールファクタ値を設定してください platparam は姿勢検出の初期パラメータを設定します パラメータは使用するセンサーなどによって異なるため 環境に合わせたパラメータを設定してください 4 ldeclination は地磁気における偏角を設定します 偏角は degree 単位で 固定小数点位置を 23 として設定してください 5 ldelta は姿勢検出の更新周期を設定します 更新周期は sec 単位で 固定小数点位置を 28 として設定してください 6 なお 本関数をコールせずに se_atestimate 関数をコールした場合の動作は保証されません 3 FSA の I/O 領域は機種によって異なります 詳細は各テクニカルマニュアルを参照してください 4 設定するパラメータ (24Byte) の詳細については 弊社営業窓口までお問い合わせください 5 例えば東京であれば現在の偏角は約 7 度であるため (long)(-7*(2^23)+0.5) を設定します 6 例えば更新周期が 128Hz の場合 (long)((1/128)*(2^28)+0.5) となります 14 Seiko Epson Corporation 姿勢検出ライブラリ仕様書

6. API 関数仕様 se_atestimate インクルード #include se_atlib.h 形式 int se_atestimate(at_data *pstatdata) 引数 pstatdata AT_DATA 構造体のポインタ 戻り値 説明 正常に終了した場合は 0 それ以外 ( 入力が NULL ポインタなど ) は -1 を返します 端末の姿勢を推定します サンプリングしたジャイロ 加速度 地磁気センサー値を 前述のセンサーデータ配列に従って AT_DATA 構造体の pstatdata に設定してください 推定された姿勢はクォータニオンおよびオイラー角 ( ピッチ ロール ヨー角 ) で表現され それぞれ AT_DATA 構造体の plquat および pleuler に返します 但し オイラー角を返す領域に NULL ポインタが割り当てられている場合 クォータニオンのみを出力します なお se_atsetattitude 関数によって所定の座標軸が設定された場合 出力は設定された座標軸を基準とした姿勢となります なお 4G を超える衝撃や 0.5G 未満の自由落下状態となったとき 出力の姿勢が一瞬乱れる場合があります FSA サンプルプログラム姿勢検出 Seiko Epson Corporation 15

7. 要求メモリ 7. 要求メモリ 下表に要求メモリサイズをまとめます 入出力データ保持する領域は別途必要です 表 6-1 要求メモリサイズ (byte) メモリ種別 C17 C33 FSA FSA スタック ROM 9386 6206 5620 - RAM 196 196 2796 900 (*1) FSA スタックメモリとは FSA が一時的な作業領域として使用するメモリです 具体的には FSA がアクセス可能なメモリの最上位の領域が使用されます 16 Seiko Epson Corporation 姿勢検出ライブラリ仕様書

改訂履歴表 改訂履歴表 Rev. No. 日付ページ種別 Rev.1.0 2015/04/03 - 新規新規作成 改訂内容 ( 旧内容を含む ) および改訂理由 付 -1 FSA サンプルプログラム姿勢検出 Seiko Epson Corporation 17

マイクロデバイス事業部デバイス営業部 東京 191-8501 東京都日野市日野 421-8 TEL(042)587-5313( 直通 ) FAX(042)587-5116 大阪 541-0059 大阪市中央区博労町 3-5-1 エプソン大阪ビル 15F TEL(06)6120-6000( 代表 ) FAX(06)6120-6100 ドキュメントコード :412957100 2015 年 4 月作成