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
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No version for distro jazzy 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
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No version for distro kilted 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
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No version for distro rolling 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
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No version for distro ardent 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
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No version for distro bouncy 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
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No version for distro crystal 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
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No version for distro eloquent 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
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No version for distro dashing 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
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No version for distro galactic 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
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No version for distro foxy 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
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No version for distro iron 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
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No version for distro lunar 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
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

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
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

Package symbol

mongodb_store package from mongodb_store repo

mongodb_log mongodb_store mongodb_store_msgs

ROS Distro
indigo

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
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

Package symbol

mongodb_store package from mongodb_store repo

mongodb_log mongodb_store mongodb_store_msgs

ROS Distro
hydro

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
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

Package symbol

mongodb_store package from mongodb_store repo

libmongocxx_ros mongodb_log mongodb_store mongodb_store_msgs

ROS Distro
kinetic

Package Summary

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

Repository Summary

Checkout URI https://github.com/strands-project/mongodb_store.git
VCS Type git
VCS Version kinetic-devel
Last Updated 2019-09-04
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

  • 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 scons

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.launch 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.4.5 (2019-06-28)

  • Allow to bind mongod to host The existing solution bind the mongod server to all interfaces. This exposes the server to the outside. This could be a potensial security issue if someone has access to your network. This change allows you to only bind the server to the host specified by the [mongodb_host]{.title-ref} parameter. The solution was created with a flag defaulting to false to prevent this from being a breaking change. Specifying the argument [bind_to_host]{.title-ref} will add a bind argument to the executable: ` [..., "--bind_ip", self._mongo_host][ Info: The `bind_ip]{.title-ref} argument [supports hostnames, ipaddresses and socket paths](https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-bind-ip) so using [localhost]{.title-ref} or [127.0.0.1]{.title-ref} is valid for binding to localhost only. To bind to all interfaces use [0.0.0.0]{.title-ref}.
  • adds service to reset all local overrides. Exposes a new service [/config_manager/reset_params std_srvs/Trigger]{.title-ref} that will reset all local overrides their default value. This provides a ROS compatible way of getting back to the default values.
  • Contributors: Jørgen Borgesen, Nick Hawes, Marc Hanheide

0.4.3 (2019-04-04)

  • Merge pull request #243 from furushchev/get-publisher add method to get num subscribers for insertion
  • Merge pull request #242 from furushchev/shutdown shutdown publisher on destruction
  • Merge pull request #241 from furushchev/add-published-at append _meta.published_at for stamped messages
  • Merge pull request #240 from furushchev/fix-replicate display more info on replication
  • add method to get num subscribers for insertion
  • shutdown publisher on destruction
  • append _meta.published_at for stamped messages
  • display more info on replication
  • Merge pull request #234 from jorgenfb/fix/prevent-null-values Make sure None / null values reaches the parameter server
  • Make sure None / null values reaches the parameter server
  • Contributors: Jørgen Borgesen, Nick Hawes, Yuki Furuta

0.4.2 (2018-06-04)

  • instead of lsb-release read /etc/os-version from CMake to find OS version
  • Contributors: Ferenc Balint-Benczedi

0.4.1 (2018-05-29)

  • check if env. var. exists if not decide based on OS version
  • Contributors: Ferenc Balint-Benczedi

0.4.0 (2018-05-23)

  • if compiler supports it use C++11
  • Contributors: Ferenc Balint-Benczedi

0.3.8 (2018-05-02)

  • Merge pull request #220 from furushchev/replication-with-query Replication with query
  • mongodb_store: support filter by query on moving entries
  • Merge pull request #218 from furushchev/test-replicator Test replication functionality
  • mongodb_store: avoid to use rosrun in test code
  • mongodb_store: test replication
  • mongodb_server: minor bugfix
  • Merge pull request #213 from furushchev/fix/encode-utf8 mongodb_store: encode utf-8 on filling rosmsg
  • Merge remote-tracking branch 'origin/kinetic-devel' into fix/encode-utf8
  • Import connection failure
  • Merge pull request #214 from furushchev/option-query-extra mongodb_store: message_store_node.py: deprecate using extra servers
  • Merge remote-tracking branch 'origin/kinetic-devel' into option-query-extra Conflicts: mongodb_store/scripts/message_store_node.py
  • Merge pull request #215 from furushchev/remove-dup-projection mongodb_store: Remove duplicated codes for projection
  • mongodb_store: use launch for test
  • mongodb_store: remove duplicated codes for querying with projection

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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]
      • bind_to_host [default: false]
      • 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]
      • bind_to_host [default: false]
      • use_localdatacenter [default: true]

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged mongodb_store at Robotics Stack Exchange

Package symbol

mongodb_store package from mongodb_store repo

mongodb_log mongodb_store mongodb_store_msgs

ROS Distro
melodic

Package Summary

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

Repository Summary

Checkout URI https://github.com/strands-project/mongodb_store.git
VCS Type git
VCS Version melodic-devel
Last Updated 2023-05-24
Dev Status DEVELOPED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

  • 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.launch 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.5.2 (2019-11-11)

  • added python-future to package.xml, which got lost in previous commit for some reasons ...

  • corrected typo

  • removed flags for most of files for simplicity, also included future.utils, may introduce undesireable dependency though

  • resolved python2 backward compatibility issues not thouroughly checked though Added python version checks, where needed. Changes not adjusted to version:

    • print always with brackets

    - excepti XXX, e ==> except XXX as e as there is no problem with python2 to best of my knowledge

  • adjusted python funtions for python3

  • add dependency to package xml

  • back to system mongo

  • Contributors: Ferenc Balint-Benczedi, Nick Hawes, Shingo Kitagawa, Volker Gabler, vgab

0.5.1 (2019-06-28)

  • added python-future to package.xml

  • removed flags for most of files for simplicity, also included future.utils, may introduce undesireable dependency though

  • resolved python2 backward compatibility issues not thouroughly checked though Added python version checks, where needed. Changes not adjusted to version:

    • print always with brackets

    - excepti XXX, e ==> except XXX as e as there is no problem with python2 to best of my knowledge

  • adjusted python funtions for python3

  • Contributors: Shingo Kitagawa, Volker Gabler

0.5.0 (2018-12-20)

  • Merge pull request #231 from bbferka/melodic-devel Melodic devel
  • add dependency to package xml
  • make it run
  • back to system mongo
  • Contributors: Ferenc Balint-Benczedi, Nick Hawes

0.4.5 (2019-06-28)

  • Allow to bind mongod to host The existing solution bind the mongod server to all interfaces. This exposes the server to the outside. This could be a potensial security issue if someone has access to your network. This change allows you to only bind the server to the host specified by the [mongodb_host]{.title-ref} parameter. The solution was created with a flag defaulting to false to prevent this from being a breaking change. Specifying the argument [bind_to_host]{.title-ref} will add a bind argument to the executable: ` [..., "--bind_ip", self._mongo_host][ Info: The `bind_ip]{.title-ref} argument [supports hostnames, ipaddresses and socket paths](https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-bind-ip) so using [localhost]{.title-ref} or [127.0.0.1]{.title-ref} is valid for binding to localhost only. To bind to all interfaces use [0.0.0.0]{.title-ref}.
  • adds service to reset all local overrides. Exposes a new service [/config_manager/reset_params std_srvs/Trigger]{.title-ref} that will reset all local overrides their default value. This provides a ROS compatible way of getting back to the default values.
  • Contributors: Jørgen Borgesen, Nick Hawes, Marc Hanheide

0.4.3 (2019-04-04)

  • Merge pull request #243 from furushchev/get-publisher add method to get num subscribers for insertion
  • Merge pull request #242 from furushchev/shutdown shutdown publisher on destruction
  • Merge pull request #241 from furushchev/add-published-at append _meta.published_at for stamped messages
  • Merge pull request #240 from furushchev/fix-replicate display more info on replication
  • add method to get num subscribers for insertion

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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]
      • connection_string [default: ]
      • machine [default: localhost]
      • user [default: ]
      • test_mode [default: false]
      • use_repl_set [default: false]
      • repl_set [default: rs0]
      • queue_size [default: 100]
      • bind_to_host [default: false]
      • use_localdatacenter [default: true]
      • launch_config [default: true]
      • launch_replicator [default: true]
      • launch_config [default: $(arg launch_config)]
      • launch_replicator [default: $(arg launch_replicator)]
  • 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]
      • launch_config [default: true]
      • launch_replicator [default: true]
      • connection_string [default: ]
      • machine
      • test_mode [default: false]
      • use_repl_set [default: false]
      • repl_set [default: rs0]
      • queue_size [default: 100]
      • bind_to_host [default: false]
      • use_localdatacenter [default: true]

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged mongodb_store at Robotics Stack Exchange

Package symbol

mongodb_store package from mongodb_store repo

mongodb_log mongodb_store mongodb_store_msgs

ROS Distro
noetic

Package Summary

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

Repository Summary

Checkout URI https://github.com/strands-project/mongodb_store.git
VCS Type git
VCS Version noetic-devel
Last Updated 2023-02-27
Dev Status DEVELOPED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

  • 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.launch 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.6.0 (2022-09-20)

  • Avoid deadlock on server shutdown (#279)
  • Fix Python 3 bugs in mongodb_store (#272, #274, #275)
  • handling of host binding (#270)
  • update package.xml to format=3 (#269)
  • fix connection_string arg default value (#266)
  • fixed bug in where the replicator node did not recognize the db_host (#261)
  • Added .launch to the roslaunch command that was written in the readme file (#262)
  • fixed a formatting issue
  • fixed bug in where the replicator node did not recognize the db_host
  • remembering namespace in rosparam
  • Provide options to prevent unnecessary nodes launching
  • added ability for message store to use a full connection string
  • Removed --smallfiles arg no longer supported by MongoDB (#257)
  • Contributors: Adrian Dole, Gal Gorjup, Kei Okada, Marc Hanheide, Nick Hawes, Shingo Kitagawa, Vittoria Santoro

0.5.2 (2019-11-11)

  • added python-future to package.xml, which got lost in previous commit for some reasons ...

  • corrected typo

  • removed flags for most of files for simplicity, also included future.utils, may introduce undesireable dependency though

  • resolved python2 backward compatibility issues not thouroughly checked though Added python version checks, where needed. Changes not adjusted to version:

    • print always with brackets

    - excepti XXX, e ==> except XXX as e as there is no problem with python2 to best of my knowledge

  • adjusted python funtions for python3

  • add dependency to package xml

  • back to system mongo

  • Contributors: Ferenc Balint-Benczedi, Nick Hawes, Shingo Kitagawa, Volker Gabler, vgab

0.5.1 (2019-06-28)

  • added python-future to package.xml

  • removed flags for most of files for simplicity, also included future.utils, may introduce undesireable dependency though

  • resolved python2 backward compatibility issues not thouroughly checked though Added python version checks, where needed. Changes not adjusted to version:

    • print always with brackets

    - excepti XXX, e ==> except XXX as e as there is no problem with python2 to best of my knowledge

  • adjusted python funtions for python3

  • Contributors: Shingo Kitagawa, Volker Gabler

0.5.0 (2018-12-20)

  • Merge pull request #231 from bbferka/melodic-devel Melodic devel
  • add dependency to package xml
  • make it run
  • back to system mongo
  • Contributors: Ferenc Balint-Benczedi, Nick Hawes

0.4.5 (2019-06-28)

  • Allow to bind mongod to host The existing solution bind the mongod server to all interfaces. This exposes the server to the outside. This could be a potensial security issue if someone has access to your network. This change allows you to only bind the server to the host specified by the [mongodb_host]{.title-ref} parameter. The solution was created with a flag defaulting to false to prevent this from being a breaking change. Specifying the argument [bind_to_host]{.title-ref} will add a bind argument to the executable: ` [..., "--bind_ip", self._mongo_host][ Info: The

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/mongodb_store.launch
      • db_path [default: /var/local/mongodb_store]
      • mongodb_host [default: $(optenv ROS_HOSTNAME localhost)]
      • port [default: 62345]
      • defaults_path [default: ]
      • replicator_dump_path [default: /tmp/replicator_dumps]
      • use_daemon [default: false]
      • connection_string [default: ]
      • machine [default: localhost]
      • user [default: ]
      • test_mode [default: false]
      • use_repl_set [default: false]
      • repl_set [default: rs0]
      • queue_size [default: 100]
      • bind_to_host [default: false]
      • use_localdatacenter [default: true]
      • launch_config [default: true]
      • launch_replicator [default: true]
      • launch_config [default: $(arg launch_config)]
      • launch_replicator [default: $(arg launch_replicator)]
  • launch/mongodb_store_inc.launch
      • db_path [default: /var/local/mongodb_store]
      • mongodb_host [default: $(optenv ROS_HOSTNAME localhost)]
      • port [default: 62345]
      • defaults_path [default: ]
      • replicator_dump_path [default: /tmp/replicator_dumps]
      • use_daemon [default: false]
      • launch_config [default: true]
      • launch_replicator [default: true]
      • connection_string [default: ]
      • machine
      • test_mode [default: false]
      • use_repl_set [default: false]
      • repl_set [default: rs0]
      • queue_size [default: 100]
      • bind_to_host [default: false]
      • use_localdatacenter [default: true]

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged mongodb_store at Robotics Stack Exchange