Skip to content
This repository has been archived by the owner on Oct 25, 2023. It is now read-only.

navigation_navigator

Gaëtan Blond edited this page Feb 25, 2018 · 8 revisions

Description

This program is an interface between the AI and the drivers. It takes a target position, asks the pathfinder to create a path and sends all the waypoints to the asserv. It will by warn by collision in case of obstacles appearing on the way.

Authors and versions

  • v0.0.1 (A17) @Mindstan
    • Navigator works with services
    • Current robot position got from asserv
  • v0.0.2 (A17) @Mindstan
    • Navigator works with actions
    • Navigator listens collision
    • Current robot position got from tf frames
    • Target position can be a named waypoint

Configuration

No specific configurations are required.

Communication

Servers

Server name Type Function
/navigation/navigator/goto_action Action Tries to move the robot to the target position. Has an option to disable (dynamic) collision checking, force a certain direction of the move (forward/backward) and force a certain angle on the target position.
/navigation/navigator/gotowaypoint_action Action Same as /navigation/navigator/goto_action, put takes a waypoint name instead of a position.
/navigation/navigator/status Topic Send the status of the navigator (navigating, stop, idle) and the list of waypoints currently queued in the asserv. Principal client is collision.

Clients and subscribtions

Server name Type Function
/drivers/ard_asserv/goto Service [Not used] Asks the asserv to move the robot. This service doesn't tell if it succeeds to move !
/drivers/ard_asserv/pose2d Service [Not used] Gives the current robot position returned by the arduino_asserv.
/drivers/ard_asserv/goto_action Action Asks the asserv to move the robot. Tells if the robot succeeds to move.
/drivers/ard_asserv/management Service Allows to manage the driver and the arduino.
/drivers/ard_asserv/emergency_stop Service Tells to the driver to activate or disactivate the emergency_stop.
/navigation/collision/warner Topic Tell if there is an obstacle on the current path.
/navigation/collision/set_active Service Activate or disactivate collision checking.
map:robot TF Relative position of the robot in the map.
/memory/map/fill_waypoint Service Find coordinates and angle from its name.
/navigation/pathfinder/find_path Service Tries to find a path between two position, avoiding any obstacle.

How it works