Localization
For the purpose of this project GPS and established visual odometry techniques will be used for general localization relative to the world frame. These will be used for executing generated paths. The challenge this project faces is accurately estimating the relative pose of the two rovers. Au- tonomous photography, rendezvous, and docking depend on accurate relative pose estimation.
The relative pose will be most crucial when the two rovers initiate the docking sequence. The docking mechanisms will need to be aligned to less than one centimeter of each other. This project will iterate and improve existing sensing modalities for measuring relative pose. Specific attention will be paid to sensing modalities which work effectively with limited computational cost. See Figure 5 for the full list of sensing modalities considered.
Path Planning
The Path Planning module generates plans in response to three scenarios; when a user enters new rover destinations, when a rover detects that it is entrapped, and when the stuck rover is extricated. The first plan is generated when neither rover is stuck. Each is given a waypoint or series of waypoints and each begins navigating to its respective destination. In this case the planner is given the current state of the rover, a preliminary map of the environment, and the goal states of both rovers.
The second planning scenario occurs once one of the rovers detects that it is entrapped and signals for assistance. In this case, the current state of the assisting rover, current state of the stuck rover and the updated map of the environment is provided to the planner for planning a path for the assisting rover to navigate to region around the stuck rover in a 3D space (x, y, theta). Once it is within a certain proximity of the entrapped rover, the planner shall plan assisting rover’s next sequence of motions so that the towing mechanism of the assisting rover aligns with the docking mechanism of the stuck rover which requires planning in essentially (yet to decide on the which variables we are considering for planning).
The third planning scenario occurs when the stuck rover becomes extricated. At this point the rovers disconnect. The planner must then reroute the rovers to their original user-defined destina- tions, routing to avoid the newly discovered obstacle.
In general, path planning employs two broad category of approaches namely, sampling based approach and heuristic based approach. Sampling based approaches are usually employed in a high degrees of freedom (DOF) planning problems where high DOF results in huge configuration space as opposed to search heuristic based approach which is employed for comparatively low DOF problems where the configuration space is traversed for the optimal/sub-optimal path in a systematic manner as guided by the heuristic. Sampling based planning although performs well in terms of planning times, but due to their inherent random nature, do not produce optimal plans for a given planning problem. On the other hand, search based planners generate optimal/sub-optimal plans for any given planning problem provided an admissible informative heuristic.
For this project, we believe adopting a heuristic based approach with lattice based planning is appropriate for the planning problems described previously. Since the rovers utilize Acker- mann steering, the planning problem boils down to a non-holonomic planning problem. The choice of core planners that we are considering for the framework of the Path planning module include weighted A-Star and ARA-Star algorithms to start off with. Depending on the performance of these planners for our project, we shall consider other planners within the family of search based plan- ners. With regards to the implementation of the path planning module, we shall integrate Search Based Planning Library in our framework and build the planning framework environment around it.
Docking and Detaching
All rovers are equipped with a complete and identical set of docking system, a winch with a hook and a bar to be hooked. The winch is installed at the anterior part of a rover, where a hook is attached to the head of the winch rope. The hook is guided by a ball joint/prismatic joint, so that it can adjust its position and orientation in a certain ambient space. Moreover, the hook shall not have a exceeding curve, because it should have the property that allows it to easily and tightly grasp the bar and easily release from the bar. As for the bar, which is installed at the posterior part of a rover, it is well engineered so that it can be easily grasped and released by the hook.
During the rescue procedure, the rescuer rover approaches the stuck rover and adjusts the po- sition and orientation of the grasp so that it is over and aligned with the bar. After the pose is confirmed, the linear actuator for the hook slides the hook down to catch the bar. When attachment is detected by the sensors the motion stops and docking is complete.
After the stuck rover is rescued, the hook of the rescuer rover is still grasping the bar of rescued rover. To release the hook from the bar, the rescuer rover simultaneously approaches the rescued rover and reels in the line until they are close enough that the rescuer rover can reattach with the hook to the ball/prismatic joint. Then the joint moves the hook upwards to release it from the bar. After the hook and the bar are completely detached, the rescuer rover move backwards to separate from the rescued rover until their distance is greater than 2 meters, which is considered a safe distance. Then the detaching phase is over, and the two rovers continue on their original missions.
Towing
The towing mechanism takes place between the docking and detaching phases. After the two rovers are attached, the hook is released from the ball/prismatic joint and the rescuer rover starts to move backwards to seek for a safe terrain to proceed towing. The terrain shall introduce sufficient friction so that during the towing process, the rescuer rover does not slip. Moreover, since the rescuer rover attaches to the stuck rover with a rope, so there shall not be any obstacle blocking between them
Then the rescuer locks the winch and starts to tow the stuck rover out of the stuck point. By determining the completeness of the towing, an end of job signal is communicated to the movement subsystem.
Movement
The movement subsystem controls the Ackerman steering and velocity of the rover on the basis of the updated path plan and also the state of the robot. Further, a standard PID based position controller is used to attain and maintain the rover’s pose based the current pose of the rover and the list of points that determine the planned path. The speed of the rover is also controlled based on the state of the robot { surveying, rescuing, capture 2nd person perspective images}. The max. speed and other related variables for operation are tuned and set post subsystem unit testing and integrated system tests.
Photography
One rover will be equipped with a pan, tilt, and zoom capable camera. It will use the localization data of both rovers to autonomously photograph its companion. These photos will then be relayed to the user. If no action is taken by the user the free rover will then route and initiate dock with the companion.