clober_navigation 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
Clober Navigation
Clober may move & rotate for navigation. Make sure you are operating in a safe environment
Navigation is to move a robot from one location to a specified destination of the given environemnt. For the purpose, a map containing the geometrical information of the robots surroundings is required.
SLAM of the environment allow you to acquire a map
1. Run Navigation Nodes
1.1 Bringup Robot
- Run a
Bringup
for the Clober.
roslaunch clober_bringup base.launch
- This can be substituted by running a simulation node
roslaunch clober_simulation logo_world.launch
1.2 Launch Navigation
roslaunch clober_navigation navigation.launch
2. 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.
3. 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.
4. Tuning Guide
You can get more information about Navigation tuning from Basic Navigation Tuning Guide, ROS Navigation Tuning Guide by Kaiyu Zheng, Dynamic Window Approach local planner wiki.
4.1 footprint
-
Defined in clober_navigation/config/costmap_common.yaml
This parameter describes the footprint of the robot used for navigation. Composed of four [x,y] coordinates representing the four corners of the base of the robot
default:
footprint: [[-0.202, -0.202], [-0.202, 0.202], [0.202, 0.202], [0.202, -0.202]]
4.2 inflation_radius
-
Defined in clober_navigation/config/global_costmap.yaml & clober_navigation/config/local_costmap.yaml
This parameter makes inflation area from the obstacle. Path would be planned in order that it don’t across this area. It is safe that to set this to be bigger than robot radius. For more information, please refer to the costmap_2d wiki.
default:
global_costmap.yaml:
inflation_radius: 0.3
local_costmap.yaml:
inflation_radius: 0.15
4.3 cost_scaling_factor
-
Defined in clober_navigation/config/global_costmap.yaml & clober_navigation/config/local_costmap.yaml
This factor is multiplied by cost value. Because it is an reciprocal propotion, this parameter is increased, the cost is decreased.
The best path is for the robot to pass through a center of between obstacles. Set this factor to be smaller in order to far from obstacles. For more information, please refer to the costmap_2d wiki
default:
global_costmap.yaml:
inflation_radius: 3.0
local_costmap.yaml:
inflation_radius: 1.5
4.4 base_global_planner
-
Defined in clober_navigation/config/move_base.yaml
This parameter allows you to select which global planner to use as a plugin for path planning
default:
base_global_planner: navfn/NavfnROS
4.5 base_local_planner
-
Defined in clober_navigation/config/move_base.yaml
This parameter allows you to select which local planner to use as a plugin for path planning
default:
base_local_planer: dwa_local_planner/DWAPlannerROS
4.6 max_vel_x
-
Defined in clober_navigation/config/dwa_local_planner.yaml
This factor is set the maximum value of translational velocity.
default:
max_vel_x: 0.26
4.7 max_vel_x_backwards
-
Defined in clober_navigation/config/dwa_local_planner.yaml
Maximum absolute translational velocity of the robot while driving backwards in meters/sec.
See optimization parameter weight_kinematics_forward_drive
default:
max_vel_x_backwards: -0.26
4.8 acc_lim_x
-
Defined in clober_navigation/config/dwa_local_planner.yaml
Maximum translational acceleration of the robot in meters/sec^2
default:
acc_lim_x: 2.5
4.9 acc_lim_theta
-
Defined in clober_navigation/config/dwa_local_planner.yaml
Maximum angular acceleration of the robot in radians/sec^2
default:
acc_lim_theta: 3.2
4.10 xy_goal_tolerance
-
Defined in clober_navigation/config/dwa_local_planner.yaml
Allowed final euclidean distance to the goal position in meters
default:
xy_goal_tolerance: 0.05
4.11 yaw_goal_tolerance
-
Defined in clober_navigation/config/dwa_local_planner.yaml
Allowed final orientation error in radians
default:
yaw_goal_tolerance: 0.17
Changelog for package clober_navigation
1.0.4 (2021-09-03)
- add nav param
- test nav
- edit serial odom period
- odom mode 0 check
- Contributors: dev
1.0.3 (2021-08-11)
1.0.2 (2021-08-11)
- add suntech map & nav configuration
- Merge branch 'noetic-devel' of https://github.com/CLOBOT-Co-Ltd/clober into noetic-devel
- modify simulation packages for using rmf
- 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 |
---|---|
roslint | |
catkin | |
amcl | |
move_base | |
costmap_2d | |
costmap_converter | |
base_local_planner | |
teb_local_planner | |
map_server |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
clober |
Launch files
- launch/amcl.launch
-
- scan_topic [default: scan]
- map_topic [default: map]
- global_frame [default: map]
- odom_frame [default: odom]
- base_frame [default: base_link]
- initial_pose_x [default: 0.0]
- initial_pose_y [default: 0.0]
- initial_pose_z [default: 0.0]
- initial_pose_a [default: 0.0]
- launch/navigation.launch
-
- map_file [default: $(find clober_navigation)/maps/map.yaml]
- open_rviz [default: true]
- launch/move_base.launch