6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ロボットの自作記事まとめ

Posted at

はじめに

私がロボットに関して興味を持っており,ロボットの動かし方を学んだため,本記事にまとめる.
ロボットに関しての理論や実装をWebサイトで探していたが,見つけることができなかったため,自作しようと考えた.
また,私が学生時代にロボットの経路生成に関して研究をしており,経路生成を実施する前に,ロボットの動かし方を理解するのが難しかった経験をしたため,記事を投稿しようと思った.
ロボットを動かすために,三角関数(sin, cos, tan)を使用する.以下サイトはわかりやすいです.
https://www.meikogijuku.jp/meiko-plus/study/trigonometric-function.html

本記事に記載すること

・2軸,3軸,6軸ロボットアームの動かし方をまとめる
・私が作成したロボットの動かし方に関する記事の概要およびリンクと将来作成したい記事をまとめる

本記事では記載できないこと (将来作成したい記事)

・冗長ロボット(手先の位置・姿勢の次元数よりも関節数が多いロボットを指す),移動ロボット,ヒューマノイドロボットなど
・Pybullet(Pythonで動く物理シミュレーション),ROS(ロボットを動かすプラットフォーム),Unityによるロボット制御

経路生成手法(RRT)のアルゴリズム

ロボットと組み合わせる経路生成手法に関しては,本記事ではなく下記リンク先でまとめた.
https://qiita.com/haruhiro1020/items/000b3287fce082ae4283

2軸ロボットアームに関して

2軸ロボットアームに関しての動かし方をまとめる.
下図のような2軸ロボットアームを想定している.
リンク1はz軸に$\theta_{1}$回転し,リンク2はz軸に$\theta_{2}$回転する,2軸ロボットアームを考えている (z軸とは,下図のx軸とy軸との直角な方向であり,見ている図はz軸から見ている図である).
$\theta_{1} = 0$かつ$\theta_{2} = 0$の時,ロボットの手先位置は$(x, y ) = (l_{1} + l_{2}, 0)$となる.
ForwardKinematics_box.drawio.png

2軸ロボットアームの動かし方に関する記事の概要およびリンク

2軸ロボットアームの動かし方に関する記事の概要およびリンクを下表にまとめる.

作成した記事の概要 リンク
2軸ロボットアームの順運動学 (関節角度から手先位置を算出) https://qiita.com/haruhiro1020/items/4529e648161beac7754f
2軸ロボットアームの逆運動学 (手先位置から関節角度を算出) https://qiita.com/haruhiro1020/items/9416bea4b5b0757f4f36
2軸ロボットアームの軌道生成 (干渉物が存在しない環境下での2点間の軌道生成) https://qiita.com/haruhiro1020/items/6deca78f9f1fd868b2c0
2軸ロボットアームの経路生成 (干渉物が存在する環境下で,干渉回避を実施する2点間の経路生成) https://qiita.com/haruhiro1020/items/b42725df00e13ddcb5af
同時変換行列(ロボットの軸数が増えても容易な計算)を活用した順運動学 https://qiita.com/haruhiro1020/items/424f5d38861c32038636
微分逆運動学(手先速度から関節速度を算出)による数値解析 https://qiita.com/haruhiro1020/items/0f8c372cfb2988e47cf4
特異点近傍への対処方法 (レーベンバーグ・マルカート法) https://qiita.com/haruhiro1020/items/793eca1f6247fa1bd3f9

3軸ロボットアームに関して

3軸ロボットアームに関しての動かし方をまとめる.
下図のような3軸ロボットアームを想定している.
$l_{1}$はリンク1の長さ[m],$l_{2}$はリンク2の長さ[m],$l_{3}$はリンク3の長さ[m]です.
$\theta_{1}$は関節1の角度[rad]であり,z軸方向に回転する.
$\theta_{2}$は関節2の角度[rad]であり,y軸方向に回転する.
$\theta_{3}$は関節3の角度[rad]であり,y軸方向に回転する.
$\theta_{1} = 0$かつ$\theta_{2} = 0$かつ$\theta_{3} = 0$の時,ロボットの手先位置は$(x, y, z) = (l_{2} + l_{3}, 0, l_{1})$となる.
ForwardKinematics_V1.drawio.png

3軸ロボットアームの動かし方に関する記事の概要およびリンク

3軸ロボットアームの動かし方に関する記事の概要およびリンクを下表にまとめる.

作成した記事の概要 リンク
3軸ロボットアームの順運動学 (関節角度から手先位置を算出) https://qiita.com/haruhiro1020/items/27c0cf098056dc792ab9
3軸ロボットアームの逆運動学 (手先位置から関節角度を算出) https://qiita.com/haruhiro1020/items/3d72eddc3f623eee963a
3軸ロボットアームの経路生成 (干渉物が存在する環境下で,干渉回避を実施する2点間の経路生成) https://qiita.com/haruhiro1020/items/6994a94efaff98d8dae1
同時変換行列(ロボットの軸数が増えても容易な計算)を活用した順運動学 https://qiita.com/haruhiro1020/items/424f5d38861c32038636
微分逆運動学(手先速度から関節速度を算出)による数値解析 https://qiita.com/haruhiro1020/items/c07c2635d03cf31396f6
特異点近傍への対処方法 (レーベンバーグ・マルカート法) https://qiita.com/haruhiro1020/items/793eca1f6247fa1bd3f9

6軸ロボットアームに関して

6軸ロボットアームに関しての動かし方をまとめる.
下図のような6軸ロボットアームを想定している.
関節$1$はz軸周りに$\theta_{1}$で回転し,関節$2$はy軸周りに$\theta_{2}$で回転し,関節$3$はy軸周りに$\theta_{3}$で回転し,関節$4$はz軸周りに$\theta_{4}$で回転し,関節$5$はy軸周りに$\theta_{5}$で回転し,関節$6$はz軸周りに$\theta_{6}$で回転する.
ForwardKinematics_V0.drawio.png

関節$1$ ~ $6$全部が角度$0[rad]$の時は,下図のようになる6軸ロボットアームを考える.
(全関節の座標系がワールド座標系と同じになる)
ForwardKinematics_V1.drawio.png

6軸ロボットアームの動かし方に関する記事の概要およびリンク

6軸ロボットアームの動かし方に関する記事の概要およびリンクを下表にまとめる.

作成した記事の概要 リンク
6軸ロボットアームの順運動学 (関節角度から手先位置を算出) https://qiita.com/haruhiro1020/items/a240f8c8e538e75473a3
6軸ロボットアームの逆運動学 (手先位置から関節角度を算出) https://qiita.com/haruhiro1020/items/af1d404b518aa6e13468
6軸ロボットアームの経路生成 (干渉物が存在する環境下で,干渉回避を実施する2点間の経路生成) https://qiita.com/haruhiro1020/items/e543294c6912e56e704f
特異点近傍への対処方法 (レーベンバーグ・マルカート法) https://qiita.com/haruhiro1020/items/793eca1f6247fa1bd3f9
姿勢軌道の作成(1軸回転法) https://qiita.com/haruhiro1020/items/9e90b2399ee4d50ffff4
微分逆運動学(手先速度から関節速度を算出)による数値解析 https://qiita.com/haruhiro1020/items/bfb298ccdd124fb89301

将来作成したい記事

将来作成したい記事を下表にまとめる.

将来作成したい記事の内容
Pybullet(Pythonで動く物理シミュレーション)上でロボットを動かす
ROS(ロボットを動かすプラットフォーム)上でロボットを動かす
Unity上でロボットを動かす
ロボット * 機械学習
冗長ロボット(手先の位置・姿勢の次元数よりも関節数が多いロボットを指す)の動かし方
移動ロボットの動かし方
ヒューマノイドロボットの動かし方

おわりに

本記事では,ロボットの動かし方に関する自作記事をまとめた

次記事では,下記内容を実装していきます.
・本記事の"将来作成したい記事"に記載した記事を作成する
・機械学習や統計学に関する記事を作成する

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?