No version for distro humble showing jade. Known supported distros are highlighted in the buttons above.
Package symbol

mongodb_store package from mongodb_store repo

mongodb_log mongodb_store mongodb_store_msgs

ROS Distro
jade

Package Summary

Tags No category tags.
Version 0.1.30
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/strands-project/mongodb_store.git
VCS Type git
VCS Version hydro-devel
Last Updated 2017-08-31
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A package to support MongoDB-based storage and analysis for data from a ROS system, eg. saved messages, configurations etc

Additional Links

Maintainers

  • Chris Burbridge
  • Nick Hawes

Authors

  • Chris Burbridge
  • Nick Hawes

mongodb_store

This package wraps up MongoDB database server in ROS, allowing it to be used to store configuration parameters.

Two nodes are provided:

  • mongodb_server.py
  • config_manager.py

These node depends on MongoDB and the Python client libraries (>=2.3). Install by:

sudo apt-get install python-pymongo mongodb

If this does not give the required version, you can use:

sudo pip install pymongo

Running the mongodb_server

The start the datacentre:

rosparam set mongodb_port 62345
rosparam set mongodb_host bob # note that if using multiple machines, 'localhost' is no good

rosrun mongodb_store mongodb_server.py

By default, the mongod database will be stored in /opt/strands/mongodb_store. This can be overridden by setting the private parameter ~database_path for the node. If it is the first time that the database is used, be sure to first run

```mkdir /opt/strands/mongodb_store


If you prefer to use different mongodb instance, set the mongodb_* parameters accordingly.

Or if you'd like to use existing mongod (e.g. mongod launched as Linux service)


rosparam set mongodb_use_daemon true rosparam set mongodb_port 62345 rosparam set mongodb_host localhost

roslaunch mongodb_store mongodb_store use_daemon:=true


Config Manager Overview
-----------------------

The config manager provides a centralised way to store robot application parameters, with optional site-specific overrides. All configurations are stored inside the mongodb_store mongodb, within a database named "configs". 

Two levels of parameters are considered:

1) Global default parameters. 
These should be "working defaults" - so all essential parameters at least have a default value. For example, if a robot application requires some calibration data then default values should be provided.
Default parameters can be shared among sites and stored inside a shared ROS package. When the config manager is started, all .yaml files stored in a 'defaults' folder will be examined. Any new default parameters will automatically be inserted into the "defaults" collection within the configs database. The defaults folder should be supplied as a private parameter: `~defaults_path` either set to a system path or in the form `pkg://ros_package_name/inside/package`.

2) Local parameters.
These parameters override the same named  global default parameters, allowing site-specific parameter setting. They are stored within the database inside the "local" collection.

At start up, the config manager places all parameters onto the ros parameter server to allow interoperability with existing software. Parameters can also be queried using the /config_manager/get_param service, or by directly connection to and querying the mongo database server.

Likewise, local parameter overrides can be set using the /config_manager/set_param service or by directly editing the "local" collection in the configs database.


Running config manager
----------------------

To start the config manager, make sure that you have the mongo db running then:



rosrun mongodb_store config_manager.py _defaults_path:=pkg://my_package/defaults


This will load all parameters onto the ros parameter server, which can be checked with:

rosparam list





Reading parameters
------------------

There are three methods to access parameter values:
1) Use the copy on the ros parameter server:

rosparam get /my/parameter

and likewise with the rospy and roscpp libraries.
2) Use the config_manager service:

rosservice call /config_manager/get_param “param_name: ‘/my/parameter’”

``` 3) Using the database server directly

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mongodb_store

0.1.30 (2017-06-23)

  • [package.xml] Add link to devel repository Without this, from [the package's wiki page](http://wiki.ros.org/mongodb_store) there's no way to tell where the repo is.
  • fixing error with launching mongodb_store
  • Contributors: Ferdian Jovan, Hakan, Isaac I.Y. Saito, Justin Huang

0.1.29 (2017-06-19)

  • Support local datacentre timeout The timeout for the datacentre was hardcoded to 10 seconds. However, in some environments, for example in a cloud setup, this may not be enough. Make this configurable and just default to the previous 10 seconds.
  • Fixed updateClient assignment on copy.
  • The projection tests are changed
  • Revert back to original mongodb cmd
  • [mongodb_store/stests/message_store_cpp_test.cpp] fix test for non-wait insert
  • Fixed projection error happening when exclude and include field directives are mixed
  • [mongodb_store] add test for non-wait insert
  • [mongodb_store] add non-wait insert functionality
  • Mongo C++ header location not exposed. Implemented fix from \@ronwalf closes #176
  • Fixed missing return value
  • Fixing the compatibility issues of messagestore cpp client with old SOMA versions
  • Fixed issue with projection query including fields instead of excluding
  • [mongodb_store/scripts/mongodb_server.py] connect with localhost when shutdown server
  • Fixed if statement
  • geotype of ROI has been added
  • The geospatial indexing of SOMA ROI objects is added
  • Contributors: Hakan, Justin Huang, Nick Hawes, Tim Niemueller, Yuki Furuta

0.1.28 (2016-11-09)

  • Mongo C++ header location now exposed.
  • Fixed missing return value
  • Fixing the compatibility issues of messagestore cpp client with old SOMA versions
  • Fixed issue with projection query including fields instead of excluding
  • [mongodb_store/scripts/mongodb_server.py] connect with localhost when shutdown server
  • geotype of ROI has been added
  • The geospatial indexing of SOMA ROI objects is added
  • Contributors: Hakan, Nick Hawes, Yuki Furuta

0.1.27 (2016-11-01)

  • Fixed if statement
  • geotype of ROI has been added
  • The geospatial indexing of SOMA ROI objects is added
  • Contributors: Hakan

0.1.26 (2016-10-14)

  • Fixed a bug during soma msg_type check.
  • Unit tests have been added for projection.
  • Created a new service for querying with projections
  • Added checks for new soma object message type. Performed code cleanup
  • Projection field to the queries is added
  • indigo-0.1.25
  • Updating changelogs
  • checking object type and adding soma2 fields based on that has been added
  • indigo-0.1.24
  • updated Changelogs
  • Contributors: Hakan, Nick Hawes, hkaraoguz

0.1.25 (2016-04-28)

  • checking object type and adding soma2 fields based on that has been added
  • Contributors: hkaraoguz

0.1.24 (2016-04-19)

0.1.23 (2016-04-19)

  • Using remote mongodb without ros option has been added
  • Sort query functionality have been added to cpp interface
  • Removal of unnecessary code.
  • Update message update method for using timestamp info
  • Remove unnecessary print statements
  • Fix comments and remove unnecessary print statements
  • Modifications in object insertion
  • using ROS_HOSTNAME instead of HOSTNAME fixes #160
  • GeoSpatial indexing is added for SOMA2 objects and rois
  • indigo-0.1.22
  • updated Changelogs

File truncated at 100 lines see the full file

Launch files

  • launch/mongodb_store.launch
      • db_path [default: /var/local/mongodb_store]
      • port [default: 62345]
      • defaults_path [default: ]
      • replicator_dump_path [default: /tmp/replicator_dumps]
      • use_daemon [default: false]
      • machine [default: localhost]
      • user [default: ]
      • test_mode [default: false]
      • use_repl_set [default: false]
      • repl_set [default: rs0]
      • queue_size [default: 100]
      • use_localdatacenter [default: true]
  • launch/mongodb_store_inc.launch
      • db_path [default: /var/local/mongodb_store]
      • port [default: 62345]
      • defaults_path [default: ]
      • replicator_dump_path [default: /tmp/replicator_dumps]
      • use_daemon [default: false]
      • machine
      • test_mode [default: false]
      • use_repl_set [default: false]
      • repl_set [default: rs0]
      • queue_size [default: 100]
      • use_localdatacenter [default: true]

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged mongodb_store at Robotics Stack Exchange