GitXplorerGitXplorer
a

megarover_samples_ros2

public
13 stars
2 forks
2 issues

Commits

List of commits on branch humble.
Verified
a4980a4c5a92398e4a5e4ede13c9fbd11c7406a8

Merge pull request #25 from atinfinity/fixed-humble

aatinfinity committed 3 months ago
Unverified
46c6322678d6ad0e787a8b458679565ec010c1f0

minor fix for Humble

aatinfinity committed 3 months ago
Verified
53df95ba34319689a1ca707e040547949d8f9010

Update vmegarover_with_empty_world.launch.py

aatinfinity committed 3 months ago
Verified
1c87cd2af2f3220be2ffd985abaa9741ba2bed80

Merge pull request #23 from atinfinity/use-cyclone-dds

aatinfinity committed 10 months ago
Unverified
d664343eec1fda105af33cf010025f52b4269e8f

updated README

aatinfinity committed 10 months ago
Verified
7231ec1679e69775de25abd73a042720102466ea

Update navigation_param.yaml

aatinfinity committed 10 months ago

README

The README file for this repository.

megarover_samples_ros2

Introduction

This is a ROS2 Package to develop package of megarover using Gazebo. I used model, mesh and world files of https://github.com/vstoneofficial/megarover_samples as a reference.

If you use ROS2 Galactic, please check galactic branch.

Requirements

  • ROS2 Humble
  • Classic Gazebo or Gazebo Fortress

And, I have tested with Eclipse Cyclone DDS as RMW implementation. If you use this RMW implementation, please install according to the following command.

$ sudo apt install ros-humble-rmw-cyclonedds-cpp
$ export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp

Build

$ mkdir -p ~/dev_ws/src
$ cd ~/dev_ws/src
$ git clone https://github.com/atinfinity/megarover_samples_ros2.git
$ cd ..
$ rosdep install -y -i --from-paths src/megarover_samples_ros2
$ colcon build --symlink-install
$ source ~/dev_ws/install/setup.bash

Mapping

Launch Gazebo

If you use headless mode, add the option gui:=false.

$ ros2 launch megarover_samples_ros2 vmegarover_with_sample_world.launch.py

NOTE (humble only):

In humble, gazebo_ros2_control can be activated. If you want to do activation with gazebo_ros2_control, add the option use_ros2_control:=true. However, at this time, gazebo_ros2_control and is still under development and unstable.

$ ros2 launch megarover_samples_ros2 vmegarover_with_sample_world.launch.py use_ros2_control:=true

In addition, with gazebo:=ignition option, it is possible to start with an Ignition Gazebo.

$ ros2 launch megarover_samples_ros2 vmegarover_with_sample_world.launch.py gazebo:=ignition use_ros2_control:=true

Launch Slam Toolbox for Mapping

$ ros2 launch megarover_samples_ros2 vmegarover_mapping.launch.py

Launch Teleop

$ ros2 run teleop_twist_keyboard teleop_twist_keyboard

Save Map

$ mkdir ~/maps
$ ros2 launch megarover_samples_ros2 vmegarover_save_map.launch.py

Navigation

Launch Gazebo

If you use headless mode, add the option gui:=false.

$ ros2 launch megarover_samples_ros2 vmegarover_with_sample_world.launch.py

Launch Navigation

$ ros2 launch megarover_samples_ros2 vmegarover_navigation.launch.py map:=$HOME/maps/vmegarover_samplemap.yaml

ToDo

  • [x] 2D Scan
  • [x] RGBD Camera
  • [x] odometry
  • [x] teleop
  • [x] slam_toolbox
  • [x] amcl
  • [x] navigation