gggggraziegrazie

graizegrazieさんのやったこと、学んだことを記録する雑記帳です

Probabilistic Robotics - Chap.9 Occupancy Grid Mapping

9.1 Introduction 今まではロボットが動作を開始する前に、環境地図が既知であることを仮定していた。ただこれは現実世界では稀なケースである。そこでロボットが自律的に環境地図を知る必要がある。ただし、環境地図の獲得には、下記2つの理由から困難な課…

Probabilistic Robotics - Chap.6 Robot Perception

1.Introduction 6章に記載されているのはEnvironment Measurement Model(環境計測モデル) 確率ロボティクスではセンサデータの計測に伴うノイズもモデル化する確率ロボティクスでは、センサモデルの不正確さに対し、統計的手法を用いて対応する この式は…

Probabilistic Robotics - Chap.7 Mobile Robot Localization: Markov and Gaussian

7 移動ロボットのローカライゼーションとは、環境地図中でロボットの座標を決める問題である 一方で、座標変換の問題とも捉えることができる ローカライゼーションとは、地図座標系とロボットのローカル座標系のマッチングをとるプロセスである ただし残念な…

Probabilistic Robotics - Chap.8 Mobile Robot Localization: Grid And Monte Carlo

8.1 Introduction 8章では下記2つのローカライゼーションアルゴリズムについて述べる。 グリッドローカライゼーション beliefの計算にヒストグラムフィルタを使う。グリッドローカライゼーションは、グリッドを細かくすると、計算負荷が高くなり処理が遅く…

Probabilistic Robotics - Chap.5 Robot Motion

5.1 Introduction モーションモデルはベイズフィルタの予測ステップにおいて肝となる状態遷移確率を構成する。本章では、ロボットの運動はある平面上での移動のみを取り上げる。 5.2 Preliminaries 5.2.1 Kinematic Configuration ロボットの姿勢は下記の式…

マハラノビス距離

統計学で用いられる、データ点が平均からどれだけ外れているかを判定するための手法。[2]によると、ユークリッド距離を標準偏差で割った値に該当する。例えば2次元のデータを評価する時、主成分分析と共に用いる。第一主成分をX軸、第二主成分をY軸とした時…

Probabilistic Robotics - Chap.3 Gaussian Filters

3.2 The Kalman Filter 3.2.2 The Kalman Filter Algorithm 3.3 The Extended Kalman Filter 3.3.1 Why Liearlization? 3.3.2 Linealization Via Taylor Expansion 3.4 The Unscented Kalman Filter(UKF) 3.4.2 The UKF Alogorithm 3.5 The Information Filt…

Numpyでの行列の扱い方

Numpyで行列を作る場合、下記の3種類の方法がある。①numpy.array([1, 2], [3, 4]) ②numpy.matrix(numpy.array([1, 2], [3, 4])) ③numpy.mat(numpy.array([1, 2], [3, 4]))上記の挙動について調べたことを下記に示す。 足し算・引き算 import numpy as np a …

RTAB-Mapについてのメモ

最近3DSLAMに興味があり、ROSにも対応したRTAB-Mapをいじってみました。その過程でわかったことなどをメモします。ある程度纏まった量が出てくるまでは箇条書きになりますのでご容赦を(笑)・Eigen3.3.3には対応せず。3.2.0はOK(RTAB-Map 0.12.5で)

Huawei P9 Liteでアプリによる通知を有効化する方法

先日Huawei P9 Liteに機種変しました。その後Wuderlist等のアプリをインストール・使ったところ、リマインダーの通知が一向に上がってこないという事態に陥りました。調べたところ、P9 Liteのバッテリーマネージャが原因だということがわかりました。本記事…

apt-getとaptitude

はじめに Linuxでは、コンパイラやエディタ、ライブラリ等のパッケージのインストールを、コマンドを使ってできます。そのコマンドは、apt-getとaptitudeというコマンドがあります。下記ではそれぞれの違いについて簡単に説明します。 apt-getとaptitudeの違…

update-alternativesの使い方

update-alternativesとは Linuxを使う時、シンボリックリンクを使う時があります。例えばgccでは、生成したバイナリを動かす環境に応じて、バージョンを使い分ける必要があります。この時、毎回必要なバージョン以外のgccを削除することもできますが、シンボ…

メモリバンクとメモリインターリーブ

メモリにアクセスする時、メモリはRead / Writeされるための準備時間が必要になります。準備時間中はメモリへのアクセスが止まっている状況なので、処理時間においてこの時間は無駄な時間です。この無駄時間を短縮し、プロセッサのメモリアクセス時間を高速…

最尤推定とベイズ推定とMAP推定

最尤推定 最尤推定とは、ある確率モデルが最も尤もらしい時のパラメータを推定する手法です。例えばコインの表・裏が出る確率を推定するモデルがある時、その確率はコインの状態に左右されます。よってコインの表・裏の出る確率を示すモデルは、 として表さ…

厚生年金について調べてみた

厚生年金という言葉は知っているものの、制度について全然理解していないことに最近気づきました。今回は厚生年金について調べた結果を纏めます。ただし、会社勤めをしている1980年以降生まれの方を対象として記載したので、一部省略した記述となっています…

特異値分解(SVD)の概要

データの開先手法の1つとして、特異値分解(SVD:Singular Value Decomposition)という手法があります。SVDでは、不要なデータを取り除くことができるため、画像やテキストデータの圧縮や解析に使われます[1][2]。以降では数式を用いてSVDについて概要を説…

ROSでパラメータを登録する方法

ロボット業界でよく使われるフレームワークとして、ROS[1]というものがあります。ROSでは、生成するプロセス(ROS的にはノード)毎にパラメータを設定することが出来ます。先日そのパラメータを使う機会がありましたので、パラメータの設定方法を書きます。な…

area/district/region/zoneの使い分け

英単語の勉強をしていた時、"district"という単語が"地区"という意味を知りました。その時、「あれ?areaと似たような意味だけど、使い分けはどうすればいいのだろう?」と思いました。そのため、地区とか地域という意味の単語(area, district, region, zone…

habitとcustomの使い分け

学校で習う英単語の中に、「習慣」という意味で習う単語が"habit"と"custom"の2つあります。全く同じ意味という訳はないと感じつつ、今までその違いを調べたことはありませんでした。今回久々に気になったので、両者の違いを調べてみました。その結果、2つ…

C/C++で配列の初期化に#includeを使う

C C++

データファイルを取り扱う時、そのデータを読んで配列に格納していくのは面倒ですよね。実は、配列の初期化には#includeプリプロセッサが使えます。今回は#includeを使って配列を初期化した時の挙動について書きます。 なお今回のテスト環境は、 OS : Window…

Discriminative ModelとGenerative Model

機械学習のモデルには、大別してGenerative ModelとDiscriminative Modelの2種類があります。今回はそれぞれの違いについて、簡単にまとめてみます。 両者の違いを端的に言うと、モデル化時に検討する要素の違いです。 ・Generative Model : 注目変数だけで…

force/compel/constrainの違い

「強制する」という日本語訳になる英単語がいくつかあります。以前からそれらの使い分けが気になっていました。今回は、それぞれの使い分けについて調べた結果を記載します。 今回、調査には英英辞典Longman(WEB版)を使いました。調べた結果は下記の通りです…

NMS:Non-Maximal Suppression

NMSとは、Canny Edge Detectionアルゴリズム等に使用されている手法で、エッジ画像の細線化に使われます。画像内の各ピクセルに注目していき、注目ピクセル及び隣接ピクセルを比較し、注目ピクセルの値が最大でない時は値を0にする、という手法です。この時…

EMアルゴリズム

今回はEMアルゴリズムについてお勉強してみました。簡単に書かれているページがあまり見つからなかったので、意味不明だと思います。。参考のページはイメージを持つ上で大変有用なページと思いますので、ご参照ください。 EMアルゴリズム EMアルゴリズム(Ex…

N-gramと形態素解析

N-gramと形態素解析は、それぞれ文字列解析に使用される手法です。N-gramとは、N文字単位で文字列を分解・解析します。また隣り合った単語の組み合わせから求めた共起頻度を使い、どのような文字列の分析を行ったりします。それに対し形態素解析は、文字列を…

Windowsの環境変数についてメモ

Windowsの環境変数について、特に問題が発生しなかったので、今まで特に理解を深めることなく使っていました。しかし最近開発をしている中で、知らなかった点が何点か出てきました。本記事では、僕が新しく知ったことについて記載します。 Windowsの2つの環…

コミックレンタルサービスについて

マンガを読む時、私は雑誌の購入/立ち読みではなく、単行本を購入して読んでいました。しかし最近単行本が増えすぎて部屋の中を圧迫していて困っています。。そのため、単行本の購入を控えつつマンガを読む為の方法を検討するため、色々なサービスを調べてみ…

海外旅行/出張に持っていくものリスト

海外旅行/出張に行くとき、何を持っていけばいいのか不安になりますよね。抜け漏れを防ぐため、僕は毎回ネットで調べながら荷詰めをしています。今回はネットで調べたことと共に、実体験からこれは必要だと思ったアイテムをリストととして纏めたものを紹介し…

MPU6500のDMPの使い方

最近Invensense社のMPU6500という6軸加速度・ジャイロセンサを使いました。MPU6500には、DMP(Digital Motion Processor)というプロセッサがあり、クォータニオンやオイラー角を出力してくれます。今回はその時にハマった点などを記載します。 今回の開発環境…