ノートブック

古き良きスタイルのノートブックです。

泳ぐカニ、歩くサメ、飛ぶイカ

カニとかイソギンチャクとか、あるいはダイナミックさについての雑記。

泳ぐカニ、歩くサメ、飛ぶイカ

泳ぐカニ

そして歩くサメ

さらに飛ぶイカ

続きを読む

Fetch RoboticsとORKを使った基本的な認識・制御実験

f:id:primitivem:20170929223309p:plain

Fetch Robot は倉庫などでの運搬やピッキングの作業を想定して作られたロボットで、ROSにもパッケージが用意されています。 http://wiki.ros.org/Robots/fetch
この記事では、このFetchとMoveIt!(ロボットの動きを制御することが便利にできるソフトウェア) を使って 対象物に対してFetchのアーム先端をリーチさせるという課題をGazeboのシミュレーション上で行ってみたいと思います。
また ORK(Object Recognition Kitchenという対象物をデータベースにある3次元情報と照合して認識するソフトウェア) をFetchの頭についてるカメラで使ってみたいと思います。
これは私が既存のロボットを使って一般的なトップダウン型の認識と制御を勉強する目的のために行った一連の試行錯誤をノートにしたものです。

続きを読む

Universal Robot で簡単な実験

f:id:primitivem:20170929222206p:plain

Universal Robot は人と協働することができる6自由度の産業用ロボットで、ROSにもパッケージが用意されています。 http://wiki.ros.org/universal_robot
この記事では、このUR(Universal Robot)とロボットの動きを制御することが便利にできるソフトウェア MoveIt! と 深度カメラとOpenCVを使って、対象物に対してURの先端をリーチさせるという課題をGazeboのシミュレーション上で行ってみたいと思います。
これは私が既存のロボットを使って一般的なトップダウン型の認識と制御を勉強する目的のために行った一連の試行錯誤をノートにしたものです。

続きを読む

ROSでのKDL逆運動学ライブラリについて

f:id:primitivem:20170928154903p:plain

ROSでロボットアームを動かすとき、エンドエフェクターの位置からロボットの各関節の角度を求めるいわゆる逆運動学を使いたいことがあったので KDLという逆運動学のライブラリを使いました。
この記事では単純なロボットアームのモデルをRViz上に可視化して関節角度を指定して動かしアーム先端の座標情報を確認する。そしてその先端の座標から逆にKDLを使って 指定した関節角度と同じ値を逆運動学で求めるという内容です。

続きを読む

シンプルなロボットアーム Part 3

f:id:primitivem:20170926183823p:plain

ロボットオペレーティングシステムのROSと、ロボットシミュレーターのGazeboを使いシンプルなロボットアームをステップバイステップで作ってゆきたいと思います。
シンプルなロボットアーム Part2 に続いてこの記事ではPart2で作成したロボットの先端にグリッパーを取り付けてみたいと思います。

続きを読む

シンプルなロボットアーム Part 2

f:id:primitivem:20170926172406p:plain

ロボットオペレーティングシステムのROSと、ロボットシミュレーターのGazeboを使いシンプルなロボットアームをステップバイステップで作ってゆきたいと思います。
シンプルなロボットアーム Part1 に続いてこの記事では5つの関節をもつシンプルなロボットアームをURDFで記述しそれをGazebo上にスポーンさせ、それとは別にロボットを制御するROSノードを起動しシミュレーション上でアームを動かしてみます。

続きを読む

シンプルなロボットアーム Part 1

f:id:primitivem:20170924215356p:plain

この記事ではロボットオペレーティングシステムのROSと、ロボットシミュレーターのGazeboを使いシンプルなロボットアームをステップバイステップで作ってゆきたいと思います。 この記事で解説するコード等は以下にあります。 https://github.com/embodmt/Gazebo_ROS/tree/master/simple_arm_1

Part1では関節が2つからなるアーム型のロボットモデルを単純にURDFで作成し、それをRVizで可視化して眺めるだけのものを作ります。

続きを読む

Arduino "Hello World!"

Arduinoに使われているAVRチップの hello world プログラムを書いてその働きを理解したいと思います。
この記事ではarduinoのデジタル8番ピンから13番ピンまでの6ピンに接続したLEDを光らせるだけという単純なプログラムを 機械語の番地に直接対応したアセンブリ言語で書くところからはじめ、分割して記述したアセンブリ言語のコード、C言語、そしてC++言語で 同じようにLEDを光らせるだけの単純なプログラムをそれぞれ動かしてみます。 またavrのレジスタが計算を行う様子をシミュレーションツールを使っての観察もしてみます。

続きを読む

NNの基本とガウス型関数による関数近似

f:id:primitivem:20170929131332p:plain

この記事では、ニューラルネットワークを使ったガウス型関数による任意の関数への近似を行います。 それにあたりニューラルネットワークの基本的なことを確認するため計算の粗過程を1ステップずつ手計算で確認してみたいと思います。 またニューラルネットワークを計算するのにchainerというライブラリを使用しました。

続きを読む