[ ] Fix custom message box message type parsing from 2d array [ ][ ] to 1d array [ ] for x,y,w,h
[ ] Make an alernate version of our node architecture using services/client nodes instead of publisher/subscribers
[ ] Measure the latency and compare this with the publisher/subscriber architecture for different FPS limits
[ ] Determine whether stateless or stateful services are applicable and determine whether asynchronous or synchronous (request - response) communication is better (Stateless services are suitable for independent, one-time requests, while stateful services maintain a persistent connection for multiple requests.)
[ ] Include error handling with error codes and responses for various issues in operation
[ ] Reducing Message Queuing Delays: In ROS2, asynchronous communication patterns such as publishers and subscribers are commonly used for exchanging messages between nodes. However, in scenarios where real-time performance is crucial, message queuing delays can occur if messages are not processed promptly. By using synchronous communication patterns, such as service calls, you can ensure that messages are processed directly without queuing, thereby reducing the likelihood of delays in image processing.
[ ] Direct Request-Response Style Communication: Synchronous communication patterns, like service calls, enable direct request-response style interactions between nodes. In the context of image processing, this means that when a node requires image data or wants to perform a specific image processing task, it can send a direct request to another node and receive a response synchronously. This direct interaction minimizes the overhead associated with message queuing and ensures timely processing of image data.