LoginSignup
10
12

More than 3 years have passed since last update.

ROS講座100 Moveitでサンプルを動かす

Last updated at Posted at 2019-08-25

環境

この記事は以下の環境で動いています。

項目
CPU Core i5-8250U
Ubuntu 16.04
ROS Kinetic

インストールについてはROS講座02 インストールを参照してください。
またこの記事のプログラムはgithubにアップロードされています。ROS講座11 gitリポジトリを参照してください。

概要

アームロボット(多関節ロボット)の主なタスクとしてアームの先端を特定の姿勢にするというタスクがあります。これをやるためにはIK(逆運動学)と軌道計画の2つのタスクを行う必要があります。しかしこれらは、高度な数学的な知識が必要なために実装は大変面倒です。ROSではこれらの処理はMoveitというライブラリが担っています。
今回はcrane_plusというアーム用のrosパッケージをcloneしてsim上で動かしてみます。

アームの制御とは

ここでのアームの制御の目的はゴール地点のposeを指定することでアームの先端をその場所に移動させることです。分解するとこれは2つのタスクに分かれます。

  • 目的のposeになるための各関節の角度を求める作業(IK:逆運動学)
  • 現在の関節角度から上記で求めた角度に変化するための角度の変化のさせ方を計算する作業(起動生成)

今回の目的

crane+というturtlebot2用のアーム(現在ではもう売っていない?)のコントロール用のパッケージであるcrane_plus_armを使ってmoveitによるアームの制御を体験してみます。

install

moveit関連のパッケージをインストールします。

インストール
sudo apt install ros-kinetic-moveit
sudo apt install ros-kinetic-moveit-ros-visualization 

サンプルの実行

ダウンロードとコンパイル

cd ~/catkin_ws/src/
git clone https://github.com/gbiggs/crane_plus_arm.git
cd ~/catkin_ws/
catkin_make

実行1

moveitそのものだけを動かすデモlaunchを起動します。

roslaunch crane_plus_moveit_config demo.launch 

インタラクティブマーカーをドラッグすると先端をその位置に持ってくるための姿勢が計算されます。
cp1.gif

Plan and Executeを押すと開始点から目標点まで移動する軌跡が計算されます。
(表示がうるさいのでrviz左上のdisplayパネルのMotionPlanning->Planning Path->Loop Animationをoffにするのをお勧めします。)
cp2.gif

実行2

より実機に近い状態で動かします。実機の代わりのgazebo上のアームをmoveitで操作します。ターミナルを3つ開きます。

gazeboシミュレーターの起動
roslaunch crane_plus_simulation simulation.launch
moveit本体の起動
roslaunch crane_plus_moveit_config move_group.launch
moveitのGUI(rvizプラグイン)の起動
roslaunch crane_plus_moveit_config moveit_rviz.launch config:=true

上記の実行1と同様に操作を行えます。
cp3.gif

参考

crane+リポジトリ
moveitの使い方

目次ページへのリンク

ROS講座の目次へのリンク

10
12
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
10
12