Design
The integration between ROS and TypeDB is implemented with 2 classes, TypeDBInterface and ROSTypeDBInterface.
The TypeDBInterface class interacts with the typeDB database using the typedb python api, and it contains basic functionalities that are common for all applications, such as insert_database and match_database.
The ROSTypeDBInterface class is a ROS 2
LifeCycle Node, and it implements 2 ROS interfaces.
A ROS service server ros_typedb_interface/query
that is used to query
the database, which uses the Query.srv service type. And the
ROS topic ros_typedb_interface/events
, where it publishes insert and
delete events when data is inserted or deleted from the database with the query
service.
Class diagram: