-
 
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

This package includes launch files for navigation

Additional Links

No additional links.

Maintainers

  • clobot-git

Authors

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

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

  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.

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

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

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

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged clober_navigation 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.