MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

スタンフォード大学の学生が学ぶ制約付き非線形最小二乗法とその応用

目次

  • 目次
  • はじめに
  • 制約付き非線形最小二乗法
  • 制約付き非線形最小二乗法の解法1: ペナルティ法
  • 制約付き非線形最小二乗法の解法2: 拡張ラグランジュ法
  • 制約付き非線形最小二乗法の応用例1: 自動車の非線形制御
  • 制約付き非線形最小二乗法の応用例2: 後処理軌跡推定
  • 参考資料
  • MyEnigma Supporters

はじめに

スタンフォード大学には

機械学習を学ぶ上での第一歩として、

Introduction to Matrix Methods (EE103)という授業があります。

 

今回の記事では、

この授業の教科書である

Introduction to Applied Linear Algebraを

読んだ際の技術メモです。

 

この教科書は下記のリンクのページから

pdfをダウンロードすることができます。

 

本記事では、

上記の教科書の非線形最小二乗法の部分のみのメモです。

他の部分に関しては、下記の記事を参照下さい。

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

続きを読む

Windows OS上で自動ビルド&テストを実行できるクラウドCIサービスAppVeyor入門

目次

  • 目次
  • はじめに
  • クラウドのWindows OS上のCIサービス: AppVeyor
  • AppVeyorの設定でハマったところ
    • 1. "The build phase is set to "MSBuild" mode (default), but no Visual Studio project or solution files were found"というエラー
    • 2. WarningでCIが失敗してしまう。
    • 3. JuliaでCIの設定をしたいときは
  • 参考資料
  • MyEnigma Supporters

はじめに

近年、プログラミングをする上で、

テストを書き、そのテストを継続的に実行する

継続的インテグレーション(CI)を利用することは当たり前になってきました。

 

CIを実現する上で、

オンプレミスでは、Jenkins

myenigma.hatenablog.com

クラウドで、OSがLinux, Mac OSの場合は、Travis-CIや

Travis CI - Test and Deploy Your Code with Confidence

Circle-CIがあります。

Continuous Integration and Delivery - CircleCI

 

今回は、クラウド上でWindows OS上のCIサービスである

AppVeyorを紹介したいと思います。

 

最近、自分のOSSプロジェクトでも

Travis-ciに加えて、AppVeyorでのCIも追加しました。

github.com

 

今回はAppVeyorの概要と、自分がハマったところを紹介しておきます。

続きを読む

スタンフォード大学の学生が学ぶ非線形最小二乗法とその応用2:レーベンバーグ・マーカート法編

目次

  • 目次
  • はじめに
  • 非線形最小二乗法の解法2: レーベンバーグ・マーカート法
    • レーベンバーグ・マーカート法の概要
    • Juliaによるレーベンバーグ・マーカート法による非線形最小二乗法
  • 応用例1: 非線形最小二乗法による等距離地点探索
  • 応用例2: 非線形フィッティング
  • GitHubリポジトリ
  • 参考資料
  • MyEnigma Supporters

 

はじめに

スタンフォード大学には

機械学習を学ぶ上での第一歩として、

Introduction to Matrix Methods (EE103)という授業があります。

 

今回の記事では、

この授業の教科書である

Introduction to Applied Linear Algebraを

読んだ際の技術メモです。

 

この教科書は下記のリンクのページから

pdfをダウンロードすることができます。

 

本記事では、

上記の教科書の非線形最小二乗法の部分のみのメモです。

他の部分に関しては、下記の記事を参照下さい。

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

 

続きを読む

ROS利用への道の第一歩を支える本『実用ロボット開発のためのROSプログラミング』

目次

  • 目次
  • はじめに
  • ROS利用への道の第一歩を支える本
  • メモ
  • 参考資料
  • MyEnigma Supporters

はじめに

幸いなことに、

冒頭の書籍を、著者の方から献本して頂いたので、

簡単に書評させていただきます。

初めて献本頂きました😀。著書の皆様ありがとうございます。これから読んで書評させてきただきます。

続きを読む

スタンフォード大学の学生が学ぶ、非線形最小二乗法とその応用1:ガウス・ニュートン法編

目次

  • 目次
  • はじめに
  • 非線形最小二乗法
  • 非線形最小二乗法の解法1: ガウス・ニュートン法
  • Juliaによるガウス・ニュートン法のサンプルコード
  • 参考資料
  • MyEnigma Supporters

 

はじめに

スタンフォード大学には

機械学習を学ぶ上での第一歩として、

Introduction to Matrix Methods (EE103)という授業があります。

 

今回の記事では、

この授業の教科書である

Introduction to Applied Linear Algebraを

読んだ際の技術メモです。

 

この教科書は下記のリンクのページから

pdfをダウンロードすることができます。

 

本記事は、

上記の教科書の非線形最小二乗法の一部分のみのメモです。

他の部分に関しては、下記の記事を参照下さい。

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

 

続きを読む

ロボットエンジニアのためのOSSライセンス入門

目次

  • 目次
  • はじめに
  • OSSのライセンスを学ぶ上で、まず読むべき資料
  • OSSのライセンスで初めに心に止めておくべきこと
  • 各OSSライセンスの比較表
  • 代表的なOSSのライセンスで共通していること
    • 商用利用可能
    • 個人利用可能
    • 作者にOSSに関する責任を追わせること
  • ロボット関連でよく使われそうなOSS
    • 一覧表
    • ROS
    • Eigen
    • tensorflow
  • OSSに関する素朴な疑問
    • Q1: OSSを配布し、中のスクリプトなどで他のOSSをネットから直接インストールしてもらう場合もライセンスを気にする必要はあるのか?
    • Q2: 自分のOSSにライセンスを正しく設定するにはどうすればいいのか?
    • Q.3 他のOSSを利用する時の、ライセンスと著作権の表示はどうすればいいのか?
    • Q.4. MPLは特許に関して、どのような規定をしているのか?
  • Q.5 GPLで公開すべきこものはなにか?
  • 最後に
  • 参考資料
  • MyEnigma Supporters

はじめに

現代において、

ソフトウェア開発にOSSは欠かせません。

 

OSSを正しく利用するためには、

自ずと、OSSのライセンスに関する知識も重要になります。

今回、冒頭の本を読んだことを皮切りに、

OSSのライセンスについて、

ロボットへ応用することを念頭において色々調べてみたので、

共有したいと思います。

 

続きを読む

FastSLAM1.0とFastSLAM2.0によるSLAMのためのPythonサンプルプログラム

https://github.com/AtsushiSakai/PythonRobotics/raw/master/SLAM/FastSLAM2/animation.gif

目次

  • 目次
  • はじめに
  • FastSLAMアルゴリズムの概要
  • FastSLAM1.0によるSLAMのためのPythonサンプルプログラム
  • FastSLAM2.0によるSLAMのためのPythonサンプルプログラム
  • 参考資料
  • MyEnigma Supporters

はじめに

先日、拡張カルマンフィルタ(EKF)による

SLAMのサンプルコードを公開しましたが、

d.hatena.ne.jp

同じくベイズフィルタの一種であるParticle Filterを使った

FastSLAMというSLAMのアルゴリズムがあります。

myenigma.hatenablog.com

 

今回はFastSLAMを使用したSLAMの

簡単なPythonサンプルプログラムを紹介したいと思います。

 

続きを読む

Histogram Filterによる自己位置推定の概要とPythonサンプルコード

https://github.com/AtsushiSakai/PythonRobotics/raw/master/Localization/histogram_filter/animation.gif

目次

  • 目次
  • はじめに
  • Histogram Filterの概要と特徴
  • Pythonサンプルコード
  • その他のロボティクスアルゴリズムのサンプルコード
  • 参考資料
  • MyEnigma Supporters

はじめに

以前、自律ロボットにおける

拡張カルマンフィルタを使用した自己位置推定の

MATLAB, Pythonサンプルプログラムや、

myenigma.hatenablog.com

UKFを使ったもの、

myenigma.hatenablog.com

そして、Particle Filterを使ったものを公開しました。

myenigma.hatenablog.com

 

今回は同じくベイズフィルタの一種である

Histogram Filterの概要と

Pythonのサンプルプログラムを公開したいと思います。

Histogram Filterのアルゴリズムの詳しい導出は、

下記の文献を参考にしてください。

続きを読む

初心者のためのDockerの使い方メモ

目次

  • 目次
  • はじめに
  • Dockerとは?
  • 各OSにおけるDockerのインストール
    • Mac
    • Windows10
  • docker逆引き表
  • 既存のdockerイメージを少し変更したい場合
  • Dockerfile注意点
  • Docker compose
    • インストール
    • docker_compose.yaml内で使う変数を設定する
    • docker composeでは難しいこと
  • 手渡しでdocker imageを渡す方法
  • dockerを使って様々なアプリを使うときのメモ
    • Julia
      • 最新の安定版のJuliaをdockerで起動し、REPLを使う
      • ローカルのスクリプトをdocker内で動かす
      • 指定したバージョンのjuliaをdockerで起動し、REPLを起動する
      • 指定したバージョンのjuliaでローカルのスクリプトを動かす
    • mysql
  • 参考資料
  • MyEnigma Supporters

はじめに

近年、効率的なソフトウェア開発において、

Dockerは広く使われています。

 

今回は、Docker初心者の自分が、

一からDockerを勉強した際のメモです。

 

自分の場合、冒頭の本を一冊読んでから、

あとは自分のやりたいことをネットで

調べながらDockerを勉強しました。

この本は、初心者にもかなりわかりやすく説明していると思います。

 

続きを読む

「Netflixにおける、インタラクティブを超えたNotebook革命」メモ

目次

  • 目次
  • はじめに
  • メモ
  • 参考資料
  • MyEnigma Supporters

はじめに

今回の記事は下記の記事を読みながら、

Twitterを使ってメモしたものです。

medium.com

続きを読む