PyBBN Assurance Cases
Determining assurance case beliefs using Bayesian Belief Networks and Design of Experiments.
Explore the project »
Report Bug
·
Request Feature
Motivation
This project is solely being built from scratch for learning purposes. The project aims to improve skills in the following areas:
- Game development
- Robotics
- Artificial Intelligence
Features of Simulator
Unity-ROS
Asset inventory system
- Browse an asset bundle
- Load an asset bundle
- Load multiple asset bundles
- Spawn an obstacle using raycasting to the ground layers
- Save configuration in a
.json
- Load configuration from a
.json
- Need to load the asset bundles for assets within the
.json
first - Unload an asset bundle
Randomization of scenario using Scenic
- Create asset bundle
- Get asset bundle information in a
.csv
format - Use
scenic
config writer script to generate model classes for the assets within the asset bundle - Create a
.scenic
file using the model classes generated in Step 3 - Run the
.scenic
file to generate randomized scenarios and dump them into a.json
file for the simulator to use. - Use the Unity simulator to spawn the assets within the
.json
by accessing paths to the asset bundles
Time of day
- Sun color with time
- Moon color with time
- Sky horizon color with time
- Time scale
- Dynamic time of day
Traffic waypoint system
In my blog post regarding animating mixamo characters in Unity using the Animator component, I have created a simple character controller that is used to animate the NPC in the Unity project to move from one waypoint to another. This project aims to create a traffic waypoint system that can be used to control the movement of the NPC.
- Create an NPC: For simulating the behavior of the NPC, I have used animations from Mixamo and added a character controller to the NPC.
- Create Waypoint system: Using the Unity editor, I have created a waypoint system that can be used to set the waypoints for the traffic. This would include branching off points and randomization of directions. Also, ath each branch the NPC decides to take the branch in a random manner using a probability.
- Create waypoints
- Create branching points
- Create pedestrian traffic: Spawning a certain number of pedestrians at random points along the waypoints, randomizing their directions and speeds.
Simulations
Planning
- Hybrid A* with Voronoi fields
- Dubins paths
Perception
- Terrain segmentation
- Object detection
- Pedestrian detection
- Lidar object detection
- Bounding boxes
- Estimation