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?

自律施工技術開発基盤OPERAを試してみる(ROS2 launchファイルから動かしてみる編)

Posted at

1. はじめに

前回の記事[1]では自律施工技術開発基盤OPERAのリポジトリで公開されているサンプルファイルにて、ROS2 topicを投げて建機を動かしてみることに成功しました。そしてその記事の中で「次回はREADMEでも紹介されているunity用launchファイルから動かす方法を試してみたい」と述べましたので、それに取り組んでみたのが、この記事の内容になります。

なお、この記事のシミュレーション環境は前回の記事[1]で構築した内容となります。このことを前提に記事を記載していきます(つまり細かいことは省きます)。

2. 実行環境

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

3. シミュレーション環境

シミュレーション環境は前回の記事[1]で構築した以下の環境をベースとします。

そして、前回作成したワークスペースの"/Opera_test"に、以下で公開されている"OPERA 対応油圧ショベル zx200 の土木研究所公開 ROS2 パッケージ群"のリポジトリをクローンして構築していきます。

👆のリポジトリのREADMEを参考に、以下のコマンドでクローンや関連パッケージのインストールやビルドをしました。

terminal
source /opt/ros/humble/setup.bash
cd ~/Opera_test/src
git clone https://github.com/pwri-opera/zx200_ros2.git
sudo apt update
sudo apt install python3-rosdep2 
rosdep update
rosdep install -i --from-path src --rosdistro humble -y 
colcon build
source ~/Opera_test/install/setup.bash

4. シミュレーション結果

まずUnityでAsset/Scenes/SampleScene.unityを開きます。
そして、ROS-TCP-Connectorの設定について、"Robotics" > "ROS Setting"の順でクリックして出てきた画面の"Protocol"のところを"ROS1"->"ROS2"に変更します。そのほかの設定はそのままとしました。

ROS2Set.png

そしてUnityの再生ボタンをクリックしてシミュレーションを開始します。

次にターミナルを開き以下のコマンドを入力し、ROS2とUnityの連携を開始します。
なお、以下のコマンドで出てくる"/Opera_test"は私が設定したワークスペースの名前なので、環境によって変える必要があります。

terminal(1)
source ~/Opera_test/install/setup.bash
ros2 launch ros_tcp_endpoint endpoint.py

次に以下のlaunchファイルを実行し、rviz2を起動します。

terminal(2)
source ~/Opera_test/install/setup.bash
roslaunch zx120_unity zx120_standby.launch

このlaunchファイルを実行したときのrviz2の画面は以下です。

Screenshot from 2024-12-28 09-34-25.png

ちなみにこの状態で以下のコマンドでROS2 topicのメッセージを送信しても、zx120_standby.launchファイルによって別のROS2 topicメッセージが投げられていて「メッセージが上書きされる」ような状態なので、油圧ショベルのアームは動きません。

terminal(3)
source ~/Opera_test/install/setup.bash
ros2 topic pub /zx120/arm/cmd std_msgs/Float64 "data: 0.2"

そのため、以下の動画のようにrviz2上で角度を指定して"Execute"ボタンを押すことで油圧ショベルのアームを動かすことができます。ただ、動かし方が私もまだよくわかっておりませんので、現時点ではまずとりあえず動かしてみたという段階です。

5. まとめ

今回は国立研究開発法人の土木研究所 技術推進本部 先端技術チームがgithubで公開している自律施工技術開発基盤OPERAのサンプルファイル内の建機をROS2 launchファイルから動かすことに成功しました。

今後はクローラダンプや他の建機も動かせるかや、土砂の粒子シミュレーションについても試していきたいと考えています。

参考記事やサイト

[1]自律施工技術開発基盤OPERAを試してみる(ROS2 topicから動かしてみる編)

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?