Combined path and motion planner for workspace restricted mobile manipulators in planetary exploration
Author: Gonzalo Jesús Paz Delgado, gonzalopd96@uma.es
Co-author: J. Ricardo Sánchez Ibáñez, jricardosanchezibanez@gmail.com
Supervisor: Carlos J. Pérez del Pulgar, carlosperez@uma.es
Organization: Space Robotics Lab, University of Malaga
Coupled path and motion planner for Mobile Manipulation (MM), focused on rovers with a restricted arm workspace.
- First, a Fast Marching Method (FMM) based path planner generates a safe trajectory to reach the goal vicinity, avoiding obstacles and non-traversable areas in the scenario. The path planner is able to control the final rover orientation to ensure that the goal is finally reachable by the arm.
- Second, a FMM 3D based motion planner generates the arm joints motion profile, by creating a 3D tunnel-like cost volume surrounding the already computed rover base trajectory. This tunnel makes use of an offline-computed safe workspace of the manipulator, thus ensuring that no self-collision will occur during the planned motion.
Check the Simulation and field tests video.
In order to get this repository together with its submodules, use the following command (Source):
git clone --recursive ADE-Mobile_Manipulation
Then, to install the component and the required packages:
cd ~/ADE-Mobile_Manipulation
chmod u+x install.sh
sudo ./install.sh
There are several unit tests that can be used as examples. To run them:
./runUnitTests
Then, the results will be saved in:
test/unit/data/results
The input for the unit tests (rover and goal poses, maps...) can be modified in:
test/unit/data/input
The unit test results can be viewed using the provided python3 utils. For example, to represent the evolution of the arm during the motion plan:
cd utils/unitTestsViewers/
python3 armFullPlanViewer.py <approach>
Or to represent the base motion plan:
python3 baseMotionPlanViewer.py <approach>
Where <approach> is:
0for end deployment within the coupled approach1for progressive deployment within the coupled approach2for beginning deployment within the coupled approach3for decoupled solution
-
OpenCV 3.2.0
-
python3-pip
-
mayavi
-
PyQt5
-
python3-matplotlib
| Directory | Description |
|---|---|
| data/ | Data required as input by the planner |
| deps/ | External dependencies |
| ├── ESA-Trajectory_Control/ | (Git submodule) Libraries for path tracking |
| ├── UMA-PathAndMotion_Planning/ | Libraries for planning rover and arm paths |
| doc/ | Documentation |
| spike/ | Individual portions of code to try new things |
| src/ | Source files |
| ├── MobileManipMotionPlanner.h | Main Interface Class |
| ├── MobileManipMap.h | Class to handle Map Information |
| ├── MotionPlan.h | The Plan to move both arm and rover |
| ├── MobileManipExecutor.h | Class to provide commands during execution |
| ├── mmFileManagerLib/ | Library to read external files |
| ├── mmFileManager.h | Functions to read from external text files |
| ├── types/ | All types used by the component |
| ├── MMError.h | MM Error Codes |
| ├── MMStatus.h | MM Status Codes |
| ├── RoverGuidance_Dem.h | DEM type used by Rover Guidance |
| ├── base/ | Types using base namespace |
| ├── proxy_library/ | Types using proxy_library namespace |
| test/ | Test files |
| UML/ | UML Project files |
| utils/ | Utilities |
| ├── armCollisionsViewer/ | Check and view if the arm collides for a given config |
| ├── armReachabilityComputer/ | Compute and represent the arm reachability volume |
| ├── armSingleSweepingComputer/ | Example computation of a simple sweeping movement for the end effector |
| ├── logsHandler/ | Logs extraction and different pythonr utils for representation |
| ├── motionPlannerAnalyzer/ | Process unit tests log data to obtain results about performance |
| ├── unitTestsViewers/ | Python scripts to represent the results of the unit tests |
If this work was helpful for your research, please consider citing the following BibTeX entry:
@ARTICLE{author={Paz-Delgado, G.J. and Sánchez-Ibáñez, J.R. and Domínguez, R. and Pérez-Del-Pulgar, C.J. and Kirchner, F. and García-Cerezo, A.}, journal={IEEE Access}, title={Combined path and motion planning for workspace restricted mobile manipulators in planetary exploration}, year={2023}, pages={1-1}, doi={10.1109/ACCESS.2023.3298980}}
