雑ではあるが、ここではメモ程度の説明とします。 このお題では、アルゴリズムへの入力は角度なので-π ~ π の連続値、出力は時間間隔なので、0 ~ t_max の連続値である。 強化学習の基本であるQ-leaningアルゴリズムを使いたいのだが、Q-learning は離散値に対 […]
DCモーターにはエンコーダーがついていないのでモーターから角度を知ることはできない。また、エンコーダーをつけたとしても、プーリーベルトがしょっちゅう滑りを起こすので、正確に測定することはできない。 そこでカメラ画像から角度を推定することを考える。 カメラの設定 まずは、できるかぎ […]
小学校の理科で使ったような普通のモーター、DCモーター(直流モーター)に棒を直付けして、振り子の振り上げをやってみたいと思っていた。 しかしチャレンジしてみたところ、DCモーターで、上側で振り子のバランスを取りながらリアルタイムで安定させるというのは、思った以上に難しかった。モー […]
さて、ここからは振り子の振り上げを自動で行うことを考える。最適な行動を試行錯誤で学習する「強化学習」というアルゴリズムを実装する。 強化学習の問題設定 まずは問題の整理から。問題設定を以下に図示した。 具体的な得点(報酬信号という)は、振り子が到達した角度を[math]\thet […]
倒立振り子
いつの間にか夏真っ盛りで、クーラーのない僕の部屋は、昼間は灼熱地獄です。 週末は、真後ろ10cmから扇風機を当ててなんとか暑さをしのぎつつ、棒たての工作を続けています。 しかし、そんな地獄の釜の底でも、youtubeで平成のヒット曲を聞きながら、単純作業を黙々と続けていると、いつ […]
ここのところずっと打ち込んでいるのは、逆さ振り子です。 ミニ四駆などで使われているような普通の直流モーターに、振り子(木の板)を直接取り付けています。 モーターの電圧はプログラムで逆転でき、瞬時に好きな方向にトルク(回転させる力)をかけることができます。 目的は、振り子を上側に上 […]
小学校の理科でも使った、普通のモーターを使った電子工作をしたいなと思っていていました。 だいぶ前からモーターやドライバなどは買ってあったのですが、今週からようやく始めました。 小さい力で反動をつけて棒を立てる、という単純なタスクをまずやるつもりなのですが、昨日はつい難易度のたかい […]
参考:RaspberryPi で学ぶ電子工作(講談社)金丸氏 DCモーターをラズパイで動かす方法。 使用した物 Raspberrypi 3 Model B+ Raspberrypi OS: Linux raspberrypi 4.14.98-v7 抵抗:10kΩ コンデンサ: 0 […]
2019.4.26 ラズパイにつなげたUSBカメラからの映像を、ローカルでつながっているPCやスマホでブラウザで見たい。 MJPG-streamer を使えば簡単にできるとのこと。 インストールと自動起動の設定は、 ラット渡辺ブログ さん、 Blue-black.ink さんの情 […]