MATLABでバタワースハイパスフィルタをつくる

4 次のバタワースハイパスフィルターをつくってみる。 1000 Hz でサンプリングされたデータに対し、カットオフ周波数 30Hzを指定。 その振幅応答と位相応答を表示。 [z, p, k] = butter(4, 30/1000,"high"); sos = zp2sos(z,p,k); fvttool(sos,"Analysis", "…

MATLABでフォルダが存在してなければ新規作成するコマンド

if not(exist(folder_name,'dir')) mkdir(folder_name) end よくググるのでメモ。

DRV2605Lのサンプルコードを動作させる

触覚/振動ドライバのDRV2605Lを使ってみる。 現状、日本語の情報が公式ドキュメント以外なく、まだあまり使われていないのかもしれない。 DRV2605Lのブレークアウト基板がAdafruitとSparkFunから出ているが、 私はAdafruitのものを用いている。 (左手前がDRV…

Anaconda環境にMATLABエンジンをインストールする

先人たちのブログを見てもなかなかうまくいかなかったのでメモ。 Mathworksはpython用のmatlab APIを提供している。 これを使えば、pythonからmatlabの機能を呼び出せるようになる。 環境 Windows10 MATLAB R2018b Anaconda3 手順 まずいきなり使用可能なpyt…

Sweep信号をpythonで扱う

ちょっと前にM系列信号を扱った. M系列信号と同じくシステム同定に用いられるSweep信号を, pythonで生成できるライブラリがあるので試しに生成してみる. scipy.signal.chirpでは4種類の形状(linear, quadrantic, logarithmic, hyperbolic)を指定できる.

SimulinkからArduinoの出力ピンを制御する

MATLAB/Simulink 2013aあたりからArduinoの入出力ピンを制御することができるらしい。 相変わらずの異常な拡張性を実現するMathworksすごい。 使い方としては、 Arduino UNOをWindowsへ接続 MATLABでアドオンインストール アドオンエクスプローラから Simuli…

M系列信号を生成してみる

M系列信号(Maximum-length linear shift register sequence)は2値の周期的な信号であり, 1周期内では乱数として非常によい性質を持っているものらしい. 例えば, 0と1の発生確率がほぼ同じ 自己相関のピークが1周期に1度だけある nビットのM系列の1周期中…

IEEE World Haptics Conference 2019にて素材の静止摩擦係数の知覚を視触覚間相互作用により変化させる手法を発表しました

まとめ 静止摩擦感を提示するためには,従来は専用ハードウェアを追加しなければならなかった 本研究は視触覚間相互作用により,素材表面の静止摩擦を生起・変化させることを提案. 心理物理実験により生起確率とその強度を検証. IEEE World Haptics Confer…

触覚知覚・提示技術に関するサーベイ論文

今後ますます需要が伸びそうな触覚関係の知見を勉強するにあたって, 個々の論文を読むよりもその道の専門家の書いたまとめを読んだ方が近道である. 自分も最近調べ方が変わったのか,サーベイ論文を読む機会が増えてきた. そのたびにどこにあったか調べ直…

情報処理学会のtexテンプレートでdvipdfmxエラーになった際の対処法

情報処理学会のtexテンプレートで, \documentclass[submit]{ipsj} をトランザクション向けに変更すると以下のようなエラーを吐く. dvipdfmx:warning: Could not locate a virtual/physical font for TFM "futogo-b". dvipdfmx:warning: >> This font is ma…

pythonでbyte型をそのまま文字列として扱う

byte_ = 'あ'.encode('utf-8') print(b) # b'\xe3\x81\x82' 以上のバイト文字列をstr型にしてしまうと, 通常はbyte型からデコードされた文字列「あ」が得られる. byte型の文字列をそのまま得たいときには,reprを使う. print(repr(b)) # b'\xe3\x81\x82' …

IEEE VR 2019にて振動触覚提示時のファイン粗さ知覚を視触覚間相互作用により変化させる手法を発表しました

まとめ 振動による質感設計時に,振動子等のハードウェアによる制約を受けてしまう そこで視触覚間相互作用により,振動による質感表現を変化させるコンセプトを提案 本研究では質感次元の中でもファインな粗さを対象として実装とユーザテストを実施 IEEE VR…

NVIDIAのdriverが原因のUbuntuログイン無限ループを避ける

Ubuntu16.04や18.04等でGPUドライバインストール後にUbuntuのログインができないことがたまにある. そのときには,Ctrl+Alt+F2でコンソールに入り下記作業を行う. # ドライバアンインストール sudo apt-get --purge remove nvidia-* sudo apt-get --purge …

国際会議予稿をベースにジャーナル化する際の要件

自分に関係しそうな触覚・VR・HCI分野のジャーナルを調査. 今後も追記予定. Journal 予稿との差分要件 IF(2019/1) IEEE Transactions on Haptics 数値の記載なし 1.869 IEEE Transactions on Visualization and Computer Graphics 数値の記載なし 3.078 IE…

arXiv投稿メモ

画像サイズは小さく(1MB以下)にする必要あり 自分はpdfにして,そのあとepsに戻すスクリプトで一括変換している. for file in `\find ./figures -maxdepth 1 -type f`; do echo $file epstopdf $file pdftops -eps ${file/eps/pdf} done .bibファイルととも…

Safari on iOSでWeb Audio APIを動かす

公式ドキュメントにあるようなctx = new(window.AudioContext || webkitAudioContext); とすると, ReferenceError: Can't find variable: AudioContextとなってしまうが, ここにある通り, ctx = new(window.AudioContext || window.webkitAudioContext); …

epsファイルサイズを減らす

arXiv対策等でepsファイルサイズをとにかく減らしたい時がある. そんな時はpdf化して再度eps化する. epstopdf filename.eps pdftops -eps filename.pdf もしno display font for 'helvetica-bold'等のエラーが出たら, xpdfをインストールし直す. 私のmac…

Food101データセットを触ってみる

Food101という101クラスの料理画像がラベルとセットになっているデータセットがある。 こちらを触ってみる。 クラスごとに250枚のテスト画像と750枚の訓練画像があり、全部で101000枚画像が用意されている。 オリジナルだと画像の最大サイズは同じ(512pixel)…

Vibrotactile Display: Perception, Technology, and Applicationsを読んだ

S.ChoiとK.J.Kuchenbeckerによるvibrotactile displayの入門書を読んだ. 12ページと分量も多くないし,簡潔に書かれていてとても良みやすいと思う. 振動触覚を仕事で扱う人や学生さん(私)にぜひオススメ. 振動触覚のアプリでの活用時のデザインのTipsが…

自分のサイトでのプレプリント等の公開ポリシー(IEEE, Springer,ACM)

研究者の個人サイトにプレプリントのpdfを載せている人がいる. それに倣って,自分も書いた論文を自分のサイトに載せたいと思い,ポリシーを調べてみた 原稿の段階別の分類 原稿のIEEEによる分類. # 種類 説明 1 preprint どこにも提出する前の下書き原稿 …

faviconで404エラーが出るとき

htmlファイルのheadに以下の一文を挿入する. <link rel="shortcut icon" href="#" /></link>

canvasにキーボードイベントを設定する

HTML5 canvasにキーボードイベントを設定するには, canvas要素のtabindexを0に設定しなければならない. <canvas id="canvas" tabindex="0"></canvas> var canvas = document.getElementById("canvas"); canvas.addEventListener("keydown", function(e){ if (e.keyCode == 13){ console.log("Enter is…

LaTeX Error: Cannot determine size of image (no BoundingBox)

LaTeX Error: Cannot determine size of image (no BoundingBox) というエラーには, \usepackage[dvipdfmx]{graphicx} と記載すれば治る.

Improved GANに記載の半教師あり学習のメモ

Improved GANの半教師あり学習読んだメモ.ちゃんとは読んでなくてつまみ食いしただけだが. 通常GANのDiscriminatorは訓練データ(True)と生成データ(False)を区別するだけだが, これに訓練データのクラス分類を混ぜる,という話だった. K個のラベルを分類…

texコンパイル時にtype3フォントを埋め込まないようにする

いろいろ方法はあるようだが私の環境だと \usepackage{lmodern} とtexファイルに書けばOKだった

画面の端にカーソルが行ったらカーソル速度がとれない問題を解決するPointer Lock API

カーソルの速度を取りたいとき, Javascriptだと普通,↓のような感じで変位をだして,それの時間微分的な処理で速度を近似すると思う. // 位置 var currentX = e.clientX || e.pageX; var currentY = e.clientY || e.pageY; // 変位 var deltaX = currentX …

振動による質感デザインの生産性向上のためのGANベースの振動生成モデルを構築しました

まとめ 振動デバイスは普及しつつあるが,振動を活用して質感を表現するアプリの開発は盛んではない その要因を振動の収集・選定の工数の大きさと仮定 振動生成モデルを核としたデザインツールキットを試作。これにより質感デザインの生産性向上をねらう ACM…

質感表現のための振動提示ではユーザ入力の法線力に対して振動を適合させなくてもよい(かも)

Culbertson et al.のShould haptic texture vibrations respond to user force and speed?を読んだメモ toolとsurfaceのインタラクションにおいて,その界面で発生する振動の振幅と周波数はユーザ入力の法線力と速度に応じて変化することが知られている(Lede…

RでMauchly’s sphericity testを行う

RでMauchly’s sphericity testを行う. 基本は以下のサイトに従う. https://biostats.w.uib.no/test-for-sphericity-mauchly-test/ library(car) # carライブラリをload # データを定義 weight<-c(1.028016298,1.721868575,...) weight my.new.matrix<-matr…

bibtexでコメントアウト

bibtexでエントリの外でコメントアウトするには, @comment{ } とすればよいが,エントリ内では上記の方法が適用できない. この場合はmemo=としてmemo項とする. @article{ memo = {test} }