{"id":46775250,"url":"https://github.com/aws4embeddedlinux/demo-iot-automotive-simulator","last_synced_at":"2026-03-09T23:42:54.076Z","repository":{"id":205297834,"uuid":"629979647","full_name":"aws4embeddedlinux/demo-iot-automotive-simulator","owner":"aws4embeddedlinux","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-23T16:37:03.000Z","size":9004,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-01-24T15:31:13.800Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit-0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aws4embeddedlinux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-04-19T12:20:11.000Z","updated_at":"2024-01-24T15:31:13.801Z","dependencies_parsed_at":"2024-01-23T15:30:29.093Z","dependency_job_id":null,"html_url":"https://github.com/aws4embeddedlinux/demo-iot-automotive-simulator","commit_stats":null,"previous_names":["aws4embeddedlinux/demo-iot-automotive-simulator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aws4embeddedlinux/demo-iot-automotive-simulator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws4embeddedlinux%2Fdemo-iot-automotive-simulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws4embeddedlinux%2Fdemo-iot-automotive-simulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws4embeddedlinux%2Fdemo-iot-automotive-simulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws4embeddedlinux%2Fdemo-iot-automotive-simulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aws4embeddedlinux","download_url":"https://codeload.github.com/aws4embeddedlinux/demo-iot-automotive-simulator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws4embeddedlinux%2Fdemo-iot-automotive-simulator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30316775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T20:05:46.299Z","status":"ssl_error","status_checked_at":"2026-03-09T19:57:04.425Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-09T23:42:53.082Z","updated_at":"2026-03-09T23:42:53.880Z","avatar_url":"https://github.com/aws4embeddedlinux.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## CARLA Simulator Ubuntu 22.04 + NICE DCV + GPU\n\nThis [AWS CloudFormation](https://aws.amazon.com/cloudformation/) template will deploy [CARLA Simulator](https://carla.org/) into an accelerated computing instance running the [NICE DCV](https://aws.amazon.com/hpc/dcv/) server.\n\n![CARLA Animation](/images/carla-ubuntu-2204.gif \"CARLA Animation\")\n\n### CARLA\n\nCARLA is an open-source simulator for autonomous driving research to support the development, training, and validation of autonomous driving systems.\n\n### NICE DCV\n\n![Architecture](/images/arch.png \"Architecture\")\n\nNICE DCV is a high-performance remote display protocol that provides customers with a secure way to deliver remote desktops and application streaming from any cloud or data center to any device over varying network conditions.\nFor security reasons we do not put the EC2 instance in a public subnet, therefore you need to use the AWS systems manager with the [Session Manager plugin](https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-debian-and-ubuntu.html) to tunnel the DCV port to your local machine.\n```\naws ssm start-session --target i-\u003cinstance id\u003e --document-name AWS-StartPortForwardingSession --parameters '{\"portNumber\":[\"8443\"], \"localPortNumber\":[\"8443\"]}'\n```\nThen setup the NICE DCV client to connect to localhost:8443 and set Connection Setting to be WebSockets/TCP instead of QUIC.\n\nTo use the simplified architecture without Transit Gateway (using `template-unicast.yml`), follow these steps:\n\n1. Be aware that this setup does not support UDP multicasting.\n2. Configure both the device simulator and CARLA for unicast when using ROS2.\n3. Find the example configuration for `cyclonedds` at: `carla-client/ros2/cyclonedds_unicast.yaml`.\n4. Before running the ROS2 example, set the `CYCLONEDDS_URI` environment variable with this command:\n   ```\n   export CYCLONEDDS_URI=carla-client/ros2/cyclonedds_unicast.yaml\n   ```\n\n### Deployment instructions\n\nDownload desired template file and login into the AWS [CloudFormation console](https://console.aws.amazon.com/cloudformation/home#/stacks/create/template). Choose **Create Stack** and **Upload** the template file **\"template.yml\".**\n\nSpecify a **Stack name** and specify parameter values. All fields are required.\n\n- **imageId** : [System Manager Parameter](https://aws.amazon.com/blogs/compute/using-system-manager-parameter-as-an-alias-for-ami-id/) path to AMI ID.\n- **instanceType:** appropriate [instance type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).\n- **ec2Name:** Name of the EC2 instance.\n- **BigaAmiId:** AMI of the EC2 image for the Biga device. This can be found in the end of the CodeBuild build logs when the [EC2AMIBigaPipeline-EmbeddedLinuxPipeline*](https://github.com/aws4embeddedlinux/demo-iot-automotive-embeddedlinux-image) is finished. Search for \"AMI ID:\".\n- **BigaInstanceType:** Instance type of the Biga device.\n- **BigaInstanceName:** Name of the Biga device.\n\n![CloudFormation parameters](/images/cloudformation-parameters.png \"Parameters\")\n\nContinue **Next** with [Configure stack options](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-add-tags.html), [Review](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-console-create-stack-review.html) settings, and click **Create Stack** to launch your stack.\n\nIt may take up to 60 minutes to provision the EC2 instance. After your stack has been successfully created, its status changes to **CREATE\\_COMPLETE**. Go to **the Outputs** tab.\n\n![CloudFormation outputs](/images/cloudformation-outputs.png \"Outputs\")\n\nGo to the **SSMSessionManager** row, open the URL (in the form _https://\\\u003cREGION\\\u003e.console.aws.amazon.com/systems-manager/session-manager/\\\u003cInstanceID\\\u003e_) in a new browser tab to log in via SSM Session Manager to change login user password. The password change command is \" **sudo passwd ubuntu**\".\n\nDo start the\n```\naws ssm start-session --target \u003cinstance id\u003e --document-name AWS-StartPortForwardingSession --parameters '{\"portNumber\":[\"8443\"], \"localPortNumber\":[\"8443\"]}'\n```\nUse the local **DCVConsole** and log in as an ubuntu user with the recently changed password. Do not forget setting to be WebSockets/TCP instead of QUIC.\n\n### Installing CARLA Simulator\n\nOnce logged in to the Ubuntu remote desktop, run the command \"./install-carla\" from your user's root directory. The installation will download everything needed to set up CARLA, change the default Python version to 3.8, and creates a virtual environment installing all package required. It may take 5 to 10 minutes to finish based on the large size of the downloaded binaries.\n\nIf you're facing [timeouts with the Debian package server when installing CARLA](https://github.com/carla-simulator/carla/issues/7017), you can try this alternative method for installation:\n\n#### 1. Install Required System Dependency\nBefore downloading CARLA, install the necessary system dependency:\n```bash\nsudo apt-get -y install libomp5\n```\n\n#### 2. Download the CARLA 0.9.13 Release\nDownload the CARLA_0.9.13.tar.gz file (approximately 16GB) from the official release:\n```bash\nwget https://carla-releases.s3.us-east-005.backblazeb2.com/Linux/CARLA_0.9.13.tar.gz\n```\n\n#### 3. Unpack CARLA to the Desired Directory\nUnpack the downloaded file to `/opt/carla-simulator/`:\n```bash\ntar -xzvf CARLA_0.9.13.tar.gz -C /opt/carla-simulator/\n```\n#### 4. Install the CARLA Python Module\nFinally, install the CARLA Python module and necessary dependencies:\n```bash\npython -m pip install carla==0.9.13\npython -m pip install -r /opt/carla-simulator/PythonAPI/examples/requirements.txt\n```\n\nThen, you can test your CARLA installation by running \"./CarlaUE4.sh\" from \"/opt/carla-simulator\". You will see an image with the world simulation running successfully.\n\n![CARLA Running](/images/carla-running.png \"CARLA Running\")\n\n## Installing ROS\nFollow instructions [here](carla-client/README.md).\n\n## Installing socket-can-setup\nFollow instructions [here](socket-can-setup/README.md).\n\n### Testing the PythonAPI\n\nThe best way to test the Python API is to drive a car. In order to do so, you will have to follow the steps below:\n\n- Start the server \"/opt/carla-simulator/CarlaUE4.sh -no-rendering -quality-level=Epic -prefernvidia\" in different terminal\n\n1. Activate the virtual environment created by the installation with the command \". venv/bin/activate\" from the \"ubuntu\" user's home.\n2. Navigate to the PythonAPI examples folder \"cd /opt/carla-simulator/PythonAPI/examples\".\n3. Run \"python manual\\_control.py\".\n\nHere is the link to the complete [CARLA documentation](https://carla.readthedocs.io/en/0.9.13/)\n\n![CARLA PythonAPI](/images/carla-manual-conrtrol.png \"CARLA PythonAPI\")\n\nThis AWS CloudFormation template has been made possible by using as a reference the [Amazon EC2 NICE DVC Samples](https://github.com/aws-samples/amazon-ec2-nice-dcv-samples).\n\n## Testing vcan connection to biga ec2 device\nRunning this on the biga ec2 instance, connect via EC2 serial console. Stop after test - \"ctrl-c\".\n```\ncandump vcan0\n```\n\nRunning this on the Carla ec2 instance, in a terminal.\n\n```\n./multicast_can_send.sh\n```\n\nRunning this on the Carla ec2 instance, in another terminal.\n\n\n```\ncansend vcan0 123#00FFAA5501020304\n```\n\nYou should see this in the biga ec2 instance:\n\n```\nroot@ip-10-0-1-93:~# candump vcan0\nvcan0  123   [8]  00 FF AA 55 01 02 03 04\n\n```\n\n## Security\n\nSee [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.\n\n## License\n\nThis library is licensed under the MIT-0 License. See the LICENSE file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws4embeddedlinux%2Fdemo-iot-automotive-simulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faws4embeddedlinux%2Fdemo-iot-automotive-simulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws4embeddedlinux%2Fdemo-iot-automotive-simulator/lists"}