Page tree
Skip to end of metadata
Go to start of metadata

Summary

Currently this package is used for docking an omnidirectional robot with visual feedback to a charging station.

This package is modular and can be extended for other docking applications as well. Example: Docking with a supply cart for industrial purpose.

User will demand the robot to dock to a desired station.

Location: https://github.com/neobotix/neo_docking


Installation


For the purpose of docking, we use the Ar tags [1] provided by the ar_track_alvar ROS package.

  1.  For the vision data, we need a depth camera. For this particular application, we developed the entire package using the Realsense D435i [2]. Please follow the installation steps for the Realsense camera in [2] or the camera which you have decided to use.

  2. Clone the ar_track_alvar ROS package (branch: kinetic-devel, it also works for Melodic)

    cd to_your_workspace/src/
    git clone https://github.com/neobotix/ar_track_alvar
  3. In your workspace, clone the neo_docking package

    cd to_your_workspace/src/
    git clone https://github.com/neobotix/neo_docking
    cd ..
    catkin_make


Services


  • /auto_docking - Call it for docking the robot

  • /auto_undocking - Call it for un-docking the robot


Parameters


There are a set of parameters that could be configured for the docking service in folder configs:

  1. ar_track_alvar_single.yaml

    ParameterDefault ValueDescriptionOptions
    markers2, 8, 10A vector that defines which markers are included.Anything coded in a marker(see http://wiki.ros.org/ar_track_alvar).
  2. stations.yaml

    ParameterDefault ValueDescriptionOptions
    offsetx: 0.16, y: 0, theta: 0 (meters)It describes the geometric size of a station, and decides where exactly the connection would happen w.r.t. the camera_link of the robot.Any value of float type. Please use the company specified value for your robot.
    undocking_pose0.5 (meters)When un-docking service is called, the robot moves backwards uptil the specified distance from the Ar-tags.Any value of float type. Depending on the width of the robot, please decide your safety region.
    max_vel_limit0.035 (meters/second)Maximum velocity, when the robot is in the final stage of docking.Any value of float type. Please consult us before setting a value on the real robot.
    differential_driveTruein case if you have a differential drive robotFalse for omni-directional robot.
    functionality'Charging'A string describes the functionality of a station, in case of further movements needed....


Usage

See tutorial: Using neo_docking


  • No labels