The main folder is getting busy and will be difficult to understand for new eyes, I suggest changing to the following structure and adding some documentation in the readme to explain what is what:
docker (launch first to ensure environment/dependencies are set up)
simulation (everything that is not part of the software architecture, world files, object models, fake_rsbb, making it separate will make porting to real cleaner)
gaan_simulation
gaan_fake_rsbb
GAAN (folder containing the skill packages, and starting launch file)
gaan-msgs (all msgs and services for GAAN)
controller (the entry point to the system, the launch file(s) to start our solution, solution specific resources like maps, other configuration, need a better name)
Check that you can launch the scenario (hello_tiago restricted_task_3.launch, then initiate once the arm is tucked with fake_rsbb restricted_task_3.launch)
Modify the nav configuration automatically at docker image creation so you don't have to edit configuration files
Add whatever is needed into start.launch in the controller so that NLP, Manipulation, face_rec, etc. are all launched
(optional, wont do) make the controller look up in order to attempt facial recognition when in the receive instruction state
use NLP services in the controller to receive the command to go to the table
(services unimplemented and will be left out) use DOPE services in the controller to get a pose estimation and grasp(?) pose
use manipulation services in the controller to pick up object and place it/hand over at the right time (stubbed out because bad things happen when it trys to grab things)
update the readme so that it talks about using docker rather than local set up
The main folder is getting busy and will be difficult to understand for new eyes, I suggest changing to the following structure and adding some documentation in the readme to explain what is what: