興味を惹かれたので、Open になっている中から、一つ読んでみました。
Observational method as risk management tool: the Hvalfjörður tunnel project, Iceland
フォールトツリー分析を用いたトンネル掘削時のリスクマネジメント例です。詳細までは書かれていませんが、スタンダードな手法でリスクマネジメントを行われたことは理解できます。
先日、機械学習を利用した物理シミュレーションの話を伺いました。
近年多い話題なのですが、こちらは一味違いました。
PINN: Physics-Informed Neural Network と呼ばれているそうです。損失関数に支配方程式を組み込み、残差を0に近づけるという手法です。なので、一般的な機械学習のように学習データを大量に準備する必要がありません。
理解すると「そんな単純な話」と思ってしまいますが、まったく思いつきませんでした。凡人には思いつけない、素晴らしい発想ですね。
NVIDIAさんは2年前にソルバーを公開されています。SimNet と呼ばれています。今日、このUser Guide の1~3章までを読み、4章以降をざっと眺めました。理論部分を完全には理解できなかったのですが、使う部分に限っては難しい内容ではありません。むしろ、書かれていない部分(STL等形状の取り込み、計算点の作成、評価)の実装が想像できませんでした。こういう難しそうなところをサラッと流すのは、さすがNVIDIAさん。プロですね。
誰でも動かせるように作ってもらっているのはありがたいのですが、いきなりこれを使いだすと身につかないでしょう。何かしら簡単なネットワークを作って計算してみることから始めてみるべきでしょう。
メッシュレス、物理法則の取り込み、3次元への対応、いずれも有望です。これまでの数値解析手法に並ぶことができるのか、楽しみです。
今夏、送迎バスに園児が取り残されて人命を失う、あるいは自力で脱出を余儀なくされるという人為的事故が続きました。居眠りや飲酒で児童の列に車ごと突っ込むヒトもいなくなりません。
ヒューマンエラーの一言で片付けるには重すぎる過誤です。
エラー回避策の立案と実行は簡単なのですが、それができなかったヒトがいるというのが根本的な原因ですので、ヒトに働きかけて事故を無くすという考え方では、残念ながら撲滅は難しいのでしょう。
私の自家用車には居眠りを検知するセンサーが付いているそうです。幸い、検知される機会がないのでどのような音なのか知らないのですが、おそらく色々な車種についているのでしょう。レーンキープ、衝突軽減ブレーキなど先進安全装置は既に多くの車種に装備されています。ロック忘れやハザードの消し忘れなども、アプリに通知される時代です。義務化が延期された社用車運転時の検知器による事前アルコールチェックも、いずれは車内環境をセンサーが常時測定しアプリ(サーバー)に記録、閾値を超えると責任者に通知される時代が来るでしょう。技術的には可能ですので。
園児の送迎バスにも座席毎に距離センサーを付けておけば、距離異常を検出可能になります。タイマーでスリープするようにしておけば、エンジン停止後のバッテリー上りを防ぐことが可能でしょう。20台で30万円くらい?
天井などにカメラを付けておけば、動体検知が可能です。これは5台で10万くらいでしょうか。いずれも検知したら アプリに通知やLINEで一斉配信すれば良いでしょう。これくらいのオプション、電子工作レベル(と最近わかりました)なので義務化してしまえば良いと思います。
プロならもっと安く、良い性能のオプションを作ることが可能でしょう。既に社外に向けた距離センサーは多くの車に付いていますので、それを車内に向けると良いわけですから。
性善説を前提としたヒューマンエラー対策、性悪説を前提とした予防、その両軸で進めないと、またどこかで繰り返されることになります。来夏までには対策を済ませ、皆が笑って過ごせるようにしてもらいたいものです。
*****************************
20221108 追記
今日もまた、小学生が置き去りに。
ドアを後ろに移動して、後ろからしか降りられないようにしたらダメなのでしょうか。昔は挟み込みの危険があったかもしれないけど、今は安価なセンサーがあるので解決できるのでは?
MEMS加速度センサーの +- 方向についてよく理解できていなかったのですが、以下のサイトで理解できました。
https://lastminuteengineers.com/adxl335-accelerometer-arduino-tutorial/
測定器の中にボールが入っていて、それが測定器を押す方向をイメージすれば整合します。下向きに1gかかっていたら、下が+。測定器を急に上に動かすとボールが測定器の下面を押すのでさらに+の力がかかります。急に下に動かせば、ボールが浮いて上面を押すので-の値になります。
理解を難しくしていたのは、センサーの軸方向が google 先生の情報と逆だったこと。単純にセンサーを傾けてチェックすればOKでした。
ジャイロもあります。Z周りが相対的に弱いのも感覚的に掴めます。
https://lastminuteengineers.com/mpu6050-accel-gyro-arduino-tutorial/
あと、分からないのはノイズ。
https://www.analog.com/jp/education/landing-pages/003/td_accelerometer_specifications_definitions.html
https://www.analog.com/jp/analog-dialogue/articles/mems-vibration-monitoring-acceleration-to-velocity.html
ノイズ = ノイズ密度 * sqrt (BW * 1.6)
1.6は何でしょう?後者では考慮されていません。
いずれにしても、観測ではそこまで小さくなりません。なぜでしょう。
Scoops3D
https://www.usgs.gov/software/scoops3d
試行円弧の3次元版です。FEMではなくて、LEMです。このようなコードが公開されるUSGS、さすがです。
現状、円弧(球)ですので実務では使用しません。これが楕円でも使用しないでしょう。山が円弧すべりをすることは稀ですし、仕様が2Dの間は利益に直結しません。しかし、技術者としては、こういった計算が海外では Open になっていることに一定の危機感を抱くべきでしょう。
マニュアルを読んでみましたが、難しいことは書かれていません。2D の試行円弧の知識があれば、問題なく読めますし結果も理解できるでしょう。2dで実施している一通りの機能は備わっていますし、ソースを少し改変すれば多くの基準に適合させることがますので、逆に加点要素として導入しやすいのかもしれません。何かしら円弧が適当な場で提案してみるのもアリでしょう。
難しくはないのですが、計算には時間がかかりそうです。単純に探索領域が3次元に拡大するためです。example の実行では比較的早く終わりましたが、ひと山となると大変でしょう。
残念ながら、こういった計算や解析に関し多くのサラリーマン技術者は他人事です。理論ではなく経験に基づいた仕事の処理で利益を生んでおり、新たなものを許容する技量と器量に欠けています。経験優先が悪いわけではないのですが、それによる思考停止は避けたいものです。
いずれにしても、海外ではコチラの内情に関係なく技術が発達します。止まっている日本の中でその恩恵を受けることができるならば、迷わずに学ばせてもらうべきでしょう。