-
 
No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.4
License Apache License 2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/CLOBOT-Co-Ltd/clober.git
VCS Type git
VCS Version noetic-devel
Last Updated 2021-10-06
Dev Status DEVELOPED
CI status Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The clober_simulation package

Additional Links

No additional links.

Maintainers

  • clobot-git

Authors

No additional authors.

Install development tools

Install development tools for a smooth installation.

sudo apt install curl git

Clober Simulations

This Gazebo Simulation utilizes the ROS Gazebo package, Gazebo version 11 for ROS1 noetic has to be properly installed before running this instruction, such that we recommend you installing the full version of ROS noetic.

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update
sudo apt install ros-noetic-desktop-full
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

1. Installation

1.1 Install Required ROS 1 Packages

Install the needed packages used in the simulation environment.

  sudo apt-get install ros-noetic-teleop-twist-keyboard \
    ros-noetic-gmapping \
    ros-noetic-urdf \
    ros-noetic-xacro \
    ros-noetic-map-server \
    ros-noetic-amcl \
    ros-noetic-navigation \
    ros-noetic-move-base \
    ros-noetic-dwa-local-planner
  

1.2 Install Clober Packages

The Clober Simulation Package requires clober & clober_msgs packages. Without the package the simulation cannot be launched.

  mkdir -p ~/catkin_ws/src
  cd ~/catkin_ws/src/
  git clone -b noetic-devel https://github.com/clobot-git/clober.git
  git clone -b noetic-devel https://github.com/clobot-git/clober_msgs.git
  cd ~/catkin_ws && catkin_make
  source ~/catkin_ws/devel/setup.bash
  

2. Launch Simulation World

Several Simulation environments are prepared, made accessible by each launch file.

2.1 Empty World

  roslaunch clober_simulation empty_world.launch
  

2.2 Clobot Logo World

  roslaunch clober_simulation logo_world.launch
  

2.3 Warehouse World

  roslaunch clober_simulation warehouse_env_world.launch
  

2.4 Grid World

3x3 grid world

  roslaunch clober_simulation 3x3_world.launch
  

4x4 grid world

  roslaunch clober_simulation 4x4_world.launch
  

5x5 grid world

  roslaunch clober_simulation 5x5_world.launch
  

10x10 grid world

  roslaunch clober_simulation 10x10_world.launch
  

3. Operate Clober

To teleoperate the simulated Clober with the keyboard, launch the teleoperation node in a new terminal window.

  rosrun teleop_twist_keyboard teleop_twist_keyboard.py
  

4. SLAM Simulation

For SLAM in Gazebo simulator, you can select or create various virtual environemnts and robot models. SLAM simulation works pretty similar to that of the real world under ordinary circumstances.

For fine tuning of the SLAM package please review the SLAM package README.md

4.1 Launch Simulation World

Out of the worlds prepared, we recommend using the Clobot Logo World.

  roslaunch clober_simulation logo_world.launch
  

4.2 Launch SLAM Node

On a new terminal run a SLAM node. Gmapping SLAM is used by default.

  roslaunch clober_slam clober_slam.launch slam_methods:=gmapping
  

4.3 Run Teleoperation Node

On a new terminal run a teleoperation node to explore and map the Gazebo world.

  rosrun teleop_twist_keyboard teleop_twist_keyboard.py
  

4.4 Save Map

After successful SLAM and map creation, open a new terminal to save the map.

  rosrun map_server map_saver -f ~/map
  

If you’ve saved your map successfully it should look like the following.

5. Navigation Simulation

For Navigation in Gazebo simulator navigation works pretty similar under low velocity circumstances.

For fine tuning of the Navigation package please review the Navgiation package README.md

5.1 Launch Simulation World

We recommend using the Clobot Logo World for Navigation simulation

  roslaunch clober_simulation logo_world.launch
  

5.2 Run Navigation

On a new terminal run a Navgitaion node.

  roslaunch clober_navigation navigation.launch
  

5.3 Estimate Initial Pose

Initial Pose Estimation can be performed before Navigation to intialize AMCL parameters which are critical to Navigation quality.

  1. Click 2D Pose Estimate Button on the RVIZ menu

  2. Click on the map where clober is located and drag the green arrow toward the dirction the robot is facing.

  3. Repeat step 1 and 2 to increase data precision.

  4. Launch keyboard teleoperation to further increase precision.

    rosrun teleop_twist_keyboard teleop_twist_keyboard.py
    
  1. Move the robot back and forth in order to narrow down the estimated location.

  2. Terminate the keyboard teleoperation(Ctrl+C) for the next navigation step.

5.4 Publish 2D Navigation Goal

  • On the RVIZ menu click 2D Nav Goal

  • Click on the destination and drag the green arrow toward the dirction of the robot on the map.

CHANGELOG

Changelog for package clober_simulation

1.0.4 (2021-09-03)

  • update urdf files
  • add suntech gazebo world
  • edit map
  • odom mode 0 check
  • Contributors: ClobotLucy, clobot-git, dev

1.0.1 (2021-07-12)

1.0.0 (2021-07-12)

  • Initial Clober package

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Name Deps
clober

Launch files

  • launch/logo_world.launch
      • model [default: clober]
      • clober_0 [default: clober_0]
      • clober_0_x_pos [default: 0.0]
      • clober_0_y_pos [default: 0.0]
      • clober_0_z_pos [default: 0.0]
      • clober_0_yaw [default: 0.0]
  • launch/multi_logo_world.launch
      • model [default: clober]
      • clober_0 [default: clober_0]
      • clober_1 [default: clober_1]
      • clober_0_x_pos [default: -1.0]
      • clober_0_y_pos [default: 1.0]
      • clober_0_z_pos [default: 0.0]
      • clober_0_yaw [default: -1.5708]
      • clober_1_x_pos [default: 1.0]
      • clober_1_y_pos [default: -1.0]
      • clober_1_z_pos [default: 0.0]
      • clober_1_yaw [default: -1.5708]
  • launch/3x3_world.launch
      • model [default: clober]
      • x_pos [default: 0.0]
      • y_pos [default: 0.0]
      • z_pos [default: 0.0]
  • launch/5x5_world.launch
      • model [default: clober]
      • x_pos [default: -4.0]
      • y_pos [default: 4.0]
      • z_pos [default: 0.0]
  • launch/10x10_world.launch
      • model [default: clober]
      • x_pos [default: -9.0]
      • y_pos [default: -9.0]
      • z_pos [default: 0.0]
  • launch/warehouse_env_world.launch
      • model [default: clober]
      • x_pos [default: 0.0]
      • y_pos [default: 0.0]
      • z_pos [default: 0.0]
  • launch/empty_world.launch
      • model [default: clober]
      • x_pos [default: 0.0]
      • y_pos [default: 0.0]
      • z_pos [default: 0.0]
  • launch/4x4_world.launch
      • model [default: clober]
      • x_pos [default: -3.0]
      • y_pos [default: 3.0]
      • z_pos [default: 0.0]
  • launch/rmf/rmf_suntech_office.launch
      • model [default: clober]
      • clober_0 [default: clober_0]
      • clober_1 [default: clober_1]
      • clober_2 [default: clober_2]
      • clober_0_x_pos [default: -0.20640]
      • clober_0_y_pos [default: -3.134880]
      • clober_0_z_pos [default: 0.0]
      • clober_0_yaw [default: 0.0]
      • clober_1_x_pos [default: 10.43]
      • clober_1_y_pos [default: 1.56]
      • clober_1_z_pos [default: 0.0]
      • clober_1_yaw [default: 0.0]
      • clober_2_x_pos [default: 7.35548]
      • clober_2_y_pos [default: 11.05311]
      • clober_2_z_pos [default: 0.0]
      • clober_2_yaw [default: 0.0]
  • launch/rmf/rmf_3x3_world.launch
      • model [default: clober]
      • clober_0 [default: clober_0]
      • clober_0_x_pos [default: 2.8]
      • clober_0_y_pos [default: -2.0]
      • clober_0_z_pos [default: 0.0]
      • clober_0_yaw [default: 0.0]
  • launch/rmf/rmf_suntech_5x5.launch
      • model [default: clober]
      • clober_0 [default: clober_0]
      • clober_1 [default: clober_1]
      • clober_2 [default: clober_2]
      • clober_0_x_pos [default: 1.8777]
      • clober_0_y_pos [default: 0.3801]
      • clober_0_z_pos [default: 0.0]
      • clober_0_yaw [default: 0.0]
      • clober_1_x_pos [default: 5.8564]
      • clober_1_y_pos [default: 0.41104]
      • clober_1_z_pos [default: 0.0]
      • clober_1_yaw [default: 0.0]
      • clober_2_x_pos [default: 7.35548]
      • clober_2_y_pos [default: 11.05311]
      • clober_2_z_pos [default: 0.0]
      • clober_2_yaw [default: 0.0]
  • launch/rmf/rmf_multi_3x3_world.launch
      • model [default: clober]
      • clober_0 [default: clober_0]
      • clober_1 [default: clober_1]
      • clober_0_x_pos [default: 2.8]
      • clober_0_y_pos [default: -2.0]
      • clober_0_z_pos [default: 0.0]
      • clober_0_yaw [default: 0.0]
      • clober_1_x_pos [default: 7.0]
      • clober_1_y_pos [default: -6.0]
      • clober_1_z_pos [default: 0.0]
      • clober_1_yaw [default: 0.0]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged clober_simulation at Robotics Stack Exchange

No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.