BitArts Blog

ロードバイク通勤のRubyプログラマで伊豆ダイバー。の個人的なブログ。

(潜)Divestar開発記:ダイブプロフィール警告機能

Divestarの目玉機能のひとつが、入力されたダイブプロフィール(水深推移)を分析して、危険な潜り方をしていた場合に警告を出す機能です。その機能の実装がだいぶ揃ってきました。こういう分析アルゴリズムを考えるのは、プログラミングの楽しい部分ですね。

今のところ次のような警告機能が提供される予定です(一応すべて実装済み)。結構調整が難しいです。

image推奨ダイブプロフィール

始めに最大水深まで潜り、ゆっくり水面まで浮上するパターン。

以降は、Divestar的によろしくない潜り方として警告するパターンです。正しい用語ではないものもありますが、便宜上名称をつけています。

imageリバースプロフィール

ダイビングの後半で最大水深に達する。

imageソートゥースプロフィール

水深が安定せずアップダウンを繰り返す。

imageヨーヨープロフィール

一度大きく浮上した後、また深場へ潜る。

image安全停止が不十分

水深5mに3分間の安全停止が確保されていない。

減圧が不十分

環境圧と潜水終了時の体内組織の窒素圧力比が1:2を超えている。(ホールデン理論)

浮上速度違反

9m/min以上の速度で浮上する。

反復水深制限違反

反復潜水において、前回の潜水よりも最大水深が深い。

連続的ダイビング

短い水面休息時間で反復潜水を行う。