Show EOL distros: 

sql_database: database_interface | student_database

Package Summary

Provides an easy way to use SQL databases from the ROS environment.

sql_database: database_interface | student_database

Package Summary

Provides an easy way to use SQL databases from the ROS environment.

sql_database: database_interface | student_database

Package Summary

Provides an easy way to use SQL databases from the ROS environment.

pr2_base: control_msgs | geometry_experimental | joystick_drivers | mobile | moveit_full_pr2 | perception | perception_pcl | pr2_apps | pr2_calibration | pr2_common | pr2_common_actions | pr2_controllers | pr2_kinematics | pr2_mechanism | pr2_navigation | ros_realtime | sql_database | warehouse_ros

Package Summary

Provides an easy to use and general interface between a SQL database and object-oriented C++ code, making it easy to encapsulate the conceptual "objects" contained in the database as C++ classes.

Package Summary

Provides an easy to use and general interface between a SQL database and object-oriented C++ code, making it easy to encapsulate the conceptual "objects" contained in the database as C++ classes.

  • Maintainer: Matei Ciocarlie <matei.ciocarlie AT gmail DOT com>
  • Author: Matei Ciocarlie and Lorenz Mosenlechner
  • License: BSD

Documentation

Stack details

This stack contains:

  • database_interface: a general interface for using SQL database from inside C++ code, in a way that makes it easy to encapsulate the conceptual "objects" contained in the database as C++ classes. See the package documentation for details and tutorials.

  • student_database: example implementation of this interface for a specific database. Such implementations are usually very thin, and contain:

    • C++ class definitions for the objects stored in the database
    • (optional) convenience functions for queries commonly executed on the specific database, as very thin wrappers around the general versions found in the database interface;
    • wrappers around some of the most commonly used data processing functions exposing them through ROS topics or services.

Note that an interface to a full-fledged database used for manipulation can be found in the household_objects_database package, which does not live in this stack.

Supported SQL databases

The current release provides an interface with PostgreSQL database. However, most of the code is in place to support sqlite database as well. This feature will probably be added in a future release.

Database releases

Specific releases of ROS stacks, containing algorithms that process a certain type of data, can be accompanied by versioned database releases containing the data itself. As an example, a release might contain:

  • tabletop_object_detector 0.4: a ROS package with code for recognizing objects using a database of 3D shapes
  • household_objects_database 0.2: the database itself, in PostgreSQL format
  • database_interface 0.5: the interface for accessing the database from the code (also as a ROS package)

We believe that this model will enable:

  • sharing of datasets along with code
  • consistency between code versions and data versions
  • flexibility when using, extending or modifying somebody else's data

Tutorials

  1. Installation of a PostgreSQL server

    A step-by-step "cheat-sheet" for installing a PostgreSQL server on a Ubuntu machine. Does not cover any advanced installation procedures, just a very simple installation with no additional options. After installing the server, you can set up multiple databases, restore them from backup files, etc.

Report a Bug

Report bugs on the Github Trac.

Wiki: sql_database (last edited 2013-12-17 17:34:19 by MateiCiocarlie)