Skip to content

Map interface library for any robot overview or control system. Can act as a ROS node and makes use of Marble for map display.

License

Notifications You must be signed in to change notification settings

piappl/robotic-map

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

robotic-map

map - the robotic map interface library

Introduction:

Robotic map interface, based on Marble. Author: Adam Dąbrowski, [email protected]. License: LGPLv3

The map project creates the library. You can use it with your application through Qt slots/signals interface. It is supported by the robotic-map-ros-interface project, allowing the map functions as a ROS node.

User Manual

You can find User Manual in the docs directory.

Functionalities

  • Layered virtual globe interface (thanks to Marble).
  • Local maps, manual positioning of robots, merging global and local positioning.
  • Displaying objects, robots.
  • Connecting to a robot. Issuing navigation commands.
  • Simple map editor (no persistence yet). Places, waypoints, areas.
  • Simple QML interface.
  • A framework for storing data, recording paths.
  • Object follow mode.
  • Choice of interface: QT slots & signals or (through robotic-map-ros-interface) ROS topics.

Dependencies:

Prerequisites for Marble: Qt5+ Modules: qt5-default qtbase5-dev qt5-default qtdeclarative5-dev libqt5webkit5-dev qttools5-dev libqt5designercomponents5 libqt5designer5 qtdeclarative5-dev qtdeclarative5-dev-tools qtquick1-5-dev qtscript5-dev qttools5-dev-tools qtbase5-dev-tools qtmultimedia5-dev libqt5svg5-dev (Webkit will be removed, it's not really necessary)

Marble can install in a subdirectory of /usr/lib (i.e. /usr/lib/x86_64-linux-gnu). Make sure paths to libraries of Marble and mapwidget (libmarble-qt5, libmapwidget) are visible.

Installation:

To install, run ./make-map.sh with a path to your chosen Qt version cmake.

Customization:

Your customized content should be placed in /share/maps/ directory:

/share/maps/localmap/ holds .cfg and .png file that is local map (i.e. scanned by robot before) /share/maps/customicons/ hold .png files that are robot icons to display on map. The name of the file should be the same as the robot name sent by the robot in RobotInformation ROS message. (Directories are subject of change in future versions - moving content to more standard locations)

Roadmap

  • Developer manual.
  • Marble fork (& cooperation).
  • Fix positioning approximation closer to poles.
  • Data persistence.
  • Dynamic local map updates.
  • Rework interface to something more intuitive

About

Map interface library for any robot overview or control system. Can act as a ROS node and makes use of Marble for map display.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published