clober_simulation package from clober repoclober clober_bringup clober_description clober_navigation clober_serial clober_simulation clober_slam clober_teleop clober_tools |
|
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
Additional Links
Maintainers
- clobot-git
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.
-
Click
2D Pose Estimate
Button on the RVIZ menu -
Click on the map where clober is located and drag the green arrow toward the dirction the robot is facing.
-
Repeat step 1 and 2 to increase data precision.
-
Launch keyboard teleoperation to further increase precision.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
-
Move the robot back and forth in order to narrow down the estimated location.
-
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 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
Package Dependencies
Deps | Name |
---|---|
catkin | |
clober_description | |
roscpp | |
std_msgs | |
sensor_msgs | |
geometry_msgs | |
nav_msgs | |
tf | |
gazebo_ros |
System Dependencies
Name |
---|
gazebo |
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]