MyEnigma

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

技術で自分と家族の健康情報を管理する仕組みづくり

先日の @WithingsJP ‬ペアスマートウォッチプレゼント企画🎁に当選して、夫婦でSteel HR Sportを頂きました🎉。Withingsの技術を使って夫婦共々健康を保ちたいと思います。 ありがとうございました🤗#Withings

目次

  • 目次
  • はじめに
  • 体重管理
  • 睡眠時間、歩数、日々の運動管理
  • 体温管理
  • ジムでの運動管理
  • 幼児の健康管理
  • 幼児の予防接種管理
  • 今後の課題
  • 参考資料
  • MyEnigma Supporters

はじめに

数年前に、フランスのWithings社のスマート体重計を買ってから、

myenigma.hatenablog.com

自分や家族の健康情報を

技術で自動取得&管理する仕組み作りにハマっています。

 

今回の記事では、

これまでいろいろ試してきて、

便利だった仕組みについてまとめておきたいと思います。

続きを読む

Juliaにおけるパッケージ管理&新しいパッケージ作成メモ


1から始める Juliaプログラミング

目次

  • 目次
  • はじめに
  • パッケージ管理
    • インストールされているパッケージを表示する
    • 指定したパッケージをインストールする
    • 指定したバージョンのパッケージをインストールする
    • すべてのパッケージをアップデートする
    • 指定したパッケージを削除する
    • パッケージのバージョンを固定する
    • パッケージリポジトリの最新のバージョン情報を取得する
  • 新しいパッケージを作成する時
    • 初期パッケージを生成する(デフォルトのPkgモジュールを使う)
    • PkgTemplatesを使う
  • 既存のパッケージにPRを作成する
    • 方法1
    • 方法2
  • 参考資料
  • MyEnigma Supporters

はじめに

すぐ忘れるのでメモしておきます。

続きを読む

Python製ハイパーパラメータ学習ライブラリoptunaを使って様々な言語のコードを最適化する方法

目次

  • 目次
  • はじめに
  • ハイパーパラメータ学習ライブラリoptuna
  • Pythonのコードをoptunaでパラメータ最適化してみる。
  • C++のコードをoptunaでパラメータ最適化してみる
  • Juliaのコードをoptunaでパラメータ最適化してみる
  • 今後optunaに期待すること
    • create_studyとstudyの関数の統合
    • 他の言語との統合方法のexampleの拡充
  • GitHubリポジトリ
  • 参考資料
  • MyEnigma Supporters

はじめに

最近、最適化技術の勉強の一貫として、

ベイズ統計・最適化を勉強しようと思っています。

そこで、以前PFNが公開した

ベイズ最適化による、ハイパーパラメータ自動最適化ツールである

optunaを使ってみました。

github.com

 

今回の記事では、簡単なoptunaの紹介と、

optunaは、Python製のツールですが、

標準入出力を使えば、任意のプログラミング言語のシステムでも

簡単にパラメータ学習できたので、その方法を紹介したいと思います。

続きを読む

プログラミング言語におけるremとmod

目次

  • 目次
  • はじめに
  • rem と modを理解するのに参考になるツイート
  • 参考資料
  • MyEnigma Supporters

はじめに

10年ほど、プログラミングをしているのに、

剰余のremとmodを理解していなかったので、

Twitterでいろいろ教えてもらった内容をメモしておきます。

続きを読む

初めて制御工学の基礎を学ぶのにおすすめの本『はじめての制御工学 改訂第2版』

目次

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

はじめに

今回の記事は、

制御工学 Advent Calendar 2018, 13日目の記事です。

 

幸いなことに、

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

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

献本いただきました😀。著者の方々ありがとうございます。全ページカラーで、グラフとかすごく見やすくていい感じです。熟読して書評させていただきます。

 

続きを読む

Windows10でcコードからdllを作り、Julia1.0から呼び出す方法

目次

  • 目次
  • はじめに
  • 基本的なやりかた
  • 1. mingwの64bit版とgccの64bit版をインストールする。
  • 2. 環境変数の設定
  • 3. コードのコンパイル&Juliaから実行する
  • 参考資料
  • MyEnigma Supporters

はじめに

Juliaでは、ccallという関数を使うと、

簡単にc言語のコードから生成された

共有ライブラリの関数を利用することができますが、

Windows10+Julia1.0で実施しようと思ったところ、

色々ハマったので、やり方をメモとして残しておきます。

続きを読む

ユニットテストカバレッジ可視化入門

目次

  • 目次
  • はじめに
  • PythonプロジェクトをTravis CI上でテストして、Coverallsでカバレッジを可視化する
  • JuliaのプロジェクトをTravis CI上でテストして、Coverallsでカバレッジを可視化する
  • 参考資料
  • MyEnigma Supporters

はじめに

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

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

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

myenigma.hatenablog.com

myenigma.hatenablog.com

 

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の場合は、AppVeyorがあります。

myenigma.hatenablog.com

 

最近は、ユニットテストを実行するだけでなく、

ユニットテストがカバーしているコードの割合を表示するのも

よく実施されます。

今回は、Coverallsというテストカバレッジ可視化サービスを使う方法をまとめておきます。

coveralls.io

 

Coverallsを使うと、下記の画像のように、

テストカバレッジの結果を

GitHubのREADMEなどに表示することができます。

f:id:meison_amsl:20181111205140p:plain

 

続きを読む

Graph based SLAMの概要とPythonサンプルコード

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

目次

  • 目次
  • はじめに
  • Graph based SLAM
  • Pythonサンプルコード
  • 参考資料
  • MyEnigma Supporters

はじめに

以前、SLAMの技術として、

EKF SLAMやFast SLAMなどを紹介しましたが、

myenigma.hatenablog.com

myenigma.hatenablog.com

これらのSLAMのアルゴリズムは、

オンラインSLAMと呼ばれるSLAMのアルゴリズムです。

このようなオンラインSLAMのアルゴリズムは、

地図の情報を使って、今の位置や姿勢を補正することができますが、

過去の位置や姿勢は補正することができません。

 

そこで今回は、過去の位置や姿勢も含めて補正することができる

Full SLAMと呼ばれるアルゴリズム群の中で、

有名なアルゴリズムであるGraph based SLAMの概要と

Pythonサンプルコードを紹介したいと思います。

続きを読む

Ubuntu初期設定まとめ

目次

  • 目次
  • はじめに
  • Chromeのインストール
  • Fn keyを押さずにFn keyを使いたい (デフォルトをメディアボタンにしない)
  • トラックパットのスクロールの方向をMacと合わせる
  • フォルダを英語名にする
  • Caps LockをCtrlにする
  • Macのようにキーボードの"変換"キーを日本語入力、"無変換"を英語入力にする
  • File Exploreでファイルの種類や、変更時刻の行を設定する
  • GitHubにssh keyを設定する
  • ターミナル系の設定
  • クリップボード管理アプリのインストール
  • Launcherキーバインドの設定
  • スクリーンショットの設定
  • スクリーンレコーダーアプリのインストール
  • CPUやメモリの使用率をメニューバーに表示するアプリのインストール
  • vimの設定
  • ターミナルアプリterminatorのインストール
  • Logicoolの多ボタンマウスを設定する
  • Dockerのインストール
  • Pythonのインストール
  • juliaのインストール
  • Jetbrains Toolboxのインストール
  • その他のOSの設定
  • 参考資料
  • MyEnigma Supporters

はじめに

個人的なUbuntu設定メモです。

続きを読む

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

目次

  • 目次
  • はじめに
  • 制約付き非線形最小二乗法
  • 制約付き非線形最小二乗法の解法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

続きを読む