ways to communicate between a ROS node ( or general process ) and a greengrass component

0

Environment : Ubuntu 20.04, ROS 2

We have a ROS node that would like to be able to communicate with a greengrass component locally. The ros node would be the initiator to send certain messages to the greengrass component. The greengrass component only reply back SUCCESS or FAIL (or exit code)

What I have found is to use AWS IOT Device SDK. But it seems like it's for communicating between custom components and our ROS node is not a component.

I was thinking about the polling a file from the local file system periodically ( to detect messages sent from a ROS node ) but that doesn't look ideal.

The intuition of having a greengrass component in the background is to have a service to push/pull files to/from AWS S3 bucket and we want it to be able to perform operations even when ROS is being killed.

Is there a best way to communicate between a ROS node ( or a general process ) and a greengrass component?

Debo
posta 2 anni fa601 visualizzazioni
2 Risposte
1

Hi Debo. I agree with Joe's answer, if you kept it external. This blog is helpful: https://aws.amazon.com/blogs/iot/implementing-local-client-devices-with-aws-iot-greengrass/.

However, have you considered running your ROS node within Greengrass? You could compose and manage your entire application using Greengrass. I think this fresh blog could be of interest to you. It features a component that bridges ROS topics with Greengrass IPC: https://aws.amazon.com/blogs/robotics/deploy-and-manage-ros-robots-with-aws-iot-greengrass-2-0-and-docker/.

profile pictureAWS
ESPERTO
Greg_B
con risposta 2 anni fa
  • As mentioned by @Greg_B, I would recommend to use a the ROS to IPC bridge component as this will enable the ROS node to exchange messages with a Greengrass component by publishing on a ROS topic.

0

Hi Debo -

The supported method would be to model your ROS process as a client device and connect to Greengrass via MQTT.

https://docs.aws.amazon.com/greengrass/v2/developerguide/connect-client-devices.html

Thanks, -joe

AWS
con risposta 2 anni fa
  • While this is a possibility, it is more applicable in case the ROS nodes are running on a separate machine and already implement MQTT as a communication mechanism. ROS 2 has its own distributed messaging protocol and using a ROS to IPC bridge component is the least intrusive way to support this type of integration.

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande