Skip to content

CIT-Autonomous-Robot-Lab/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/CIT-Autonomous-Robot-Lab/crane_x7_simple_examples.git 

※ただし,このパッケージはこのコードを雛形にして講義のパッケージを作成してほしいという意図の元作成されたので, このリポジトリをforkしてそちらをcloneすることを推奨します.

ビルド

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

    terminal 1: ros2 launch crane_x7_gazebo crane_x7_with_table.launch.py

    terminal 2: ros2 launch crane_x7_simple_examples pick_and_move.launch.py use_sim_time:='true'

  • for real machine

    terminal 1: ros2 launch crane_x7_examples demo.launch.py port_name:=/dev/ttyUSB0

    terminal 2: ros2 launch crane_x7_simple_examples pick_and_move.launch.py

pick_and_moveのデモ動画

camera_picking

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

  • for real machine

    terminal 1: ros2 launch crane_x7_examples demo.launch.py port_name:=/dev/ttyUSB0 use_d435:=true

    terminal 2: 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対応のリポジトリが見つからない.
    ブランチを変えるとあります.
  • 実行コマンドを叩いたのにパッケージが見つからないと出る.
    実行コマンドで呼び出す名前とパッケージのものの名前が間違ってる可能性があります.

やり残したこと

  • 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

CRANE-X7用のROS 2サンプルコードです

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 73.8%
  • Python 19.4%
  • CMake 6.8%