Skip to content

ROS2 Humble #288

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 29 commits into
base: melodic-devel
Choose a base branch
from
Open

Conversation

heuristicus
Copy link

This implements core functionality in ROS2 Humble. I didn't include the configuration components and removed replication stuff since that should now be handled on the mongo side rather than here. I'm working on 22.04 so this is tested with pymongo 4.6.2 and mongodb-org 8.0.8.

Converted:

  • message_store.py
  • message_store_node.py
  • mongodb_server.py
  • util.py

Also restructured the packages to be in the ROS2 style.

Didn't convert the tests but have been using in practice and have converted the two examples which both work (see mongodb_store/mongodb_store/scripts)

If this is to be merged it should go into a new branch (humble?) rather than the one I've currently requested the merge to.

hawesie and others added 29 commits August 5, 2022 14:07
…4-revert-272-melodic-devel

Revert "Revert "Fix Python 3 bugs in mongodb_store""
Ensure Python 3 compatibility in mongodb log
Add host args in mongodb_store.launch and mongodb_store_inc.launch
… works

- insertion service is functional, had to fix timestamps to convert from ros2 clock. No longer stores the callerid because I'm not sure its accessible
- serialisation updated to ros2
- delete references to soma in util
- function to get namespaced type from message as it's no longer accessible at msg._type
- fix json loading null returning None rather than empty dict
- example works in ros2

util
- message conversion uses rosidl_runtime_py rather than custom conversion functions
- store the message in message field rather than with the metadata to make it easy to use the runtime py functions
- message update uses the $set command

message store node
- add decorator to make sure crashing callback threads actually output something rather than crashing silently
- fix insertion object id return
- use delete_one instead of remove
- update no longer stores caller id
- query correctly instantiates message

message store
- using the async service call in message store proxy to ensure it works when rclpy spin isn't called
- fix update named crash when meta was none
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants