Skip to content
This repository has been archived by the owner on Oct 25, 2023. It is now read-only.

memory_map

Pierre Laclau edited this page Feb 18, 2018 · 2 revisions

Description

This package is the system's database 📚 that holds all the information about the map walls, objects, containers, waypoints and zones, as well as the robots' characteristics (shape and containers). It internally parses the YML definition files to create a Python Dictionary, and implements several methods to explore and modify the data inside the dict.

The map is also capable or rendering .bmp files of different objects in the database when requested by a service client.

Authors and versions

  • v1.0 (A17) : @MadeInPierre
    • Defined and parsing terrain walls and layers, zones, waypoints, entities, objects and containers.
    • GET and SET services to access and modify any data in the database
    • GET_OCCUPANCY service : generates a .bmp files with a defined category of objects or walls
    • GET_OBJECTS service : returns all objets in a JSON format.
    • FILL_WAYPOINT service: takes a waypoint name or position and completes the missing data using the database
    • MAP_TRANSFER service : used to move a container inside another (or it's containeing objects)

Configuration

This is where you explain how to write the XML files, config files, etc.

Communication

Here you can give an organized list of what servers and clients exist in your package, and what their functions are. This will help the reader understand how the node is trigerred and what its role is in the system.

Servers

Server name Type Function
/jetpack/physicist/goto Action A client can send a goto request to this node. The node will start the navigation with the jetpack until it arrives at the specified position. Specifying a string in the attribute waypoint will make the robot go to the position associated with the given name.
/jetpack/physicist/emergency Service Simple service without arguments that will completely stop the jetpack engine.

Clients and subscriptions

Server name Type Function
/drivers/ard_jetpack/set_enabled Action When a goto action is triggered by a client, the node will activate the jetpack by sending a service request to the arduino.

Running the package

You can now give clear instructions on:

  • How to run the node(s) until they go to a fully initialized state.
  • How to explore all the nodes features (enabling certain parameters during runtime, cancelling an action if possible...)

Do not hesitate to simply give a set of launch or action commands:

rosrun jetpack_physicist physicist_node.py

How it works

Finally, you can give a extensive explanation on how the code works! Use any markdown structure to convey your ideas. The more there are images and schematics, the better!

If you use external python modules or C++ libraries, don't forget to mention how they are used in your package.