diff --git a/Assets/1_SelfDrivingCar/Scenes/LakeTrackAutonomous.unity b/Assets/1_SelfDrivingCar/Scenes/LakeTrackAutonomous.unity index 55d75729a..1e3b23a33 100644 --- a/Assets/1_SelfDrivingCar/Scenes/LakeTrackAutonomous.unity +++ b/Assets/1_SelfDrivingCar/Scenes/LakeTrackAutonomous.unity @@ -8681,7 +8681,7 @@ Transform: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1532577928} m_LocalRotation: {x: -0.7060095, y: -0.03937789, z: -0.03937789, w: 0.7060095} - m_LocalPosition: {x: 0.12537086, y: -0.049034484, z: -1.6419811} + m_LocalPosition: {x: 0.12537086, y: -0.056, z: -1.6419811} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 653944309} @@ -8848,7 +8848,7 @@ Transform: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1551644208} m_LocalRotation: {x: 0.0037605795, y: -0.057538804, z: 0.0010089572, w: 0.9983357} - m_LocalPosition: {x: 0.127, y: -0.10015444, z: -1.6462} + m_LocalPosition: {x: 0.127, y: -0.109, z: -1.6462} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 653944309} diff --git a/Assets/1_SelfDrivingCar/Scenes/LakeTrackTraining.unity b/Assets/1_SelfDrivingCar/Scenes/LakeTrackTraining.unity index c1b0461d2..ea0ab9af5 100644 --- a/Assets/1_SelfDrivingCar/Scenes/LakeTrackTraining.unity +++ b/Assets/1_SelfDrivingCar/Scenes/LakeTrackTraining.unity @@ -8557,7 +8557,7 @@ Transform: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1532577928} m_LocalRotation: {x: -0.7060095, y: -0.03937789, z: -0.03937789, w: 0.7060095} - m_LocalPosition: {x: 0.12537086, y: -0.049034484, z: -1.6419811} + m_LocalPosition: {x: 0.12537086, y: -0.056, z: -1.6419811} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 653944309} @@ -8724,7 +8724,7 @@ Transform: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1551644208} m_LocalRotation: {x: 0.0037605795, y: -0.057538804, z: 0.0010089572, w: 0.9983357} - m_LocalPosition: {x: 0.127, y: -0.10015444, z: -1.6462} + m_LocalPosition: {x: 0.127, y: -0.109, z: -1.6462} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 653944309} diff --git a/Assets/Standard Assets/Vehicles/Car/Scripts/Steering.cs b/Assets/Standard Assets/Vehicles/Car/Scripts/Steering.cs index dea2208f9..2612ca460 100644 --- a/Assets/Standard Assets/Vehicles/Car/Scripts/Steering.cs +++ b/Assets/Standard Assets/Vehicles/Car/Scripts/Steering.cs @@ -80,7 +80,9 @@ public void UpdateValues() // reset mouse_hold = false; - H = 0; + + H = CrossPlatformInputManager.GetAxis ("Horizontal"); + } } diff --git a/Assets/race-track-lake/Models/LakeTerrain.asset b/Assets/race-track-lake/Models/LakeTerrain.asset index 84238017e..f1289fcf2 100644 Binary files a/Assets/race-track-lake/Models/LakeTerrain.asset and b/Assets/race-track-lake/Models/LakeTerrain.asset differ diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 000000000..b4b1aab88 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Udacity + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 7e7863a26..85e706abc 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,60 @@ ## Welcome to Udacity's Self-Driving Car Simulator -using Unity which features two tracks and the ability to record your driving behavior by capturing images in front of the car, and the car's steering angle values. -You can then train a neural network with the saved images and steering values to drive the car all by its self around the track, [Full Project Details]( https://github.com/udacity/CarND-Behavioral-Cloning-P3) -### When cloning the repository, please make sure to use Git LFS to properly pull over large texture and model assets. +This simulator was built for [Udacity's Self-Driving Car Nanodegree](https://udacity.com/drive), to teach students how to train cars how to navigate road courses using deep learning. See more [project details here](https://github.com/udacity/CarND-Behavioral-Cloning-P3). + +All the assets in this repository require Unity. Please follow the instructions below for the full setup. + +### Available Game Builds (Precompiled builds of the simulator) + +#### Term 1 + +Instructions: Download the zip file, extract it and run the executable file. + +Version 2, 2/07/17 + +[Linux](https://s3-us-west-1.amazonaws.com/udacity-selfdrivingcar/Term1-Sim/term1-simulator-linux.zip) +[Mac](https://s3-us-west-1.amazonaws.com/udacity-selfdrivingcar/Term1-Sim/term1-simulator-mac.zip) +[Windows](https://s3-us-west-1.amazonaws.com/udacity-selfdrivingcar/Term1-Sim/term1-simulator-windows.zip) + +Version 1, 12/09/16 + +[Linux](https://d17h27t6h515a5.cloudfront.net/topher/2016/November/5831f0f7_simulator-linux/simulator-linux.zip) +[Mac](https://d17h27t6h515a5.cloudfront.net/topher/2016/November/5831f290_simulator-macos/simulator-macos.zip) +[Windows 32](https://d17h27t6h515a5.cloudfront.net/topher/2016/November/5831f4b6_simulator-windows-32/simulator-windows-32.zip) +[Windows 64](https://d17h27t6h515a5.cloudfront.net/topher/2016/November/5831f3a4_simulator-windows-64/simulator-windows-64.zip) + +#### Term 2 + +Please see the [Releases](https://github.com/udacity/self-driving-car-sim/releases) page for the latest version of the Term 2 simulator (v1.45, 6/14/17). + +Source code can be obtained therein or also on the [term2_collection branch](https://github.com/udacity/self-driving-car-sim/tree/term2_collection). + +#### Term 3 + +Please see the [Releases](https://github.com/udacity/self-driving-car-sim/releases) page for the latest version of the Term 3 simulator (v1.2, 7/11/17). + +Source code can be obtained therein or also on the [term3_collection branch](https://github.com/udacity/self-driving-car-sim/tree/term3_collection). + +#### System Integration / Capstone + +Please see the [CarND-Capstone Releases](https://github.com/udacity/CarND-Capstone/releases) page for the latest version of the Capstone simulator (v1.3, 12/7/17). + +Source code can be obtained therein. + +### Unity Simulator User Instructions + +1. Clone the repository to your local directory, please make sure to use [Git LFS](https://git-lfs.github.com) to properly pull over large texture and model assets. + +2. Install the free game making engine [Unity](https://unity3d.com), if you dont already have it. Unity is necessary to load all the assets. + +3. Load Unity, Pick load exiting project and choice the `self-driving-car-sim` folder. + +4. Load up scenes by going to Project tab in the bottom left, and navigating to the folder Assets/1_SelfDrivingCar/Scenes. To load up one of the scenes, for example the Lake Track, double click the file LakeTrackTraining.unity. Once the scene is loaded up you can fly around it in the scene viewing window by holding mouse right click to turn, and mouse scroll to zoom. + +5. Play a scene. Jump into game mode anytime by simply clicking the top play button arrow right above the viewing window. + +6. View Scripts. Scripts are what make all the different mechanics of the simulator work and they are located in two different directories, the first is Assets/1_SelfDrivingCar/Scripts which mostly relate to the UI and socket connections. The second directory for scripts is Assets/Standard Assets/Vehicle/Car/Scripts and they control all the different interactions with the car. + +7. Building a new track. You can easily build a new track by using the prebuilt road prefabs located in Assets/RoadKit/Prefabs click and drag the road prefab pieces onto the editor, you can snap road pieces together easily by using vertex snapping by holding down "v" and dragging a road piece close to another piece. ![Self-Driving Car Simulator](./sim_image.png) diff --git a/simulator_issues_info.md b/simulator_issues_info.md new file mode 100644 index 000000000..a165c8b2c --- /dev/null +++ b/simulator_issues_info.md @@ -0,0 +1,15 @@ +## Known Simulator Issues + +- **Log File Issue:** Students have reported rapid expansion of log files when using the term 2 and term 3 simulators, which can cause issues with system memory. We plan to address this in a future release. This appears to be associated with not being connected to uWebSockets. If this does occur, please make sure you are conneted to uWebSockets. The following workaround may also be effective at preventing large log files. For linux users, log file behavior can be adjusted through the Unity editor via ```player settings```. The strategy below has proven effective for some students, with non-Linux OS. + + create an empty log file + + remove write permissions so that the simulator can't write to log + +- **Locale Issue:** Some students have reported term 2 simulator issues related to non-US locale settings. We plan to address this in a future release. More information can be found [here](https://discussions.udacity.com/t/datasets-seem-to-be-missing-in-simulator-v1-45-ubuntu-16-04/373597/23?u=subodh.malgonde) and [here](https://discussions.udacity.com/t/term-2-simulator-not-working-properly/446386/5?u=subodh.malgonde). The following workarounds have been succesful. + - **Workaround 1:** + + ```sudo locale-gen "en_US.UTF-8"``` + + ```sudo dpkg-reconfigure locales``` Choose en-us + + Restart +- **Workaround 2:** + + Change Regional Formats (Ubuntu: Language Support -> Regional Formats) + + Select English (US) + + Restart