はじめに スマートフォンの近距離無線通信といえば、みなさん Bluetooth, Wi-Fi, NFC あたりを思い浮かべるでしょう。実はiPhoneでは、UWB(超広帯域無線)というもう一つの無線通信があることをご存知でしょうか。 iPhone11 から iPhone に標準搭載されるようになった Apple U1チップ。Apple製デバイスをUWBに対応させる専用チップで、一般向け製品に UWB が搭載された初のケースです。特に近距離の正確な位置測位に強く、他にはないポテンシャルを秘めています。 しかし、LiDARスキャナの話題性に比べ、こちらはあまり使われているアプリを見ることがありません(Apple公式の「探す」アプリくらい?)。今回はそんな UWB と、Apple の UWB 技術を簡単に使える開発者向けフレームワーク「NearbyInteraction」についてご紹介いたします
株式会社サムザップで SRE をしているれおすけです。サムザップ AdventCalendar 2022 の6日目の記事です。 昨日は @ohbashunsuke さんの【知らないと損する】デザイナー向け5つのUnityテクニックでした。 背景 スマートフォンでのアプリ開発をしていると何かと気になるのが端末温度です。 第四世代以降の iPhone/iPad/iPod touch は高温になりすぎた場合に本体を保護する機能が組み込まれており、温度が上限を超えると警告メッセージが表示されます。その状態になると、本体の電源を切って、端末温度が冷えるまで使うことができません。 もともと、カクカクした描写にならないように処理の負荷を考慮したり、パフォーマンスを計測することはやってきています。しかし、一つ一つは負荷のかからない処理でも続けて長く使用することで、端末の温度が上がってしまうケースはあると思
加速度センサー よく 端末を動かした時の(加)速度 を取得するためのセンサーと誤解されますが、実際には 端末にかかる重力加速度ベクトルを端末のローカル各軸に分解したときの重力の大きさ を取得するためのセンサーです。 ちなみに加速度センサーは 右手系 のためZ軸は手前が正 であることに注意しましょう。 (Unity は左手系なのでZ軸奥が正で、手前が負です) Unityでは Input.acceleration で各軸にかかる重力加速度の大きさがわかります。 基本的にはどの値も |x| ≦ 1.0 なことが多いですが、端末をぶん回したり運動させると |x|が1を超える場合もあります。 1.0 の意味ですが 1.0G という意味になります。 仮に2.0 となったら2倍の重力がかかっていることになります。(日常生活レベルでは基本1.0以下になることがほとんどです) ジャイロセンサー 姿勢(角度)
9軸IMUによる姿勢推定 何番煎じか分からないが、拡張カルマンフィルタ (EKF) を用いて3次元空間での姿勢推定を実装する。 加速度センサ ジャイロセンサ 地磁気センサ 上記の3つのセンサから得られるデータを用いて、3次元空間における姿勢推定を行う。 今回の実装における推定結果はオイラー角 Z-Y-X系として得られる。 1つのセンサのみからでもある程度の姿勢を計算することできる。 が、複数のセンサを用いてより高精度な姿勢を得ることが今回の目的である。 細かいところは触れず、まずは一通りの計算を行うことを目指す。 各センサからの姿勢推定 それぞれのセンサによる姿勢推定の方法は、下記の記事にまとめている。 細かな導出方法は下記を参照してほしい。 加速度センサでオイラー角の姿勢推定 - Qiita ジャイロセンサでオイラー角の姿勢推定 - Qiita 地磁気センサでオイラー角の姿勢推定 - Q
iOSのLiDARセンサーを用いたサンプルコード集をGitHubに公開したので紹介します。 本記事の執筆時点でGitHubで91スターを頂いています! TokyoYoshida/ExampleOfiOSLiDAR 👆よさそうだと思った方はスターをお願いします⭐ 例えば、こんなサンプルが入っています。 The GitHub repository of sample code using iOS LiDAR sensors, including 3D scanning, got 40 stars in a day! iOSのLiDARセンサーを用いたサンプルコードのGitHubリポジトリが1日で40スターも取った! The repository is here.https://t.co/FHASFV4Zfs#iOS #LiDAR #AR #ARKit pic.twitter.com/lfCq
使用例 カメラ撮影時、暗所でオートフォーカスの高速化、暗い場所での撮影時でも背景を良い感じにボケさせるナイトポートレート写真の撮影などに活用されている様です。 また、ARの領域での活用が期待されています。 不動産の内見のときに、部屋中をスキャンしておくとあとで見返せて便利だよねという話が所々で上がったりしていたりします。 サンプルコードはこちら import UIKit import ARKit import RealityKit class LiDARViewController: UIViewController { @IBOutlet weak var arView: ARView! @IBOutlet weak var imageView: UIImageView! override func viewDidLoad() { super.viewDidLoad() configur
はじめに 加速度センサー値の取得、世界座標系での傾き取得までは割りと情報がありますが、加速度の世界座標系への変換に関する記述があまりなかったので、まとめておきます。(英語ならある程度あったけれど) 解説 ローパスフィルタで重力加速度の取得 地磁気センサーもノイズ除去のためにローパスに通してます。 switch(event.sensor.getType()) { case Sensor.TYPE_ACCELEROMETER: rawacc = event.values.clone(); lowpassFilter(grav, rawacc); break; case Sensor.TYPE_MAGNETIC_FIELD: lowpassFilter(mag, event.values.clone()); break; default: return; } ... private void l
輝度センサーやモーションセンサーなど、iOSで検知できる様々な項目をまとめたサンプル集 iSensorSwift をGithubで公開しました。 github.com ▼機能の1つである「輝度センサー」のスクリーン iSensorSwift は昔書いたこちらのサンプル集を Swift で書き直したものになります。 興味のある方は、ぜひ使ってみてください!😀 検知できる項目 光・音声系 輝度センサー 近接センサー シェイクジェスチャー マイクの音 位置情報系 緯度・経度 電子コンパス 標高 移動・動作系 加速度センサー 歩数・進行状況 移動速度 その他 顔検出 バッテリー残量 実装方法を解説した記事 【Tips】iOSで輝度センサーを使う(Swift対応) - koogawa blog 【Tips】iOSで近接センサーを使う(Swift対応) - koogawa blog 【Tips】iO
昨年末にこの記事を読んで以来、昼過ぎに眠くなるのは CO2 濃度のせいでは無いかと思い始め、CO2センサーへの興味が湧いて仕方がなっかのだが、CO2センサーはいかんせん高い。そう悩んでいたところ、格安のセンサーを見つけたのでUSBで値を取れるようにしてみた。 まとめ CO2mini というセンサーは何処にも書いてないが、USBデバイスとして認識できる gem を作ったので bundle install すれば Mac でも Linuxでも値がとれる。 僕のオフィスのCO2濃度は別に高く無さそう。 センサー選び CO2 濃度を計れるセンサーは、専門家向けのものが多く価格帯が高い。 PCから値を取ろうと思うと、手頃のなのは 【日本正規代理店品・保証付】Netatmo ウェザーステーション NET-OT-000001 出版社/メーカー: Netatmo発売日: 2013/10/10メディア: エ
Sensor Batchingの概要 Android 4.4ではセンサーへのアクセスをバッチ処理することで消費電力をさらに抑えました。センサーバッチ(Sensor batching)ではシステムがスリープしていても(画面がオフでも)センサーイベントを取得できるため位置情報を利用するなど低消費電力・長時間利用というユースケースに最適です。 バッチ処理が必要な理由 バッチが実行されるまでの間はセンサーイベントが通知されないためCPUは低消費電力なアイドル状態/サスペンド状態を維持できます。バッチの実行間隔は任意の設定が可能です。もちろんリアルタイムなセンサー値がほしい場合はいままで通りです。センサーのバッチ処理はフィットネスや位置追跡、監視などに向いており、システムスリープ状態やスクリーンオフでも利用できる利点があります。ハードウェア対応が必要なため、Nexus 5など新しい端末で利用できます
6月のWWDCのプレゼンテーションでひっそりとその存在について知らされていたものの、詳細については一切語られることのなかった「iBeacon」ですが、無線通信を利用したデータ送受信機能であることが明らかになりました。一部でiOS 7のキラーコンテンツになると評されるiBeaconとはどういうものなのでしょうか? With iBeacon, Apple is going to dump on NFC and embrace the internet of things — Tech News and Analysis http://gigaom.com/2013/09/10/with-ibeacon-apple-is-going-to-dump-on-nfc-and-embrace-the-internet-of-things/ ソフトウェアエンジニアリング担当上級副社長であるクレイグ・フェ
昨日AppleのiOSドキュメントをあさっていて、 「CoreMotion」なるフレームワークがあることを初めて知りました。 加速度センサとジャイロスコープからモーションデータを取得するためのフレームワークのようです。 そういえばジャイロって未だに何ができるのかよくわかってなかったので、 試しに使ってみました。 (ソースコード一式) https://github.com/shu223/CMTest 手順はたったの3ステップ。 alloc/initでCMMotionManagerのインスタンスを生成 gyroUpdateIntervalプロパティに値の取得間隔を設定 startGyroUpdatesToQueue:withHandler:メソッドで取得開始&取得時の処理を指定。 #import <UIKit/UIKit.h> #import <CoreMotion/CoreMotion.h>
android の加速度センサを調べていたら、プログラム例として、下記のような式が頻出していた。 現在の値 = 0.9 * ひとつ前の値 + 0.1 * センサの値 しかし、これが何をするものかの説明がほとんどなかった。 そこで少しだけ詳しく説明する。 目的 センサから情報には、センサ自体の精度や感度による誤差や、手に持った場合の手ぶれの影響などが含まれます。 本来検出したいセンサ情報を得るのは、素早い振動成分(高周波成分)を取り除くて、変動幅が小さい有効成分(低周波成分)だけを取りだす必要があります。 このための仕組みが、ローパスフィルタ(Low Pass Filter 低周波通過濾波器) です。 原理 詳しい原理は、デジタル信号処理 の教科書に任せて。 ひとまずは、加算平均すると、ローパスフィルタになると、覚えておけばよい。 ソースコード ソースコードは code.go
真の「ケータイするGoogle」端末「Nexus One」登場! グーグルがGoogleブランドでケータイを作成しました。その名も「Nexus One」です(参考:Google、Android 2.1搭載の“スーパーフォン”「Nexus One」を発表)。 Nexus Oneは、スペックもさることながら、搭載されているAndroidのバージョンが2.1であることの方が開発者としては注目です。Android 2.1は、早速SDKもリリースされ、エミュレータ上で新機能が利用できます。 Android 2.1の新機能は、次回紹介する予定です。 今回は、目先を変えて、Androidのセンサの使い方を紹介します。センサはAndroidの実機がないと動作確認ができないので、開発のハードルが少し高いかもしれませんが、将来Androidの実機を入手したときのために、参考にしておいてください。 iPhone
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く