Final Assignment
1.0
Research Track part 1 - Assignment 2 - RobEng A.A. 2020/2021
|
Background process: ask for a target, then reach it using move_base More...
Go to the source code of this file.
Namespaces | |
reach_random_pos_service | |
Functions | |
def | reach_random_pos_service.update_current_position () |
Update the informations about the position from check_position service. More... | |
def | reach_random_pos_service.clear_status () |
clear the status of the node. More... | |
def | reach_random_pos_service.new_target_to_move_base () |
ask a new randomly-choosen target to the server points_manager, then send to MoveBase the target to reach . More... | |
def | reach_random_pos_service.srv_reach_random_pos_switch (data) |
Turn on and off the service. More... | |
def | reach_random_pos_service.srv_reach_random_pos_status (data) |
return the status of the service. More... | |
def | reach_random_pos_service.main () |
The algorithm of the node. More... | |
def | reach_random_pos_service.cbk_on_shutdown () |
This is called on the shutdown of the node. More... | |
Variables | |
string | reach_random_pos_service.node_name = "reach_random_pos_service" |
name of this node More... | |
string | reach_random_pos_service.name_reach_random_pos_status = "/reach_random_pos_status" |
name of the service 'reach_random_pos_status' More... | |
string | reach_random_pos_service.name_reach_random_pos_switch = "/reach_random_pos_switch" |
name of the service 'reach_random_pos_switch' More... | |
string | reach_random_pos_service.name_check_position = "/check_position" |
name of the service 'check_position' More... | |
string | reach_random_pos_service.name_get_point = "/get_point" |
name of the service 'get_point' More... | |
string | reach_random_pos_service.name_move_base = "/move_base/goal" |
name of the topic 'move_base/goal' (Publisher) More... | |
reach_random_pos_service.topic_move_base = None | |
handler topic 'move_base/goal' (Publisher) More... | |
bool | reach_random_pos_service.service_active = False |
status of the node (bool; default: False) More... | |
bool | reach_random_pos_service.is_moving = False |
the robot is moving (bool; default: False) More... | |
bool | reach_random_pos_service.signal_last_pos = False |
last pos signal received (bool; default: False) More... | |
reach_random_pos_service.actual_position = Point( ) | |
actual position of the robot (geometry_msgs/Point) More... | |
reach_random_pos_service.target_position = None | |
the target position (geometry_msgs/Point; default: None) More... | |
reach_random_pos_service.last_response_check_pos = check_positionResponse( ) | |
response from the service 'check_position' (final_assignment/check_position) More... | |
float | reach_random_pos_service.min_distance_from_the_target = 0.5 |
tolerance on the distance from the target More... | |
reach_random_pos_service.cycle_time = rospy.Duration( 0, 500 ) | |
time between two cycles More... | |
reach_random_pos_service.srv_check_position = None | |
call-point of the service 'check_position' More... | |
reach_random_pos_service.srv_get_point = None | |
call-point of the service 'get_point' More... | |
Background process: ask for a target, then reach it using move_base
This ROS node implements the move_base version of the functionality [no.1] reach_random_pos_service, executed in background.
The interface is made up of 2 services:
When the node is active, it ciclically asks for a target to /get_point service, then sends to move_base the goal and reached is. move_base is not interruptable in this implementation, so when the stop command is raised, the command is marked as in progress until the robot has reached the last set target.
This node is implemented as a parallel process: services are always non-blocking, so the caller process can do other things while the robot is moving.
See also:
Definition in file reach_random_pos_service.py.