0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker で ロボットHusky にマニピュレータを搭載して動かしてみた(ROS Noetic環境)

Posted at

1. はじめに

前回の記事[1]でROS2 Humble環境でDocker上でDocker上にROS Noetic環境を構築することで、Huskyの自律走行をシミュレーションすることができました。このシリーズの取り組みではOyediranらの論文[2]において、Huskyというロボットにマニピュレーターを搭載し、フレームなどの資材を把持して運搬する事例を再現していこうと考えています。それに向けて前回は自律走行ができましたので、この記事ではマニピュレータを搭載して動かすということについて取り組んだ内容を紹介したいと思います。

2. 実行環境

  • CPU: CORE i7 7th Gen
  • メモリ: 32GB
  • GPU: GeForce RTX 2070
  • OS: Ubuntu22.04(WSL2ではなくPCに直接インストール)
  • Nvidia Driver: 535

3. 構築手順

まず最初は前回の記事[1]で構築したものに、以下のリポジトリのマニピュレータを搭載しようとしました。gazebo上のhuskyにUR5というマニピュレータを搭載することには成功したのですが、Moveit(ロボットアームなどを動かすためのライブラリ)からロボットアームを動かすことができませんでした。干渉が解消できないことや、ROS nodeを立ち上げられないなど、おそらく私の知識不足が原因のトラブル続きでここについてはあきらめました。

そこで以下のリポジトリを用いて構築し、gazebo上のHuskyにUR3というロボットアームを搭載して、シミュレーションを行うこととしました。

ほとんど👆のリポジトリのreadmeに従いましたが、トラブル対応もしましたので、その構築手順を以下に示します。

3.1 ROS ワークスペースの作成

terminal(1)
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_make
source devel/setup.bash

3.2 依存パッケージのインストール

terminal(1)
sudo apt update
sudo apt install -y \
    ros-noetic-husky-* \
    ros-noetic-ddynamic-reconfigure \
    ros-noetic-imu-filter-madgwick \
    ros-noetic-imu-transformer \
    ros-noetic-moveit \
    ros-noetic-ros-controllers

3.3 ar_track_alvarのインストール

terminal(1)
cd ~/catkin_ws/src
git clone -b noetic-devel https://github.com/QualiaT/ar_track_alvar.git

ここでビルド(catkin make)をします。

terminal(1)
cd ~/catkin_ws
catkin_make

そして、⚠️ 私の環境ではpcl_conversions が不足しているとエラーが発生しました。これに対しては、以下のコマンドで対処した後に、再度でビルド(catkin make)をしました。

terminal(1)
sudo apt install -y ros-noetic-pcl-conversions ros-noetic-pcl-ros
cd ~/catkin_ws
catkin_make

3.4 husky_ur3_simulatorのインストール

terminal(1)
cd ~/catkin_ws/src
git clone -b noetic-devel https://github.com/QualiaT/husky_ur3_simulator.git

echo "export GAZEBO_MODEL_PATH=${HOME}/catkin_ws/src/husky_ur3_simulator/models" >> ~/.bashrc
source ~/.bashrc

cd ~/catkin_ws
catkin_make

3.5 Gripper 操作用の追加パッケージのインストール

terminal(1)
cd ~/catkin_ws/src
git clone https://github.com/ROBOTIS-GIT/ROBOTIS-Framework-msgs.git
git clone -b noetic-devel https://github.com/ROBOTIS-GIT/DynamixelSDK.git
git clone https://github.com/ROBOTIS-GIT/ROBOTIS-Framework.git

cd ~/catkin_ws
catkin_make

3.6 RealSense のインストール

terminal(1)
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
sudo add-apt-repository "deb http://librealsense.intel.com/Debian/apt-repo focal main" -u

sudo apt install -y \
    librealsense2-dkms \
    librealsense2-utils \
    librealsense2-dev \
    librealsense2-dbg \
    ros-noetic-realsense2-camera

cd ~/catkin_ws/src/
git clone https://github.com/IntelRealSense/realsense-ros.git
cd realsense-ros/
git checkout `git tag | sort -V | grep -P "^2.\\d+\\.\\d+" | tail -1`

cd ~/catkin_ws
catkin_make

4. 実行手順

Husky + UR3 の Gazebo 起動

terminal(1)
roslaunch husky_ur3_gazebo husky_ur3_HRI_lab.launch

MoveIt の起動とrvizの起動

terminal(2)
roslaunch husky_ur3_gripper_moveit_config Omni_control.launch

👆の2つのプログラムを実行すると以下の画面が表示されます。
Screenshot from 2025-03-01 15-47-43.png

そしてrvizの設定画面から以下の動画のようにアームを動かすことができます。

Husky のナビゲーションの起動

terminal(3)
roslaunch husky_ur3_navigation husky_ur3_in_HRI_lab_amcl.launch

これを実行しておくとrvizで目的地を指定すると自律走行ができます。

Gripper の開閉

次に以下のコマンドを打ってGripperを開閉させます

terminal(4)
# 開く
rostopic pub -1 /rh_p12_rn_position/command std_msgs/Float64 "data: 0.0"

# 閉じる
rostopic pub -1 /rh_p12_rn_position/command std_msgs/Float64 "data: 1.05"

👆のコマンドでグリッパーを開閉させたのが、以下の動画になります。

5. まとめ

公開されているリポジトリを活用し、Huskyというロボットにマニピュレーターを搭載し、アームを動かすことやグリッパーを開閉することをシミュレーションできました。
次回以降は、このグリッパーで何か物をつかむことに取り組んでみたいと思います。

参考記事やサイト

[1]Docker で ロボットHusky の遠隔操作走行シミュレーションと自律走行シミュレーションをしてみる(ROS Noetic環境)
[2]Integration of 4D BIM and Robot Task Planning: Creation and Flow of Construction-Related Information for Action-Level Simulation of Indoor Wall Frame Installation

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?