MyEnigma

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

3次スプライン補間の概要とC++, Pythonサンプルコード

 

目次

  • 目次
  • はじめに
  • 各種スプラインにおける連続性
  • 3次スプライン補間とは?
    • 条件1
    • 条件2
    • 条件3
    • 条件4
    • 条件5
  • 3次スプライン補間を手計算+pythonで解く
  • 入力データ数が不定な場合の3次Spline補間
  • Pythonサンプルコード
  • C++サンプルコード
  • 3次スプラインにおける曲率の計算方法
  • x-y座標系における点群のスプライン補間
    • 方位の計算方法
    • 曲率の計算方法
  • 参考資料
  • MyEnigma Supporters

はじめに

3次スプライン補間は、

計算がそこまで複雑ではなく、

また二次微分までの連続性が担保されているため、

様々な用途に利用されています。

 

今回の記事では、

この3次スプライン曲線の概要と、

3次スプライン曲線を作成する

C++, Pythonのサンプルコードを作成したので、

公開したいと思います。

 

続きを読む

バークレーとサンフランシスコでおすすめのレストランメモ

 

目次

  • 目次
  • はじめに
  • Berkeley
    • Sushi Ko
    • Seasons of Japan
    • Sushi Secrets
  • 参考資料
  • MyEnigma Supporters

はじめに

実際に行ってみてよかった所のメモです。

続きを読む

GoogleのC++最適化ライブラリCeres Solverを使って制約付き最適化問題を解いてみる

目次

  • 目次
  • はじめに
  • 制約付き最適化
  • Ceres Solverで制約付き最適化問題を解く
  • 参考資料
  • MyEnigma Supporters

はじめに

今回もGoogleのC++最適化ライブラリCeres Solverを使ってようという記事です。

(これまでの関連記事は末尾のリンクを参照下さい)

 

今回は、これまでは制約条件の無い最適化問題を解いてきましたが、

制約条件付きの最適化問題を解いてみようと思います。

 

続きを読む

アメリカで生活する場合に事前に知っておくと便利なこと

目次

  • 目次
  • はじめに
  • iPhoneユーザはApple Payを登録すると便利
  • ベイエリア版Suica: Clipper Cardが便利
  • 日本の円口座から現地の米ドル口座にお金を移す方法
  • 家を決めるまでの注意点
  • 小切手の使い方
  • 銀行口座(Bank of America)を開いた時にもらえるクレジットカードは使いづらい
  • T-mobileのプリペイドプランはなぜか日本のクレジットで支払った方が安い
  • タクシー配車サービスUberとLyftが便利
  • カルフォルニアにおける運転免許の取得方法
  • 日本の映画やテレビを見るためにVPNサーバを立てる
  • 無料で作れる公立図書館のカードを作っておくと、美術館などの観光名所が無料になる
  • 参考資料
  • MyEnigma Supporters

はじめに

実際にアメリカ(自分の場合はカルフォルニア)で

生活した経験から、

知っておくと便利だと思うことを

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

続きを読む

GoogleのC++最適化ライブラリCeres Solverを使った移動ロボットのためのGraph SLAMサンプルコード

目次

  • 目次
  • はじめに
  • Position TrackingとTrajectory Estimation
  • Graph SLAMとは?
  • Ceres Solverを使ったGraph SLAMのサンプルコード
  • 参考資料
  • MyEnigma Supporters

はじめに

今回も、C++最適化ライブラリCeres Solver関連の記事です。

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

 

今回は、Ceres Solverを使って、

移動ロボットで良く利用されるGraph SLAMの

非常にシンプルなサンプルコードを作成してみたいと思います。

 

続きを読む

GoogleのC++最適化ライブラリCeres Solverを使ったバンドル調整サンプルコード

目次

  • 目次
  • はじめに
  • バンドル調整とは?
  • Ceres Solverを使ったバンドル調整コード
  • Ceres Solver関連記事
  • 参考資料
  • MyEnigma Supporters

はじめに

今回も、GoogleのC++最適化ライブラリCeres Solverを使ってみよう

という記事です。

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

 

今回は、画像処理やロボットのアプリケーションで有名な

バンドル調整という問題を、

このCeres Solverを使って解くサンプルコードを解説したいと思います。

 

続きを読む

GoogleのC++最適化ライブラリCeres Solverを使った曲線フィッティングの方法

目次

  • 目次
  • はじめに
  • Ceres Solverによる曲線フィッティング
  • Ceres Solverによるロバスト曲線フィッティング
  • Ceres Solver関連記事
  • 参考資料
  • MyEnigma Supporters

はじめに

今回の記事もこれらの記事の続きです。

myenigma.hatenablog.com

myenigma.hatenablog.com

 

今回は、Ceres Solverを使って

曲線フィッティングをしてみようと思います。

 

続きを読む

Windows用のキーボードとマウスをMacで使うための初期設定まとめ

目次

  • 目次
  • はじめに
  • Windowsの半角全角キーをMacの英数/かな変換にする
  • JISキーボードの設定
  • Windowsキーボードのスペースの横のキーを変換/無変換にする
  • キーボードのCtrlキーをcommandに、Caps LockをCtrlに
  • マウスの方向をWindowsと同じ方向に設定する
  • マウスのボタンを設定
  • 参考資料
  • MyEnigma Supporters

はじめに

色々な理由で、

自分はWinwosとUbuntu, MacのそれぞれのOSを使うことが多いのですが、

キーボードとマウスは、

コストパフォーマンスが最高だと言われる、

下記の2つのLogicoolのものを使っています。

 

しかし、このマウスとキーボードは

Windows用なので、Macでそのまま使用すると結構不便です。

 

そこで、できるだけWindowsのキーボードの操作を

ストレスなくMacでも使えるような設定方法をまとめておきたいと思います。

 

ちなみに下記の内容はSierra対応です。

 

その他のMacの初期設定は下記を参照下さい。

myenigma.hatenablog.com

 

続きを読む

アメリカにおける小切手(Check)の使い方と注意点

目次

  • 目次
  • はじめに
  • 小切手を取得する
  • 小切手の書き方
  • 数字を英語に変換するWebツール
  • 参考資料
  • MyEnigma Supporters

はじめに

日本とアメリカの大きな文化的な違いとして、

小切手(Check)があります。

 

アメリカはクレジットカード文化と言われるので、

なんでもクレジットカードで支払えるかと思いきや、

ライフライン系(家賃や電気・ガスなど)や、

大きめの支払い(10万円以上など)は

未だに小切手で支払う必要がある場合があります。

(日本では銀行振込が基本ですが、

なぜかアメリカでは銀行振込(wire transfer)が

非常に手数料が高いので、

手数料が安い小切手の文化が残っているようです)

 

最近は自動引き落としに対応したマンションなども

増えてきているようですが、

個人オーナの家などは、

毎月、家賃の支払いのために小切手を郵送する必要があったりします。

 

また、日系の不動産屋などでも、

支払いは小切手でした。

myenigma.hatenablog.com

 

そこで、今後アメリカで生活する人のために、

小切手の書き方や注意点などをまとめておきたいと思います。

 

続きを読む

GoogleのC++最適化ツールCeres solverを使って複雑な最適化を解いてみた。

目次

  • 目次
  • はじめに
  • Ceresにおける導関数の指定方法
    • 数値演算的に導関数を与える方法
    • 解析的に導関数を与える方法
    • その他の導関数の求め方
  • 複雑な最適化の実施
  • より深く最適化を学びたい人は
  • 参考資料
  • MyEnigma Supporters

はじめに

先日、上げた記事の続きです。

myenigma.hatenablog.com

 

今回は、もう少しCeresのシステムの詳しい説明と、

複雑な最適化を実際に実装してみたいと思います。

 

Ceresの基本的な部分は先程の記事を参照下さい。

続きを読む