It is a function table that receives multipoint information, then controls the time of sending the target point and serves the Move_base
- Maintainer status: maintained
- Maintainer: qiuan ren <renqiuan AT inspur DOT com>
- Author: qiuan ren <renqiuan AT inspur DOT com>
- License: BSD
- Source: git https://github.com/Inspur-ROS/multipoint_navigation_receiver.git (branch: master)
The multipoint_navigation_receiver realizes the simultaneous delivery of multiple target points of the mobile robot. It maintains two arrays with one-to-one correspondence between positions and attitudes, and obtains feedback of the navigation results through SimpleActionClient, and arrives in the order of the requested target points. Achieve a state similar to patrol.
The working principle of obstacle_server node is as follows:
- Start a separate thread to subscribe to news on the topic "/move_base/global_costmap/costmap
- Obtain global_costmap data from the subscribed data
- Start a service "obstacle_information" for feedback of obstacle information
- The possibility of obtaining obstacles from data according to the coordinates of the map passed in when requesting the service (that is, the cost of a point in the global_costmap)
The working principle of the multipoint_navigation_receiver node is as follows:
- Confirm that the obstacle_information service has been turned on
- Start a service "goals_server" to receive data from multiple targets
Store the received array and get feedback from SimpleActionClient, If you reach the current target point or if you haven't reached the target point after a period of time and have the possibility to meet obstacles on target point, then navigate to the next target point until you reach the final target point
obstacle_serverProvides possibility to meet obstacles on target point at map.
Subscribed Topicsmove_base/global_costmap/costmap (nav_msgs/OccupancyGrid)
- Provides obstacle information for the entire map.
- Allows an extemal user to ask for the possibility to meet obstacles on target point.
multipoint_navigation_receiverReceive multiple target points.
- Allows an extemal user to send multiple target points.