Package Summary
This package includes launch files for navigation
- Maintainer status: developed
- Maintainer: clobot-git <ros AT clobot.co DOT kr>
- Author:
- License: Apache License 2.0
- Source: git https://github.com/CLOBOT-Co-Ltd/clober.git (branch: noetic-devel)
Contents
ROS Software Maintainer: Clobot
Clober Navigation Package
Clober Navigation package consists of a launch file with specific parameters for the Clober research platform mobile base navigation.
Clober e-Manual
ROS API
map_server
This package is used map_serverPublished Topics
map_metadata (nav_msgs/MapMetaData)- Receive the map metadata via this latched topic.
- Receive the map via this latched topic.
Services
static_map (nav_msgs/GetMap)- Retrieve the map via this service.
Parameters
~frame_id (string, default: "map")- The frame to set in the header of the published map.
amcl
This package is used amclSubscribed Topics
scan (sensor_msgs/LaserScan)- Laser scans.
- Transforms.
- Mean and covariance with which to (re-)initialize the particle filter.
- When the use_map_topic parameter is set, AMCL subscribes to this topic to retrieve the map used for laser-based localization. New in navigation 1.4.2.
Published Topics
amcl_pose (geometry_msgs/PoseWithCovarianceStamped)- Robot's estimated pose in the map, with covariance.
- The set of pose estimates being maintained by the filter.
- Publishes the transform from odom (which can be remapped via the ~odom_frame_id parameter) to map.
Services
global_localization (std_srvs/Empty)- Initiate global localization, wherein all particles are dispersed randomly through the free space in the map.
- Service to manually perform update and publish updated particles.
- Service to manually set a new map and pose.
Services Called
static_map (nav_msgs/GetMap)- amcl calls this service to retrieve the map that is used for laser-based localization; startup blocks on getting the map from this service.
Parameters
This package provides parameters from amcl.launch.xml in clober_navigation directory.
<arg name="scan_topic" default="scan"/> # topic name for the sensor values from the distance sensor <arg name="map_topic" default="map"/> # topic name to read the map values <arg name="global_frame" default="map"/> # map as a global frame <arg name="odom_frame" default="odom"/> # odom_frame name for robot odometry <arg name="base_frame" default="base_link"/> # base_frame for robot base_link #---- execute the amcl node by referring to the parameter settings below. ----# <node pkg="amcl" type="amcl" name="amcl"> <remap from="scan" to="$(arg scan_topic)"/> # change the sensor topic name <remap from="map" to="$(arg map_topic)"/> # change the map topic name <param name="odom_frame_id" value="$(arg odom_frame)"/> # read arguement from above <param name="base_frame_id" value="$(arg base_frame)"/> # read arguement from above <param name="global_frame_id" value="$(arg global_frame)"/> # read arguement from above <param name="min_particles" value="500"/> # min number of particles allowed <param name="max_particles" value="5000"/> # max number of particles allowed <param name="kld_err" value="0.01"/> # max error between the actual distribution and the estimated distribution <param name="kld_z" value="0.99"/> # max error between the actual distribution and the estimated distribution <param name="update_min_d" value="0.1"/> # translational motion required for filter update (meter) <param name="update_min_a" value="0.25"/> # rotational motion required for filter update (radian) <param name="resample_interval" value="2"/> # resampling interval <param name="transform_tolerance" value="0.5"/> # conversion allowed time (by sec) <param name="recovery_alpha_slow" value="0.0"/> # index drop rate(slow average weight filter), deactivated if 0.0 <param name="recovery_alpha_fast" value="0.0"/> # index drop rate(fast average weight filter), deactivated if 0.0 <param name="gui_publish_rate" value="10.0"/> # max period to visually displaying scan and path info <param name="use_map_topic" value="false"/> # read from initial map topic <param name="first_map_only" value="true"/> # read from initial map topic #---------------------- distance sensor parameter --------------------------# <param name="laser_max_beams" value="30"/> # max number of laser beams used during filter update <param name="laser_z_hit" value="0.95"/> # z_hit mixed weight of sensor model <param name="laser_z_short" value="0.1"/> # z_short mixed weight of sensor model <param name="laser_z_max" value="0.05"/> # z_max mixed weight of sensor model <param name="laser_z_rand" value="0.05"/> # x_rand mixed weight of sensor model <param name="laser_sigma_hit" value="0.2"/> # standard deviation of Gaussian model using z_hit of sensor <param name="laser_lambda_short" value="0.1"/> # index drop rate parameter for z_short of sensor <param name="laser_likelihood_max_dist" value="2.0"/> # max distance and obstacle for likelihood_field method sensor <param name="laser_model_type" value="likelihood_field"/> # select likelihood_field or beam #---------------------- parameter related to odometry --------------------------# <param name="odom_model_type"value="diff"/> # robot driving methods. "diff" or "omni" can be selected <param name="odom_alpha1" value="0.1"/> # estimated rotational motion noise of the odometry during rotational motion <param name="odom_alpha2" value="0.1"/> # estimated rotational motion noise of the odometry during translation motion <param name="odom_alpha3" value="0.1"/> # estimated translation motion noise of the odometry during translation motion <param name="odom_alpha4" value="0.1"/> # estimated translation motion noise of the odometry during rotational motion #---------------------- parameter related to initial pose --------------------------# <param name="initial_pose_x" default="0.0"/> # initial x-coordinate value <param name="initial_pose_y" default="0.0"/> # initial y-coordinate value <param name="initial_pose_z" default="0.0"/> # initial z-coordinate value <param name="initial_pose_a" default="0.0"/> # initial yaw coordinate value
move_base
This package is used move_base
Action Subscribed Topics
move_base/goal (move_base_msgs/MoveBaseActionGoal)
- A goal for move_base to pursue in the world.
- A request to cancel a specific goal.
Action Published Topics
move_base/feedback (move_base_msgs/MoveBaseActionFeedback)
- Feedback contains the current position of the base in the world.
- Provides status information on the goals that are sent to the move_base action.
- Result is empty for the move_base action.
Subscribed Topics
move_base_simple/goal (geometry_msgs/PoseStamped)- Provides a non-action interface to move_base for users that don't care about tracking the execution status of their goals.
Published Topics
cmd_vel (geometry_msgs/Twist)- A stream of velocity commands meant for execution by a mobile base.
Services
~make_plan (nav_msgs/GetPlan)- Allows an external user to ask for a plan to a given pose from move_base without causing move_base to execute that plan.
- Allows an external user to tell move_base to clear unknown space in the area directly around the robot. This is useful when move_base has its costmaps stopped for a long period of time and then started again in a new location in the environment. - Available in versions from 1.1.0-groovy
- Allows an external user to tell move_base to clear obstacles in the costmaps used by move_base. This could cause a robot to hit things and should be used with caution. - New in 1.3.1
Parameters
This package provides parameters from .yaml files in clober_navigation directory.
costmap_common.yaml # The parameter of costmap configuration consists global_costmap.yaml # The parameter of the global area motion planning local_costmap.yaml # The parameter of the local area motion planning dwa_local_planner.yaml # The parameter of the speed command to the robot move_base.yaml # The parameter setting file of move_base that supervises the motion planning.