This PR addresses the added robot mode MODE_ADAPTER_ERROR that is defined here. The fixes have tested it in simulation with instructions to recreate below. These fixes are quick and dirty, and will be reworked in a better manner during the full re-write of Free Fleet that is underway.
Added handling of MODE_ADAPTER_ERROR, in the domain of Free Fleet, it is named MODE_REQUEST_ERROR as there is no information about adapters yet
When first waypoint of a path request is too far away (distance more than max_dist_to_first_waypoint in configuration), MODE_REQUEST_ERROR will be triggered, and robot will be commanded to stay put and wait for next valid request
cleaned up client's logging, only when warnings arises, eg. first waypoint of path command too far
Test
Prepare the ROS1 and ROS2 workspaces according to instructions from the README, be sure the checkout this branch before building each workspace, and the develop branch of rmf_core for the ROS2 workspace.
Launch the multi-turtlebot3 simulation from the ROS1 workspace,
The request should be received by the client, the robot should start navigating to the first waypoint in the request, while its mode should not be 8 anymore
This PR addresses the added robot mode
MODE_ADAPTER_ERROR
that is defined here. The fixes have tested it in simulation with instructions to recreate below. These fixes are quick and dirty, and will be reworked in a better manner during the full re-write of Free Fleet that is underway.MODE_ADAPTER_ERROR
, in the domain of Free Fleet, it is namedMODE_REQUEST_ERROR
as there is no information about adapters yetmax_dist_to_first_waypoint
in configuration),MODE_REQUEST_ERROR
will be triggered, and robot will be commanded to stay put and wait for next valid requestTest
Prepare the ROS1 and ROS2 workspaces according to instructions from the README, be sure the checkout this branch before building each workspace, and the
develop
branch ofrmf_core
for the ROS2 workspace.Launch the multi-turtlebot3 simulation from the ROS1 workspace,
Launch the server from the ROS2 workspace, it should register all 3 robots in simulation as clients,
Send a path request that has its first waypoint too far from the bottom-most turtlebot3,
tb3_0
,On the ROS1 terminal, you should see a warning that the distance is too far, while the robot in simulation doesn't move.
Check the robot's mode using
ros2 topic echo /fleet_states
, the robottb3_0
's mode should now be8
, which corresponds toMODE_ADAPTER_ERROR
.Now, send a valid path request that is within reach to the same robot,
The request should be received by the client, the robot should start navigating to the first waypoint in the request, while its mode should not be
8
anymore