Package Summary

Tags No category tags.
Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

clober gazebo simulation package

Additional Links

No additional links.

Maintainers

  • nuc

Authors

No additional authors.

Clober Simulation

1. Installation

1.1 Install ROS 2.0 (Foxy)

https://docs.ros.org/en/foxy/Installation.html

1.2 Install development tool

sudo apt update && sudo apt install -y \
  build-essential \
  cmake \
  git \
  libbullet-dev \
  python3-colcon-common-extensions \
  python3-flake8 \
  python3-pip \
  python3-pytest-cov \
  python3-rosdep \
  python3-setuptools \
  python3-vcstool \
  openssh-server \
  wget

1.3 Install Gazebo (gazebo 11)

http://gazebosim.org/tutorials?tut=ros2_installing&cat=connect_ros

1.4 Install xacro packages

sudo apt-get install ros-foxy-xacro

1.5 Install Clober Packages

$ mkdir -p ~/clober_ws/src
cd ~/clober_ws/
wget https://raw.githubusercontent.com/clobot-git/clober/foxy-devel/clober.repos
vcs import src < clober.repos

1.6 Install other dependencies

cd ~/clober_ws/
source /opt/ros/foxy/setup.bash
rosdep update
rosdep install --from-paths src --ignore-src -r -y --rosdistro foxy

1.7 Colcon build the packages

cd ~/clober_ws/
source /opt/ros/foxy/setup.bash
colcon build --symlink-install
source ~/clober_ws/install/setup.bash

2. Launch Simulation World

export GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}:~/clober_ws/src/clober/clober_simulation/models

ros2 launch clober_simulation clober_world.launch.py

3. Operate Clober

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

  ros2 run teleop_twist_keyboard teleop_twist_keyboard

CHANGELOG

Changelog for clober_simulation pacakage ^^^^^^^^^^^^^^^^^^^^^^^

0.1.0 (2021-06-18)

  • add initial clober_simulation pacakage

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged clober_simulation at answers.ros.org

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 No 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

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

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

  3. 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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

  • 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/5x5_world.launch
      • model [default: clober]
      • x_pos [default: -4.0]
      • y_pos [default: 4.0]
      • z_pos [default: 0.0]
  • launch/3x3_world.launch
      • model [default: clober]
      • x_pos [default: 0.0]
      • y_pos [default: 0.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/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/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]
  • launch/4x4_world.launch
      • model [default: clober]
      • x_pos [default: -3.0]
      • y_pos [default: 3.0]
      • z_pos [default: 0.0]
  • 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]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged clober_simulation at answers.ros.org