Skip to content

cit22ros2/crane_x7_simple_examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

crane_x7_simple_examples build-test

このパッケージは, ロボットアーム(CRANE-X7)単独でのピッキングとRGBDセンサ(RealsenseD435)も併用したピッキングの2つだけをまとめたシンプルなROS 2パッケージです. 講義の参加者が, このパッケージを元にして製作を行うために作成されました.

このパッケージを使う前に

ROS 2及びCRANE-X7セットアップ

この資料はUbuntu 22.04 LTSを元に書いています.

  • ROS 2インストール
      上田先生の動画及びインストールスクリプトを参照し, インストールを行ってください.
  • CRANE-X7及び関連パッケージのインストール
      RT社公式リポジトリよりインストールできます. 以下にインストールコマンドを載せます.
    # Setup ROS environment
    $ source /opt/ros/humble/setup.bash
    
    # Download crane_x7 repositories
    $ mkdir -p ~/ros2_ws/src
    $ cd ~/ros2_ws/src
    $ git clone -b ros2 https://github.com/rt-net/crane_x7_ros.git
    $ git clone -b ros2 https://github.com/rt-net/crane_x7_description.git
    
    # Install dependencies
    $ rosdep install -r -y -i --from-paths .
    
    # Build & Install
    $ cd ~/ros2_ws
    $ colcon build --symlink-install
    $ source ~/ros2_ws/install/setup.bash
    
    https://github.com/rt-net/crane_x7_ros/tree/ros2/README.mdより転載)
    (#の行はコメント, $の行はshellのコマンドです)
    また, インストールが完了したらパッケージに含まれるサンプルコードをシミュレータ(Gazebo)で試すことができます. 詳しくは こちらを参照してください.
  • USBポートの設定(実機のCRANE-X7を動かす際に必要となります)
# 一時的な付与の場合(上手くいかない時はUSBポートの名前を確認してください)
$ sudo chmod 666 /dev/ttyUSB0

# 永続的な付与の場合(再起動を伴います)
$ sudo usermod -aG dialout $USER
$ reboot

crane_x7_controlのREADMEに詳しく書いてあります.

RealSenseセットアップ

IntelRealSenseのgithub を参照してください. 以下先ほどのページから引用

# Register the server's public key:
$ sudo mkdir -p /etc/apt/keyrings
$ curl -sSf https://librealsense.intel.com/Debian/librealsense.pgp | sudo tee /etc/apt/keyrings/librealsense.pgp > /dev/null

# Make sure apt HTTPS support is installed:
$ sudo apt-get install apt-transport-https

# Add the server to the list of repositories:
$ echo "deb [signed-by=/etc/apt/keyrings/librealsense.pgp] https://librealsense.intel.com/Debian/apt-repo `lsb_release -cs` main" | \
$ sudo tee /etc/apt/sources.list.d/librealsense.list
$ sudo apt-get update

# Install the libraries (see section below if upgrading packages):
$ sudo apt-get install librealsense2-dkms
$ sudo apt-get install librealsense2-utils

# セットアップできているか確認(ビューワーの起動):  
$ realsense-viewer

このパッケージの使い方

インストール

$ cd ~/ros2_ws/src
$ git clone https://github.com/cit22ros2/crane_x7_simple_examples.git 

ビルド

$ cd ~/ros2_ws
$ colcon build
$ source ~/ros2_ws/install/setup.bash

# 3行目のコマンドは、~/.bashrcに書いておくことを推奨します.   
# 下のコマンドで.bashrcに追記できます.  
$ echo 'source ~/ros2_ws/install/setup.bash' >> ~/.bachrc
# .bashrcに書いてあるとき下のコマンドが代わりにできます.
$ source ~/.bashrc

実行

シミュレータ(Gazebo)あるいは実機で動かす際には、可視化ツール(RViz)とGazeboの両方を起動する必要があります. 詳しくはこちらを確認してください.

pick_and_move

ピッキング(特定の場所にある物体を掴む・持ち上げる・運ぶ・置く)を行うコードです.
次のコマンドで実行できます.

  • for Gazebo
ros2 launch crane_x7_simple_examples pick_and_move.launch.py use_sim_time:='true'
  • for real machine
ros2 launch crane_x7_simple_examples pick_and_move.launch.py 

pick_and_moveのデモ動画

camera_picking

RGBDセンサを用いたピッキング(特定の色の物体を検知する・掴む・持ち上げる・運ぶ・置く)コードです.
このコードでは、青い物体の位置を検知し物体を掴みます.
Realsenseを接続し次のコマンドで実行できます.

  • for real machine
ros2 launch crane_x7_simple_examples camera_picking.launch.py

camera_pickingのデモ動画

引継ぎ事項

よく起きるエラーと解決法

  • 止め方がわからない
    Ctrl + Cで止めることができます.
  • GazeboでCRANE-X7が動かない/動きが途中で止まる.
    実行時にuse_sim_time:=trueが抜けていることが多いです.
  • RViz/Gazeboの画面が真っ黒
    1度止めてもう一度立ち上げると大体解決します.
  • colcon buildが通らない.
    1. package名やコードの名前は統一されていますか?
    2. 依存関係の問題かもしれません次を試してみましょう.
    $ rosdep update
    $ rosdep install -r -y --from-paths --ignore-src ./
    
  • CRANE-X7のROS 2対応のリポジトリが見つからない.
    ブランチを変えるとあります.
  • 実行コマンドを叩いたのにパッケージが見つからないと出る.
    実行コマンドで呼び出す名前とパッケージのものの名前が間違ってる可能性があります.
  • なぜかアームの動きがスキップされる
    MoveIt 2の制限に引っかかっている可能性があります.制限を緩和すると動きます.(ただし,ダイナミックに動くので周囲への注意が必要)

やり残したこと

  • Gazeboに自分で作成したモデルの導入
  • Gazebo上でのRealSenseの動作
  • Open CVのプログラム(color_detection.cpp)の変更
    • 見つける色の変更
    • 探すのに動きを組み合わせるなど
  • 姿勢を維持したまま移動すること

ライセンス

(C) 2023 Keitaro Nakamura, Ryotaro Karikomi

このパッケージはRT Corporationの公開するパッケージcrane_x7_examplesのlaunch/camera_picking.launch.py,pick_and_mvoe.launch.py,src/pick_and_move_tf.py,color_detection,CMakeList.txt,package.xmlは微小な, src/pick_and_move.cppは大幅な改変によって作成されました.
このパッケージはApache License, Version 2.0に基づき公開されています.
ライセンスの全文はLICENSEから確認できます.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published