Robomaker - IoT reserved topics?

0

Hi,

Are there any reserved topics being sent over greengrass IoT by a robomaker deployment job that can be accessed while a deployment is occuring?

  • Austin
已提問 4 年前檢視次數 220 次
1 個回答
0

Hi Austin,

AWS RoboMaker Fleet Management uses AWS Greengrass to deploy and launch ROS applications. When you create a new robot, it will ask you to install the AWS GreenGrass Core Software (for more information: https://docs.aws.amazon.com/greengrass/latest/developerguide/module2.html). When the Greengrass software is running and a RoboMaker deployment job is invoked, a local lambda function will pull down the robot application bundle defined in the RoboMaker Robot Application. The status updates of the deployment job are displayed in the RoboMaker console, or can be retrieved programmatically through the DescribeDeploymentJob API call https://docs.aws.amazon.com/cli/latest/reference/robomaker/describe-deployment-job.html.

There are no additional IoT topics reserved in this process, other than those reserved through Greengrass. For more information about reserved topics in Greengrass and AWS IoT, check out our documentation here: https://docs.aws.amazon.com/iot/latest/developerguide/reserved-topics.html

However, there are some environment variables which are reserved for RoboMaker. For example, you can use ROS_ROOT to define a local installation of ROS to use instead of the bundle. For troubleshooting deployments, here are some common pitfalls: https://docs.aws.amazon.com/robomaker/latest/dg/troubleshooting-deployments.html. To look at the environment variables included with the AWS Lambda function deployed on your behalf, you can open the Greengrass console, select the Lambda function (it should be postpended with DO_NOT_DELETE, as you can probably conclude - do not delete or save any changes here!!) and press edit. In here, you will find a list of environment variables used with the Lambda function.

If you are looking to determine the status of a deployment job on a given robot, you could use the DescribeRobot API call https://docs.aws.amazon.com/cli/latest/reference/robomaker/describe-robot.html. This will return the following robot states: Available, Registered, PendingNewDeployment, Deploying, Failed, InSync, and NoResponse.

AWS Step Functions is a great tool to manage more complex deployment workflows in conjunction with AWS RoboMaker. With AWS Step Functions, you could define a loop with a wait condition that checks on the status of all deployments (and run the above describe API calls). On the event of a failure, you could then define a custom AWS Lambda function to process the failure.

Happy building!

AWS
jer
已回答 4 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南