Wiki

Only released in EOL distros:  

Package Summary

If your robot loses connection to the base station it will stop motors or navigate home.

Overview

If your robot loses connection to the base station it will navigate to a configurable home. The base station connection check uses ping to a configurable list of IPs.

Quick Start

1. Install:

$ sudo apt-get install ros-kinetic-lost-comms-recovery

2. Launch:

$ roslaunch lost_comms_recovery lost_comms_recovery.launch ips_to_monitor:=192.168.1.2

Details

This node is not real-time safe. The monitoring loop waits 3 seconds between checks.

If move_base is running

If move_base is running, an autonomous recovery navigation will take place. The default position of the recovery goal is the origin (0,0) of the frame given it the goal_frame_id param and the orientation is all 0s by default. This default pose can be overridden if a messaged is published on the recovery_pose topic. If move_base is already navigating to a goal it will not be interrupted and recovery navigation will happen when move_base is idle.

If move_base is not running

If move_base is not running when communication failure occurs then motors and joysticks are set to zero by publishing a zero geometry_msgs/Twist message and a zero sensor_msgs/Joy message.

Important: Instead of relying on this this feature, you're better off with motor control software that sets zero velocity after a certain amount of time not receiving any new commands.

Nodes

lost_comms_recovery

Actions Called

move_base (move_base_msgs/MoveBaseAction)

Subscribed Topics

recovery_pose (geometry_msgs/PoseWithCovarianceStamped)

Published Topics

cmd_vel (geometry_msgs/Twist) joy (sensor_msgs/Joy)

Parameters

~goal_frame_id (string, default: map) ~ping_fail_count (int, default: 2) ~ips_to_monitor (string, default: 192.168.1.2,192.168.1.3)

Use Case

Use in the University Rover Competition (URC)

This functionality is helpful for the autonomous task of the University Rover Competition (URC) and we hope this helps you.

Normal Output

$ roslaunch lost_comms_recovery lost_comms_recovery.launch ips_to_monitor:=192.168.190.136

[INFO] Monitoring base station on IP(s): 192.168.190.136.
[INFO] Connected to base station.
[INFO] Connected to base station.
...
[ERROR] No connection to base station.
[INFO] Executing move_base goal to position (x,y) 0.0, 0.0.
[INFO] Initial goal status: PENDING
[INFO] This goal has been accepted by the simple action server
[INFO] Final goal status: SUCCEEDED
[INFO] Goal reached.

Wiki: lost_comms_recovery (last edited 2017-08-26 16:20:10 by Daniel Snider)