I've got some doubts as to how to use the RoboMaker plugin for Rigel.
Besides these questions, I've tried using the plugin a couple of times and I've ran into an traceback message that I don't understand (I've removed the ECR link from the message):
WARNING - Press CTRL-C / CTRL-Z to stop execution
Connecting to providers
Attempting login with ECR '********************************'
Login Succeeded
Logged in with success to ECR '********************************'
Authenticated with AWS RoboMaker.
Found existing robot application 'rigel_robomaker_robot_application'
Traceback (most recent call last):
File "/home/diogo/.cache/pypoetry/virtualenvs/rigel-qWiewPfQ-py3.8/bin/rigel", line 6, in <module>
sys.exit(main())
File "/home/diogo/rigel/rigel/main.py", line 50, in main
cli()
File "/home/diogo/.cache/pypoetry/virtualenvs/rigel-qWiewPfQ-py3.8/lib/python3.8/site-packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File "/home/diogo/.cache/pypoetry/virtualenvs/rigel-qWiewPfQ-py3.8/lib/python3.8/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/home/diogo/.cache/pypoetry/virtualenvs/rigel-qWiewPfQ-py3.8/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/diogo/.cache/pypoetry/virtualenvs/rigel-qWiewPfQ-py3.8/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/diogo/.cache/pypoetry/virtualenvs/rigel-qWiewPfQ-py3.8/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/diogo/.cache/pypoetry/virtualenvs/rigel-qWiewPfQ-py3.8/lib/python3.8/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/home/diogo/rigel/rigel/cli/command.py", line 23, in callback
f(self, *f_args, **f_kwargs)
File "/home/diogo/rigel/rigel/cli/run.py", line 25, in job
orchestrator.run_job(job)
File "/home/diogo/rigel/rigel/orchestrator.py", line 222, in run_job
self.execute(execution_plan)
File "/home/diogo/rigel/rigel/orchestrator.py", line 199, in execute
stage.execute(
File "/home/diogo/rigel/rigel/executor.py", line 218, in execute
job.setup()
File "/home/diogo/rigel/rigel/plugins/aws/robomaker/plugin.py", line 257, in setup
self.__simulation_job = self.create_simulation_job()
File "/home/diogo/rigel/rigel/plugins/aws/robomaker/plugin.py", line 192, in create_simulation_job
simulation_job = self.__robomaker_client.create_simulation_job(**kwargs)
File "/home/diogo/.cache/pypoetry/virtualenvs/rigel-qWiewPfQ-py3.8/lib/python3.8/site-packages/botocore/client.py", line 530, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/home/diogo/.cache/pypoetry/virtualenvs/rigel-qWiewPfQ-py3.8/lib/python3.8/site-packages/botocore/client.py", line 919, in _make_api_call
request_dict = self._convert_to_request_dict(
File "/home/diogo/.cache/pypoetry/virtualenvs/rigel-qWiewPfQ-py3.8/lib/python3.8/site-packages/botocore/client.py", line 990, in _convert_to_request_dict
request_dict = self._serializer.serialize_to_request(
File "/home/diogo/.cache/pypoetry/virtualenvs/rigel-qWiewPfQ-py3.8/lib/python3.8/site-packages/botocore/validate.py", line 381, in serialize_to_request
raise ParamValidationError(report=report.generate_report())
botocore.exceptions.ParamValidationError: Parameter validation failed:
Invalid length for parameter dataSources, value: 0, valid min length: 1
robomaker:
plugin: "rigel.plugins.aws.RoboMakerPlugin"
with:
iam_role: "{{ vars.AWS_IAM_ROLE }}"
output_location: "rigel-robomaker-logs"
simulation_duration: 600
robot_application:
ecr: "{{ vars.AWS_ECR }}/atom_image:latest"
command: ["roslaunch", "t2rgb_bringup", "app_launch.launch", "motion_sequence_file:=/home/rigeluser/ros_workspace/src/t2rgb/movement_sequences/movement_sequence.json", "output_folder:=/home/rigeluser/ros_workspace/src/t2rgb/datasets/new_dataset", "overwrite:=true"]
environment:
- "GAZEBO_MASTER_URI=http://ROBOMAKER_SIM_APP_IP:11345"
- "ROS_IP=ROBOMAKER_ROBOT_APP_IP"
- "ROS_MASTER_URI=http://ROBOMAKER_ROBOT_APP_IP:11311"
ports:
- !!python/tuple [9090, 9090]
tools:
-
name: 'terminal'
command: "{{ vars.robomaker_tool_terminal_cmd }}"
stream_output_to_cloud_watch: True
stream_ui: True
-
name: 'rviz'
command: "{{ vars.robomaker_tool_rviz_cmd}}"
stream_output_to_cloud_watch: True
stream_ui: True
-
name: 'gzclient'
command: "{{ vars.robomaker_tool_gazebo_cmd}}"
stream_output_to_cloud_watch: True
stream_ui: True
vpc_config:
subnets:
- "subnet-0c31fe89fff4cda00"
- "subnet-0229c1b42075fddf3"
security_groups:
- "sg-06f70b36208dde8bc"
assign_public_ip: True