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環境)

Last updated at Posted at 2025-03-02

1. はじめに

前回の記事[1]でROS2 Humble環境でのロボットHuskyの自律走行の実装は断念し、代わりにDocker上でROS Noetic環境を構築し、自律走行機能を実装することにしました。この取り組みについて、紹介するのがこの記事の内容です。

2. 実行環境

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

3. 遠隔操作による走行についての構築手順

3.1. Docker のセットアップ

terminal(1)
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker

ここで変更を反映するため、PCから一度ログアウト&再ログインしました

3.2 noVNC 対応の ROS 1 Docker イメージを取得

ここでdocker上でのROS1(ROS Noetic)の設定に入るのですが、以下の記事で簡単にROS1をセットアップできるものがありましたので、このリポジトリを使わせていただきました。本当に一瞬でDocker上のGUIのROS1を設定できたので、非常に助かりました。

実行したコマンドは以下です。

terminal(1)
sudo docker run -p 6080:80 --shm-size=512m tiryoh/ros-desktop-vnc:noetic

ダウンロードが完了したら、ブラウザで http://127.0.0.1:6080/ にアクセスします。

3.3 Docker内でのHusky のシミュレーション環境の構築

ブラウザで http://127.0.0.1:6080/ にアクセスしましたら、その中でターミナルを開き、以下のコマンドでHusky のシミュレーション環境の構築をしていきます。

docker内のterminal(1)
sudo apt update
sudo apt install -y gazebo11 ros-noetic-gazebo-ros
sudo apt install -y ros-noetic-husky-simulator ros-noetic-husky-desktop ros-noetic-husky-navigation

3.4 Docker内でのHuskyシミュレーションの起動

以下のコマンドで、シミュレーション環境を立ち上げます。

docker内のterminal(1)
source /opt/ros/noetic/setup.bash
roslaunch husky_gazebo husky_playpen.launch

以下のようにGazebo 上に Husky が表示されます。

シミュレーション環境の立ち上げ.png

3.5 Husky の遠隔操作(手動運転)

次にHuskyを遠隔操作で走行させるため、以下のコマンドでteleopを立ち上げます。

docker内のterminal(2)
source /opt/ros/noetic/setup.bash
rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=/husky_velocity_controller/cmd_vel

そしてキーボードによる遠隔操作で走行させた様子が以下の動画になります。

4. 自律走行についての構築手順

4.1 Lidar を有効化

まずLidarを以下のコマンドで有効化して、シミュレーション空間を起動します。

docker内のterminal(1)
source /opt/ros/noetic/setup.bash
export HUSKY_LMS1XX_ENABLED=1
roslaunch husky_gazebo husky_playpen.launch

4.2 rviz を起動

次に以下のコマンドでrivzを起動します。

docker内のterminal(2)
source /opt/ros/noetic/setup.bash
roslaunch husky_viz view_robot.launch

4.3 ナビゲーションを起動

次に以下のコマンドで、自律走行用のプログラムを起動します

docker内のterminal(3)
source /opt/ros/noetic/setup.bash
roslaunch husky_navigation amcl_demo.launch

そうしますと以下の画面のようにrvizの画面に地図が読み込まれます(左がgazebo、右がrivzの画面です。)。

Screenshot from 2025-02-16 12-59-52.png

そして2D Nav Goalで目的地を指定すると Husky が自律移動を始めます。

以下がその時の動画です。

5. まとめ

公開されているリポジトリを活用し、Docker上にROS Noetic環境を構築することで、Huskyの自律走行をシミュレーションできました。
次回以降は、この環境のHuskyにマニピュレーターを搭載し、自律走行と並行してマニピュレーターを動作させることに取り組んでいきたいと思います。

参考記事やサイト

[1]ROS2 humbleの環境で ロボットHusky を遠隔操作で走行させるシミュレーションをしてみる

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?