MyEnigma

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

ボロノイ図の概要とPythonサンプルコード

目次

  • 目次
  • ボロノイ図とは
  • ロボティクスにおけるボロノイ図
  • Pythonサンプルコード
  • 参考資料
  • MyEnigma Supporters

ボロノイ図とは

ボロノイ図は、

ある平面内の点を、

ある特定の点群の中からどれに最も近いかによって

分割してできる図のことを指します。

(下図はボロノイ図の例)

f:id:meison_amsl:20160727203826p:plain

 

ボロノイ図を作るための

特定の点群を母点といい、

ボロノイ図の境界は、

それぞれ隣接する母点の垂直二等分線で構成されます。

 

このボロノイ図は、

最適配置問題や、

最近傍点探索などに使われることが多いようです。

後述の通り、ロボティクスにも使われています。

 

続きを読む

Model Predictive Control: モデル予測制御入門

目次

  • 目次
  • Model Predictive Control:モデル予測制御とは?
  • MPCの歴史
  • MPCの種類
  • Receding Horizon 制御
  • モデル予測制御の利点
    • 利点1:入力や出力の制約条件をシステマチックに扱うことが可能
    • 利点2:多入力多出力のシステムの制御に利用しやすい
    • 利点3:高い制御性能が期待できる
    • 利点4: 時間遅れ補正を明示的に考慮することができる
    • 利点5: パラメータの自動チューニング手法が存在している。
  • モデル予測制御の欠点
    • 欠点1: 計算が重い
    • 欠点2: 閉ループ安定性は必ず約束されない
    • 欠点3: 線形モデルを設計する必要がある。
  • モデル予測制御の応用例
  • MPCを実装するフロー
    • 1. 線形モデルを構築する
    • 2. 凸最適化のツールを選定する
  • PythonによるシンプルなMPC制御シミュレーション
  • 最適化コードジェネレータによるモデル予測制御の高速化
  • モデル予測制御における制約条件の緩和
  • モデル予測制御におけるパラメータ
    • 1 状態変数のコスト行列Q
    • 2. 入力のコスト行列 R
    • 3. ホライゾン長さ T
  • シンプルなMPCの数式の導出
  • Math WorksのMPC入門ビデオ
  • より深くモデル予測制御を学ぶために
  • 参考資料
  • MyEnigma Supporters

Model Predictive Control:モデル予測制御とは?

Model Predictive Control:モデル予測制御は、

現代制御アルゴリズムの一つで、

事前に設定したシステムモデルに基づいて、

逐次的に最適化問題を解くことで

制御入力を決定する手法です。

f:id:meison_amsl:20180428091513p:plain

 

Model Predictive Controlの頭文字を取って、

MPCと呼ばれることも多いようです。

続きを読む

MacユーザのためのMicrosoft Office 365 soloのすすめ

目次

  • 目次
  • はじめに
  • Microsoft Office 365 Soloとは?
  • 特徴1:最新のOffice製品が使える
  • 特徴2:二台のMac or PCにインストールすることができる
  • 特徴3:OneDriveで1TB分のクラウドストレージが使える
  • 特徴4:毎月60分のSkype電話が無料
  • Microsoft Office 365 Soloの購入
  • 最後に
  • 参考資料
  • MyEnigma Supporters

はじめに

自分は学生時代からずっとMacユーザなのですが、

OfficeのPowerPointとExcelはかなり好きです。

(WordとExcel文書は嫌いですが..笑)

 

とある事情で、

今後MacでOfficeを使いたくなることが多くなりそうなので、

MacでOfficeを使う方法を調べてみました。

 

以前は、大学の割引で買ったOfficeをずっと使っていたのですが、

色々調べてみると、

月額1000円ぐらいで最新のOfficeが使える

Office 365 Soloというものがあり、

それを使ってみたらMacユーザでも

非常に便利だったので紹介したいと思います。

 

続きを読む

エンジニアが海外に飛び出すかを悩んでいる時に背中を押してくれた3冊の本

 

目次

  • 目次
  • はじめに
  • 1. 『 エンジニアとして世界の最前線で働く選択肢 ~渡米・面接・転職・キャリアアップ・レイオフ対策までの実践ガイド』竜 盛博
  • 2. 『 宇宙を目指して海を渡る MITで得た学び、NASA転職を決めた理由』小野 雅裕
  • 3. 『ハーバード白熱日本史教室』北川 智子
  • 最後に
  • 参考資料
  • MyEnigma Supporters

 

はじめに

学生時代から、ぼんやりと

いつか海外で技術を学んでみたいなと思っていたのですが、

今回、色々あって

アメリカの大学で技術を学ぶことになりました。

 

それまで海外に行くことが

本当に必要なことなのかを

色々悩んだりしましたが、

そんな自分の背中を押してくれた3冊の本があるので

紹介したいと思います。

 

海外に飛び立って挑戦しようか

迷っている人もいるかと思いますが、

そんな人の背中を押すことができれば幸いです。

  

続きを読む

VimとGitの効率的なコラボレーションの仕方

目次

  • 目次
  • はじめに
  • Gitのコンフリクトをvimdiffでマージする
    • セットアップ
    • 参考資料
  • git連携用vimプラグイン: vim-fugitive
    • インストール
    • Gstatusが凄く便利
    • 何かわけがわからなくなって、コミット時までソースを戻したい時
    • ブランチ名をvimのステータスラインの表示する
    • ソースコードのGitHubページを一瞬でブラウザで開く
    • コミットする
    • pushする
    • HEADとのdiffを表示する
  • 参考資料
  • MyEnigma Supporters

はじめに

gitは

最近のソフトウェア開発には必須だと思いますが、

VimとGitを上手く連携させて、

効率的にソフトウェアを

バージョン管理する方法をまとめたいと思います。

 

続きを読む

困った時の逆引きGitメモ(コマンドライン編)

目次

  • 目次
  • はじめに
  • コミットメッセージにdiffを表示する
  • 前回コミットした時の状態に戻す
  • 直前のコミットをなかったコトにする
  • 直前のpushをなかったことにしたい。
    • 履歴を残さない
    • 履歴を残す(より安全)
  • 無理やりリモートリポジトリにローカルを合わせる
  • 間違えたgitのaddを取り消す
  • 一つ前のコミットを修正
  • git pullした時にコンフリクトしたファイルを調べる
  • 更新されたファイルの一覧を表示する
  • ブランチのグラフを見たい
  • gitで管理していないファイルやディレクトリをすべて削除する。(gitinore対象のファイルも含めて)
  • 過去のコミットを分割したり、統合したり、順番を変えたりしたい。
  • 別のブランチのあるコミットだけをmergeしたい
  • GitHubでforkした自分のリポジトリを更新する
  • 参考資料
  • MyEnigma Supporters

はじめに

Gitを使う時に

毎回ググっていることが多いので、

メモとして残しておきます。

 

GitやGitHubの基本的な使い方に関しては、

下記を参照ください。

myenigma.hatenablog.com

 

JetBrains IDEによるGitの使い方は、

下記を参照ください。

myenigma.hatenablog.com

 

続きを読む

アメリカ留学用J1ビザを取得する方法

目次

  • 目次
  • はじめに
  • J1ビザとは?
  • DS2019
  • その他必要な書類
  • SEVIS
  • 大使館での面談
  • 24 Month Bar
  • 参考資料
  • MyEnigma Supporters

はじめに

とある理由で

アメリカに留学することになったので、

留学のためJ1ビザを取得した時のメモを残しておこうと思います。

同じくJ1ビザを取得する人の参考になれば幸いです。

続きを読む

世界最前線のIT企業のコーディング面接の例題を実際にコーディングしてみる

目次

  • 目次
  • はじめに
  • 問題
  • Pythonの場合
  • C++の場合
  • GitHubリポジトリ
  • ハッシュテーブル
  • 最後に
  • 参考資料
  • MyEnigma Supporters

はじめに

下記の本を読んだのですが、

本の中に出てくる

コーディング面接の例題を

実際に解いてみたくなったので、

コーディングしてみることにしました。

 

問題の詳細は、

上記の本を参照下さい。

すべてのプログラマが楽しめる内容だと思います。

 

続きを読む

vimでコードスペニットを快適に利用する方法

目次

  • 目次
  • はじめに
  • インストール方法
  • 設定
  • 使い方
  • 独自スニペットを設定する
    • Pythonおすすめ独自スニペット
      • 1. 一番初めのpythonスクリプトの雛形を作るスニペット
    • C++おすすめ独自スニペット
      • 1. ヘッダライブラリの雛形を作るスニペット
  • 最後に
  • 参考資料
  • MyEnigma Supporters

はじめに

色んな言語のコードを書いていると、

その言語の基礎的な文法を忘れてしまったりして、

おもむろに過去のコードをgrepしたり、

ネットで調べたりすることはよくあると思います。

 

また、良く使うコードの雛形を事前に作っておいて、

それをコピペすることも、生産性を向上させるのに重要かと思います。

 

上記のような、基礎的文法のコードや、よく使うコードの雛形のことを

snippetと言うらしいのですが、

下記のvimプラグインを使うと、

よく使うコードのスニペットを爆速で記入できるようになるので、

共有したいと思います。

github.com

github.com

github.com

 

続きを読む

Apple SIMを使って米国で無料でインターネット接続する方法

目次

はじめに

先日、動画や論文閲覧用に

iPad Pro 9.7インチを購入しました。

myenigma.hatenablog.com

実はあまり知られていないことですが、

今回のiPad Pro 9.7インチのセルラーモデルから、

Apple SIMというSIMカードがデフォルトで内蔵されています。

 

このApple SIMはアップルが開発しているSIMカードで、

一つのSIMカードで、様々な国の、

様々な通信会社のネットワークを利用できるようにしているものです。

 

海外旅行で一番ストレスなのが、

携帯回線につながるために

現地でSIMカードを探しまわることなので、

このApple SIMを使うことで、

そのストレスがなくなります。

 

その国に着いた途端に、

iPadから現地の複数のキャリアを検索して、

自分にあったプランを選んで、

クレジットカードやアカウントを設定するだけで、

携帯回線を利用することができるのです。

 

そこで、

現在、自分は仕事の関係で、

アメリカにいるのですが、

このApple SIMを使って、

データ量は少ないですが、

無料でインターネット接続できたので、

その方法をメモしておきたいと思います。

(もちろんクレジットカードを登録して、

有料プランを選ぶことも可能です)

   

Apple SIMでT-Mobileの月200MB無料プランにアクセスする方法

2016/05現在、

米国内でApple SIMを使う時は、

AT&T,Sprint,T-Mobile,GigSkyの4つが利用可能なのですが、

T-Mobileは月200MBまで無料のプランを準備しているので、

そちらをApple SIMで使用することで、

無料で携帯回線につながることができます。

200MBは一ヶ月のデータ量としては少ないですが、

数日の米国滞在であれば、十分便利かと思います。

 

設定の方法は下記の通りです。

まずiPadで設定->モバイルデータ通信の

新規プランを追加を押すと

下記のように使用できるキャリアの一覧が出るので、

T-Mobileをクリックします。

f:id:meison_amsl:20160612095505p:plain

続いて、

下記の画面がでるので、

View all T-Mobile data plans and passes

をクリックします。

f:id:meison_amsl:20160612095509p:plain

すると、下記のような

T-Mobileのサイトが表示されるので、

Get Connectedをクリックします。

f:id:meison_amsl:20160612095512p:plain

すると、下記のように

いくつかのデータプランが出てくるので、

Plain and Simpleを選ぶと、

f:id:meison_amsl:20160612095515p:plain

下記のように

200MB Monthly $0

が出てくるのでチェックをいれて、

その下のボタンを押します。

f:id:meison_amsl:20160612095519p:plain

あとは、下記のようにT-MobileのID作成

画面が出てくるので、E-Mailやパスワードを設定します。

(クレジットカードの登録もありません!!)

f:id:meison_amsl:20160612095522p:plain

あとは、

下記の画面が出てきたら設定は終わりです。

f:id:meison_amsl:20160612095528p:plain

 

キャリアの設定のアップデートを促す

ポップアップが出てくるかと思いますが、

そちらをインストールして、数十秒待つと、

左上のキャリアの部分にT-Mobileが表示されば、

もう通信可能です。

 

200MBしかないので、

通信量には注意が必要ですが、

自分が通信したデータ量は、

下記のT-Mobileアカウントを管理を押すと、

自分の残りのデータ量を確認することができます。

f:id:meison_amsl:20160612100948p:plain

 

また、

iPadでインターネット共有をすると、

iPadのApple SIMを介して、

PCやiPhoneでもインターネット通信することができました。

 

Apple SIMは現在の所、iPadのみで利用できますが、

インターネット共有を使えば、

iPhoneでも携帯回線に繋がれるのはいいですね。

 

LTE回線なので、

通信速度も高速で、

日本と遜色ない感じで通信できている気がしました。

   

最後に

初めて海外旅行でSIMを購入して、

携帯回線を使った時も感動しましたが、

このSIMカードにより、

より一層自分が今どこにいるかを

意識しなくてもよくなる気がします。

 

すごく未来を感じました。

海外旅行がより楽しくなりますね。

 

参考資料

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

MyEnigma Supporters

もしこの記事が参考になり、

ブログをサポートしたいと思われた方は、

こちらからよろしくお願いします。

myenigma.hatenablog.com