Turtlebot3の最近のブログ記事

自作 Turtlebot3 自律走行に向けたプログラム。#13

自作 Turtlebot3 自律走行に向けたプログラム。#13
--- Gazebo Turtlebot3 burger で、GPS を使ってみる。 ---

ROS IMUとGPSのGazeboプラグインを使う に、Gazebo で、GPS を使う例があったので、試してみました。

1. GPS プラグインの組み込み。
パッケージ版があったので、おんちゃんは、こちらををつかってみました。

$ sudo apt install ros-noetic-hector-gazebo-plugins

2. URDF の作成。
URDF は、上記ページにも例がありますが、おんちゃんは、以前、IMU、Camera を組み込んだ例に習って、今回も作りました。

catkin_ws/src/turtlebot3/turtlebot3_description/urdf/gps_macro.xacro

注) 使えるパラメータは、hector_gazebo_plugins に、記載があります。
注2) frameId
<frameID>${prefix}_link</frameID> --- Bad
<frameId>${prefix}_link</frameId> --- OK

Gazebo turtlebot3 Burger Depth Camera Navigation 草刈りロボット #3 です。

Gazebo turtlebot3 Burger Depth Camera Navigation 草刈りロボット #2 に続いて、残りの部分を作ります。

開発環境
OS: Ubuntu Mate 18.04
言語: Python2.7 ROS: melodic
開発ツール: Visual Studio Code
Gazebo/Turtlebot3 burger
注) burger には、Depth Camera プラグインを追加します。
条件:
1) バーガーを草刈りロボットとみなします。
  サイズ:178 x 178 [mm]
2) 部屋を畑とみなします。
3) センサーは、Depth Camera プラグインを使います。
  屋外の、実際の畑では、ちょっと無理だと考えますが、今回は、畑を隈無く移動させるプログラムの試験なので、割愛します。
4) SLAM で、畑 (部屋) のマップファイルが作成済とします。

1. 次は、ライン情報テーブル 作成 です。

Gazebo turtlebot3 Burger Depth Camera Navigation 草刈りロボット #2 です。

Gazebo turtlebot3 Burger Depth Camera Navigation 草刈りロボット で、プログラム設計ができたので、
これから、実際にプログラムを作成します。

開発環境
OS: Ubuntu Mate 18.04
言語: Python2.7 ROS: melodic
開発ツール: Visual Studio Code
Gazebo/Turtlebot3 burger
注) burger には、Depth Camera プラグインを追加します。
条件:
1) バーガーを草刈りロボットとみなします。
  サイズ:178 x 178 [mm]
2) 部屋を畑とみなします。
3) センサーは、Depth Camera プラグインを使います。
  屋外の、実際の畑では、ちょっと無理だと考えますが、今回は、畑を隈無く移動させるプログラムの試験なので、割愛します。
4) SLAM で、畑 (部屋) のマップファイルが作成済とします。

1. 最初は、 Map のデータをアクセスするプログラムを勉強がてら、作ってみます。

Gazebo turtlebot3 Burger Depth Camera Navigation 草刈りロボット です。

Gazebo turtlebot3 Burger Depth Camera Navigation Python Program. で、大体動きが把握できたので、
今回は、バーガーを草刈りロボットに見立てて、部屋の中を隈無く移動させるプログラムを考えてみます。

開発環境
OS: Ubuntu Mate 18.04
言語: Python2.7 ROS: melodic
開発ツール: Visual Studio Code
Gazebo/Turtlebot3 burger
注) burger には、Depth Camera プラグインを追加します。
条件:
1) バーガーを草刈りロボットとみなします。
  サイズ:178 x 178 [mm]
2) 部屋を畑とみなします。
3) センサーは、Depth Camera プラグインを使います。
  屋外の、実際の畑では、ちょっと無理だと考えますが、今回は、畑を隈無く移動させるプログラムの試験なので、割愛します。
4) SLAM で、畑 (部屋) のマップファイルが作成済とします。

Gazebo turtlebot3 Burger Depth Camera Navigation Python Program です 。
Gazebo turtlebot3 waffle Depth Camera Slam and real time Mapping. で、Gazebo turtlebot3 Burger の
Depth カメラ でのナビゲーションが確認できたので、こんかいは、 Python でバーガーを動かしてみようとおもいます。

グーグルで検索していたら、下記ページがあったので、そのまま使ってみます。
multi_goals.py

開発環境
OS: Ubuntu Mate 18.04
ROS: melodic
開発ツール: Visual Studio Code
Gazebo/Turtlebot3 burger
注) burger には、Depth Camera プラグインを追加します。

Gazebo turtlebot3 waffle Depth Camera SLAM

Gazebo turtlebot3 waffle Depth Camera SLAM(Simultaneous Localization And Mapping) です。

グーグルで検索していたら、
wiki.ros.org/depthimage_to_laserscan を見つけました。
どうやら、 Depth Camera (sensor_msgs/PointCloud2) から、 LaserScan (sensor_msgs/LaserScan ) に変更できる、
プログラムみたいです。

こちらを使えば、従来の turtlebot3_slam.launch でマップ作成ができそうです。
PCへの負荷は、
Gazebo turtlebot3 waffle Depth Camera Slam and real time Mapping. に比べて少ないだろうか?
だとしたら、こちらも選択肢としては、あると思うのだが!!

Gazebo turtlebot3 waffle Depth Camera Slam and real time Mapping です。

Gazebo turtlebot3 burger Depth Camera plugin で、 Depth カメラ プラグインが使えるようになったので、
Slam and Mapping ができないかグーグルで検索していたら、
http://wiki.ros.org/rtabmap_ros が在ったので、試してみました。

それに続いて、出来上がったMap を使って、
Depth Camera (Rgb-d Camera) による、Navigation にもチャレンジしてみました!!

開発環境
OS: Ubuntu Mate 18.04
ROS: melodic
開発ツール: Visual Studio Code
Gazebo/Turtlebot3 waffle
注) waffle には、最初から Depth Camera プラグインが、入っていました。

上記 wiki ページを読みながらパッケージ導入、起動へと進みます。

Gazebo turtlebot3 burger Depth Camera Program

Gazebo turtlebot3 burger Depth Camera Program です。

Gazebo turtlebot3 burger Depth Camera plugin で、Depth Camera (rgbd camera) が使えるようになったので、
サンプルプログラムを作ってみます。

開発環境
OS: Ubuntu Mate 18.04
ROS: melodic
開発ツール: Visual Studio Code

1. 概要
rgbd データは、 /camera/depth/points に出てきます。
$ rostopic type /camera/depth/points
sensor_msgs/PointCloud2

さて、sensor_msgs/PointCloud2 とは、何じゃろかいから始めないといけません。
グーグルでググると、
ROSのsensor_msgs:PointCloud2データの構造と扱い方 があって、参考にさせてもらいました。ふむふむ。

Gazebo turtlebot3 burger another House world

Gazebo turtlebot3 burger another House world!

Gazebo Turtlebot3 バーガーで、別の家のワールドを使ってみます。

使うのは、下記の、nav_lecture/worlds/test1.world です。
https://qiita.com/srs/items/b07a22425548c41bfd04

https://github.com/project-srs/ros_lecture
nav_lecture を、~/catkin_ws/src の配置して
$ cd ~/ctakin_ws
$ catkin_make
で使えると思います。

Gazebo turtlebot3 burger Depth Camera plugin

Gazebo turtlebot3 burger Depth Camera plugin

Gazebo シュミレータの Turtlebot3 バーガーに、Depthカメラ のプラグインを導入します。
参考にしたのは、下記ページです。
http://gazebosim.org/tutorials?tut=ros_gzplugins の Depth Camera / Openni Kinect
http://gazebosim.org/tutorials/?tut=ros_depth_camera

開発環境
OS: Ubuntu Mate 18.04
ROS: melodic
開発ツール: Visual Studio Code

ファイルの設置場所、ファイル名称は、Gazebo turtlebot3 burger stereo camera plugin を参照してください。

Gazebo turtlebot3 burger stereo camera plugin

Gazebo Turtlebot3 Burger stereo camera plugin

Gazebo シュミレータの Turtlebot3 バーガーに、モノカメラ、マルチカメラ(ステレオカメラ)のプラグインを導入します。

参考にしたのは、下記ページです。
プラグインをマクロで記述するのは、下記ページが参考になります。
ROS講座67 車輪ロボットを作る7(カメラのシミュレーション)

開発環境
OS: Ubuntu Mate 18.04
ROS: melodic
開発ツール: Visual Studio Code

ubuntu mate 18.04 ros melodic で orb_slam_2_ros を試してみました。#2
です。

前回は、モノカメラで試してみて、あまり認識が良くないのかったので、
今回は、Gazebo/Turtlebot3 Burger にマルチカメラをつけて試してみました。

Burger にマルチカメラをつける作業は、改めて掲載します。
Gazebo turtlebot3 burger stereo camera plugin

Burger にマルチカメラをつける作業が終わったことを前提に書きます。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちTurtlebot3カテゴリに属しているものが含まれています。

前のカテゴリはAuto Mappingです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

サイトナビ