Browse Source

Toegevoegd tbv design of experiment.
1. Een MongoDB – koppelen aan Unity. De positie/orientation van de linerobot moet in de tijd worden getraced en opgeslagen in MongoDB. = getest
2. Maken json-configfile voor startup met daarin een paar regel-parameters (PID) en lengte tijd t van simulatie en DB-gegevens. In DB de positie en orientatie van de lijnrobot elke seconde.
3. Applicatie sluit automatische na t seconde (in config-file te definiëren).Dit geldt alleen voor executable.
4. Jpeg rendertexture fixed en zelfde formaat als depthimage (nieuw script gemaakt, er wordt een bestaande rendertexture gebruikt ipv nieuwe ge-genereerd, van oude is formaat zelfde als die van depthimage)
5. In json mogelijkheid lijnen definieren punten van parcours (en lijnbreedte)
6. Parcours wordt gegenereerd op platte vlak
7. Update README

Edward Hage 4 years ago
parent
commit
1d45b24c95
100 changed files with 19790 additions and 1265 deletions
  1. 100 1
      README.md
  2. BIN
      Unity/LineRobot/.vs/LineRobot/v16/.suo
  3. BIN
      Unity/LineRobot/.vs/LineRobot/v16/Browse.VC.db
  4. 1160 1140
      Unity/LineRobot/Assembly-CSharp.csproj
  5. 106 0
      Unity/LineRobot/Assets/CameraJpegPubExistingTexture.cs
  6. 11 0
      Unity/LineRobot/Assets/CameraJpegPubExistingTexture.cs.meta
  7. 77 0
      Unity/LineRobot/Assets/DatabaseSavePose.cs
  8. 11 0
      Unity/LineRobot/Assets/DatabaseSavePose.cs.meta
  9. 8 0
      Unity/LineRobot/Assets/Materials.meta
  10. 77 0
      Unity/LineRobot/Assets/Materials/White.mat
  11. 8 0
      Unity/LineRobot/Assets/Materials/White.mat.meta
  12. 74 0
      Unity/LineRobot/Assets/RenderParcours.cs
  13. 11 0
      Unity/LineRobot/Assets/RenderParcours.cs.meta
  14. 33 12
      Unity/LineRobot/Assets/Scenes/SampleScene.unity
  15. 115 2
      Unity/LineRobot/Assets/Scenes/Scene2.unity
  16. 17689 0
      Unity/LineRobot/Assets/Scenes/SceneLineRenderer.unity
  17. 7 0
      Unity/LineRobot/Assets/Scenes/SceneLineRenderer.unity.meta
  18. 55 1
      Unity/LineRobot/Assets/Scripts/ConfigReader.cs
  19. 37 0
      Unity/LineRobot/Assets/Scripts/Images/RGBRenderTexture.renderTexture
  20. 8 0
      Unity/LineRobot/Assets/Scripts/Images/RGBRenderTexture.renderTexture.meta
  21. 15 0
      Unity/LineRobot/Assets/SpeedControllerFromConfig.cs
  22. 11 0
      Unity/LineRobot/Assets/SpeedControllerFromConfig.cs.meta
  23. 24 0
      Unity/LineRobot/Assets/StopApplicationFromConfig.cs
  24. 11 0
      Unity/LineRobot/Assets/StopApplicationFromConfig.cs.meta
  25. 22 0
      Unity/LineRobot/Assets/VelocitySetpointFromConfig.cs
  26. 11 0
      Unity/LineRobot/Assets/VelocitySetpointFromConfig.cs.meta
  27. BIN
      Unity/LineRobot/Library/AnnotationManager
  28. BIN
      Unity/LineRobot/Library/ArtifactDB
  29. BIN
      Unity/LineRobot/Library/Artifacts/0f/0f0ae03c7512bdd13d62009f587fc719
  30. BIN
      Unity/LineRobot/Library/Artifacts/12/1286e61cc65c0e21b4349b4978288482
  31. BIN
      Unity/LineRobot/Library/Artifacts/19/19592160aa4c8a10b5ccc6a9cfeb97b6
  32. BIN
      Unity/LineRobot/Library/Artifacts/19/1995d7221434511ddb8f8380b93f3bb9
  33. BIN
      Unity/LineRobot/Library/Artifacts/1d/1daf3fd3a1546834d71cb7c962aaeec0
  34. BIN
      Unity/LineRobot/Library/Artifacts/1f/1f9cab38e9288bf7d6af5ad735a1f946
  35. BIN
      Unity/LineRobot/Library/Artifacts/23/2390f7c002c6c8bdd7b1c468279bf445
  36. BIN
      Unity/LineRobot/Library/Artifacts/24/2417b77fc84bc8cb766ec775903a9b62
  37. BIN
      Unity/LineRobot/Library/Artifacts/27/27c5737902b4022bca0129040b3bd946
  38. BIN
      Unity/LineRobot/Library/Artifacts/27/27e02d35bd23c278d1d811d83c739edb
  39. BIN
      Unity/LineRobot/Library/Artifacts/29/29db7e7b358b6c56417f2bd09b37145c
  40. BIN
      Unity/LineRobot/Library/Artifacts/30/30a2a1bc1a8f910265aa575d199d5d7d
  41. BIN
      Unity/LineRobot/Library/Artifacts/32/3207e36a58ce39ee9246f3f43cffdc20
  42. BIN
      Unity/LineRobot/Library/Artifacts/36/366b14c03dbc605b7aa473c5e35c0c1b
  43. BIN
      Unity/LineRobot/Library/Artifacts/38/3865819a71335e19a6b63e291c006a94
  44. BIN
      Unity/LineRobot/Library/Artifacts/39/393b10d547d755364d2de3a49876e33b
  45. BIN
      Unity/LineRobot/Library/Artifacts/3d/3d5b2208f49611361dd75794495450c3
  46. BIN
      Unity/LineRobot/Library/Artifacts/44/447ff564d5f356d6585487f409614bab
  47. BIN
      Unity/LineRobot/Library/Artifacts/44/44ad654e8fd2f362f58231c07bf40fbe
  48. BIN
      Unity/LineRobot/Library/Artifacts/46/46359264b729b381ec8c0a2ae8c89384
  49. BIN
      Unity/LineRobot/Library/Artifacts/47/47bf316a3d9a97e5a04251b4bee7733b
  50. BIN
      Unity/LineRobot/Library/Artifacts/58/5870622c629af8d046f899bf880f4561
  51. BIN
      Unity/LineRobot/Library/Artifacts/69/69677bc0b5b98e65fde374842a2df9c9
  52. BIN
      Unity/LineRobot/Library/Artifacts/6b/6b6c8de50b00897f561d09f52572c259
  53. BIN
      Unity/LineRobot/Library/Artifacts/6b/6b9810939481be5696143a6b2ce53ce6
  54. BIN
      Unity/LineRobot/Library/Artifacts/6c/6c1c94a23f4fc6911fea6c4ca84a39ff
  55. BIN
      Unity/LineRobot/Library/Artifacts/73/73e1129eb8e3a03271b37666e85a7d8b
  56. BIN
      Unity/LineRobot/Library/Artifacts/75/7546c77a0cfc31eb99b35da11298773e
  57. BIN
      Unity/LineRobot/Library/Artifacts/78/78af1735f89100415cf9cd6e08c89a24
  58. BIN
      Unity/LineRobot/Library/Artifacts/7b/7bca7cf04915fe1649444a25da00f073
  59. BIN
      Unity/LineRobot/Library/Artifacts/85/8586dd30896893ad339d53acd2aa3dc8
  60. BIN
      Unity/LineRobot/Library/Artifacts/86/86589879b9226a7d56591b5adcc12bcd
  61. BIN
      Unity/LineRobot/Library/Artifacts/8a/8af16b9931de70a3d9e7ba7490bc088b
  62. BIN
      Unity/LineRobot/Library/Artifacts/a0/a005e9b50648ce3680df10d6be3d84f8
  63. BIN
      Unity/LineRobot/Library/Artifacts/a3/a356cfa6dfa3c6d1473b3417dda26eee
  64. BIN
      Unity/LineRobot/Library/Artifacts/a7/a7aa3de322c2c946e64b89d4c80e951e
  65. BIN
      Unity/LineRobot/Library/Artifacts/a8/a8c5efd7b29244dba61e43e37db94b5e
  66. BIN
      Unity/LineRobot/Library/Artifacts/ac/acb0c0d2bd74d3ee7f4cf920ab36191e
  67. BIN
      Unity/LineRobot/Library/Artifacts/b4/b46098131eeeb5774cf5aef5bf6de94d
  68. BIN
      Unity/LineRobot/Library/Artifacts/b5/b5f2ba82b419354d0ef185bab22c809e
  69. BIN
      Unity/LineRobot/Library/Artifacts/ba/bac4fdfe8c9b64f9d37b0a5d2b09dc5e
  70. BIN
      Unity/LineRobot/Library/Artifacts/be/be5bb01020301d5e6abe4c251db9bfc2
  71. BIN
      Unity/LineRobot/Library/Artifacts/c1/c1fe6b7c4abb5d76c966709a0cdb37e4
  72. BIN
      Unity/LineRobot/Library/Artifacts/c6/c66cab483bde6124ad677888e1e748d1
  73. BIN
      Unity/LineRobot/Library/Artifacts/c7/c79f22ebadeb8455df11bf64c95b454f
  74. BIN
      Unity/LineRobot/Library/Artifacts/cc/cc20f1013cecf69a6094895d41618217
  75. BIN
      Unity/LineRobot/Library/Artifacts/cc/ccd368f7ad78abd9f5ea4a139bb1b306
  76. BIN
      Unity/LineRobot/Library/Artifacts/d5/d5941baf8e622c63a3c29a1acc09ada3
  77. BIN
      Unity/LineRobot/Library/Artifacts/d6/d65c9aae39ffa4ab2a553872fd2288c1
  78. BIN
      Unity/LineRobot/Library/Artifacts/d6/d671cc8703b088347ec17415d70b6c94
  79. BIN
      Unity/LineRobot/Library/Artifacts/d8/d86358ac2746bcd44c20396d33365b65
  80. BIN
      Unity/LineRobot/Library/Artifacts/d9/d9d8b861d121ef8f7d90ed70dcc4a347
  81. BIN
      Unity/LineRobot/Library/Artifacts/db/dbb6ccbbf09c53ac1e643bd20a14d17d
  82. BIN
      Unity/LineRobot/Library/Artifacts/df/df322c94cabe914489fb9aded4b89c3f
  83. BIN
      Unity/LineRobot/Library/Artifacts/e5/e5a83248bf48253b3ee88bc4088104a4
  84. BIN
      Unity/LineRobot/Library/Artifacts/e6/e65635a9193cf52f7dd48679524e3916
  85. BIN
      Unity/LineRobot/Library/Artifacts/ef/ef44b6ce03a6d2cc54704626ff9186e9
  86. BIN
      Unity/LineRobot/Library/Artifacts/f0/f04644f9b0097fdd0c6dec357352c054
  87. BIN
      Unity/LineRobot/Library/Artifacts/f1/f1baa4e6da12e80c85ae13055cf8ff8a
  88. BIN
      Unity/LineRobot/Library/Artifacts/fb/fbfbb9125b8b30502667e5396de87a67
  89. BIN
      Unity/LineRobot/Library/Artifacts/fc/fcbb7e1e466adb8b4eb98094ff7454d4
  90. 109 109
      Unity/LineRobot/Library/CurrentLayout-default.dwlt
  91. BIN
      Unity/LineRobot/Library/InspectorExpandedItems.asset
  92. BIN
      Unity/LineRobot/Library/LastBuild.buildreport
  93. BIN
      Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/Assembly-CSharp.dll
  94. BIN
      Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/Crc32C.NET.dll
  95. BIN
      Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/DnsClient.dll
  96. BIN
      Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/MongoDB.Bson.dll
  97. BIN
      Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/MongoDB.Driver.Core.dll
  98. BIN
      Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/MongoDB.Driver.dll
  99. BIN
      Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/MongoDB.Libmongocrypt.dll
  100. 0 0
      Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/SharpCompress.dll

+ 100 - 1
README.md

@@ -55,7 +55,106 @@ Than it shows the image with a colormap (depth-2-colormap).
 
 Additionally we would be able to re-pulish the topic under another topic-name, and than it could be shown in rqt_gui.
 
-## 
+## Database 
+A MongoDB is used to store timedata (currently only the position and orientation of the linerobot every second).
+
+Instaal a MongoDB and readup on howto do that (A DB can be stored locally or in the cloud)
+
+## Executable
+A Unity-executable can be built from within the Unity Editor. A scene (or multiple scenes) must be used.
+There are 3 scenes defined in the project. They work stand-alone (they are not linked to eachother, like typically is done in a game which has levels, than each level is a scene).
+That is why you should only compile one scene at a time.
+For use of design of experiment use the scene 'SceneLineRenderer'.
+
+## Design of Experiment
+For design of experiment a configuration file is read. The config.json is read that is in the main directory of the Editor (the parent of the Assets-folder) or the main executable-directory (in which the bat-file is present to start the executable).
+
+The json-configuration file looks like this:
+[code]
+{ "Database" :	{ "ClientConnection" : "mongodb://127.0.0.1:27017",
+                  "DatabaseName" : "test",
+                  "DBCollection" : "LineRobot2"
+				},
+    "Kspeedcontroller" : 1.45,
+    "SimulationTime" : 10.0,
+    "VelocitySetpointGenerator" :  { "Dark" : 0.6,
+                                     "Bright" : 1.0,
+                                     "Threshold1" : 0.78,
+                                     "Threshold2" : 0.83,
+                                     "DistanceCenterToWheel" : 0.07,
+                                     "K" : 2.1,
+                                     "ForwardSpeed" : 0.1
+                                   },
+	"Parcours" : {
+		"LineWidth" : 0.05, 
+		"Kind" : "Trail",
+		"LinePieces" : [
+			{ "x" : 0.0, "y" : -0.1 },
+			{ "x" : 0.0, "y" : 0.0},
+			{ "x" : -1.0, "y" : 0.0},
+			{ "x" : -1.0, "y" : 1.0},
+			{ "x" : 0.0, "y" : -0.1}
+			]
+	}
+[/code]
+
+Lets analyse the content:
+### Database
+"ClientConnection" : "mongodb://127.0.0.1:27017"
+"DatabaseName" : "test"
+"DBCollection" : "LineRobot2"
+
+Tip: Download MongoDB Compass Community (free) from the MongoDB website and create a database (in the cloud or local), this will also show the connection string that can be copied to the json-file. The clientconnection is the connectionstring.
+
+A database MUST be present at start of the application and thus made beforehand, the Unity app does not create one.
+
+A DBCollection MUST not necessarily be present, the Unity app will create a collection if it does not exist. Typically you would store each experiment in a different collection.
+
+### Kspeedcontroller
+The left and right-motor each receive a speed-setpoint from the VelocitySetpointGenerator. This is the P-action of each speedcontroller. If you do not know what this does keep it at 1.45.
+
+### SimulationTime
+This is the time in seconds after which the application stops. So if you want to store 20 seconds of linerobot-data set the simulation time to 20 seconds.
+
+### VelocitySetpointGenerator
+This contains the settings that use the redsensor to determine setpoints for both wheels.
+
+The redvalue is a value from 0-1. This value is mapped to a different linear scale given the 4 values dark, bright, threshold 1 and threshold2.
+
+Constraint: Dark < Threshold1 < Threshold2 < Bright.
+
+The dark-value is mapped to -1
+The values between Threshold1 and Threshold2 are mapped to 0
+The bright-value is mapped to 1
+Any values inbetween are linearly interpolated
+
+
+DistanceCenterToWheel is half the distance between the two wheels. Do not alter this unless you really change the wheelbase, change K instead
+
+K is a proportial action to determine the required rotation 
+ForwardSpeed is the forward speed in m/s.
+
+
+### Parcours
+LineWidth determines the (constant) width of the lines 
+Kind has two options (case-sensitive)
+1. Trail
+2. PieceWise
+
+The LinePieces is an array of x and y.
++x = to right,
++y = to up (from point of view camera, x and y are on the flat horizontal plane)
+
+#### Trail
+In this case the array linepieces will form a uninterrupted line from each point to the next.
+
+#### PieceWise
+In this case the array of linepieces must have an even number of entries. If there are n entries than n/2 linepieces are made, going from 1st to 2nd entry, 3th to 4th entry, 5th to 6th, etc. 
+
+The lines are made with a LineRenderer in Unity and for the PieceWise case each linepiece has its own GameObject and LineRenderer attached to it.
+
+
+
 
 
 

BIN
Unity/LineRobot/.vs/LineRobot/v16/.suo


BIN
Unity/LineRobot/.vs/LineRobot/v16/Browse.VC.db


File diff suppressed because it is too large
+ 1160 - 1140
Unity/LineRobot/Assembly-CSharp.csproj


+ 106 - 0
Unity/LineRobot/Assets/CameraJpegPubExistingTexture.cs

@@ -0,0 +1,106 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.Rendering;
+using Unity.Collections;
+using sensor_msgs;
+using sensor_msgs.msg.dds_;
+
+/*
+ * This class is the same as CameraJpegPub only the rendertexture is already defined and assigned to the Camera 
+ * rendertexture MUST be R8G8B8_UNORM
+ */
+[RequireComponent(typeof(Camera))]
+public class CameraJpegPubExistingTexture : MonoBehaviour
+{
+    private Queue<AsyncGPUReadbackRequest> requests = new Queue<AsyncGPUReadbackRequest>();
+
+    public float timeBetweenRequests = 0.2f;
+    public string topicname = "rt/jaja/image_raw/compressed";
+    public string frame_id = null;
+    [Range(0, 100)]
+    public int JpgQuality = 50;
+
+    private Camera MyCamera;
+    private CompressedImagePublisher ImagePub;
+    private Texture2D tex;
+    private RenderTexture m_RenderTexture;
+    private float timer = 0.0f;
+    private CompressedImage_ myimage = new CompressedImage_ { format_ = "jpeg" };
+    private float[] depth_result;
+
+    void Start()
+    {
+        ImagePub = new CompressedImagePublisher(topicname);
+
+        MyCamera = GetComponent<Camera>();
+        MyCamera.rect = new Rect(0f, 0f, 1f, 1f);
+        // create RenderTexture and assign it to the main camera
+        m_RenderTexture = MyCamera.targetTexture; // get it instead of create it
+        MyCamera.pixelRect = new Rect(0, 0, m_RenderTexture.width, m_RenderTexture.height);
+        MyCamera.Render();
+
+        tex = new Texture2D(MyCamera.pixelWidth, MyCamera.pixelHeight, TextureFormat.BGRA32, false);
+        Debug.Log("In start, camsize width:" + MyCamera.pixelWidth.ToString() + " height:" + MyCamera.pixelHeight.ToString());
+    }
+
+    void Update()
+    {
+        // Handle Request Queue
+        while (requests.Count > 0)
+        {
+            // Get the first Request in the Queue
+            AsyncGPUReadbackRequest request = requests.Peek();
+            if (request.hasError)
+            {
+                // Error!
+                Debug.LogWarning("AsyncGPUReadbackRequest Error! :(");
+                requests.Dequeue(); // Remove from Queue
+            }
+            else if (request.done)
+            {
+                ReadbackData(request);
+                requests.Dequeue(); // Remove from Queue
+            }
+            else
+            {
+                // Request is still processing.
+                break;
+            }
+            // Note : We have to Dequeue items or break,
+            // or we'll be caught in an infinite loop!
+        }
+
+        // Handle Request Timer
+        timer += Time.deltaTime;
+        if (timer > timeBetweenRequests)
+        {
+            timer = timer - timeBetweenRequests;
+            AsyncGPUReadbackRequest rq = AsyncGPUReadback.Request(m_RenderTexture);
+            requests.Enqueue(rq);
+        }
+    }
+
+    void ReadbackData(AsyncGPUReadbackRequest request)
+    {
+        //tex = new Texture2D(512, 512, TextureFormat.BGRA32, false); //BGRSA32 dan kleuren okay, niet voor RGBA32 (blauw en rood omgedraaid)
+        // warom nieuwe tex, die is al gedefinieerd bij Start? dus weggehaald
+        int len = request.GetData<Color32>().ToArray().Length;
+
+        //Debug.Log("Got a AsyncGPUReadbackRequest with size " + len.ToString() + " and require size " + (MyCamera.pixelWidth * MyCamera.pixelHeight).ToString() + ", discarding it");
+        //Debug.Log("camsize width:" + MyCamera.pixelWidth.ToString() + " height:" + MyCamera.pixelHeight.ToString());
+
+        tex.SetPixels32(request.GetData<Color32>().ToArray());
+        tex.Apply();
+
+        myimage.data_ = tex.EncodeToJPG(JpgQuality);
+        myimage.header_.stamp_ = ros_helper.RosHelper.GetUnixTimestamp();
+        myimage.header_.frame_id_ = frame_id;
+        ImagePub.Publish(myimage); // dit duurt waarschijnlijk zo lang
+    }
+
+    private void OnDisable()
+    {
+        ImagePub.Cleanup();
+    }
+}

+ 11 - 0
Unity/LineRobot/Assets/CameraJpegPubExistingTexture.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1c7fc29026434394b9416bc21765a0d4
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 77 - 0
Unity/LineRobot/Assets/DatabaseSavePose.cs

@@ -0,0 +1,77 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using MongoDB.Driver;
+using MongoDB.Bson;
+using MongoDB.Bson.Serialization;
+
+public class DatabaseSavePose : MonoBehaviour
+{
+    public ConfigReader Config;
+    public float TimeBetweenSaves = 1.0f; 
+    //private string ClientConnection;
+    //private string DatabaseName;
+    private IMongoCollection<BsonDocument> collection;
+    private MongoClient client;
+    private IMongoDatabase db;
+    private float t = 0f;
+    void Start()
+    {
+        Connect();
+        _map();
+    }
+
+    public void Connect()
+    {
+        string ClientConnection = Config.configuration.Database.ClientConnection;
+        string DatabaseName = Config.configuration.Database.DatabaseName;
+        string coll = Config.configuration.Database.DBCollection; 
+        
+        client = new MongoClient(ClientConnection);
+        db = client.GetDatabase(DatabaseName);
+        collection = db.GetCollection<BsonDocument>(coll);
+    }
+
+
+    private void _map()
+    {
+        BsonClassMap.RegisterClassMap<Vector3>(cm =>
+        {
+            cm.AutoMap();
+            cm.SetIgnoreExtraElements(true);
+        });
+        BsonClassMap.RegisterClassMap<Quaternion>(cm =>
+        {
+            cm.AutoMap();
+            cm.SetIgnoreExtraElements(true);
+        });
+        BsonClassMap.RegisterClassMap<Pose>(cm =>
+        {
+            cm.AutoMap();
+            cm.SetIgnoreExtraElements(true);
+        });
+    }
+
+    void Update()
+    {
+        t += Time.deltaTime;
+        if (t > TimeBetweenSaves)
+        {
+            //save to database
+            Pose p = new Pose { item = "linerobot", 
+                                time = Time.time, 
+                                position = transform.position,  
+                                quaternion = transform.rotation};
+            var bson = p.ToBsonDocument();
+            collection.InsertOne(bson);
+            t = 0f;
+        }
+    }
+}
+public class Pose
+{
+    public string item;
+    public float time;
+    public Vector3 position;
+    public Quaternion quaternion;
+}

+ 11 - 0
Unity/LineRobot/Assets/DatabaseSavePose.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 21ee055f8f52066408e73f93736c71ea
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Unity/LineRobot/Assets/Materials.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6b3895494c5c7a346ab4305f53b16958
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 77 - 0
Unity/LineRobot/Assets/Materials/White.mat

@@ -0,0 +1,77 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: White
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.184
+    - _GlossyReflections: 1
+    - _Metallic: 0.645
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

+ 8 - 0
Unity/LineRobot/Assets/Materials/White.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 81db908d8e0dbe649bdff0914bf2bb68
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 74 - 0
Unity/LineRobot/Assets/RenderParcours.cs

@@ -0,0 +1,74 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class RenderParcours : MonoBehaviour
+{
+    public Transform MyParent;
+    public Material LineMaterial;
+    public ConfigReader Config;
+    void Start()
+    {
+        GetParcoursData();
+    }
+
+    void GetParcoursData()
+    {
+        /** "LineWidth" : 0.1, 
+		"Kind" : "PieceWise",	
+		"LinePieces" : [
+			{ "x" : 1.1, "y" : 12.2},
+			{ "x" : 1.43, "y" : 4.5},
+			{ "x" : 1.8, "y" : 3.5},
+			{ "x" : 1.1, "y" : 2.5}
+			]**/
+        if (Config.configuration.Parcours.Kind == "PieceWise")
+        {
+            ConfigLinePieces[] lps = Config.configuration.Parcours.LinePieces;
+            int AmntLinePieces = lps.Length / 2; // Length should have been checked by ConfigReader.ValidParcours() already
+            for (int i = 0; i < AmntLinePieces; i++)
+            {
+                GameObject Renderer = new GameObject();
+                Renderer.transform.SetParent(MyParent);
+                LineRenderer lr = Renderer.AddComponent<LineRenderer>();
+                PrepareLR(lr, Renderer);
+                lr.widthCurve = AnimationCurve.Constant(0.0f, 1f, Config.configuration.Parcours.LineWidth);
+                Vector3[] posvector = new Vector3[2];
+                posvector[0] = new Vector3(lps[i*2].x, lps[i*2].y, 0f);
+                posvector[1] = new Vector3(lps[i * 2 + 1].x, lps[i * 2 + 1].y, 0f);
+                lr.positionCount = posvector.Length;
+                lr.SetPositions(posvector);
+            }
+        }
+        else if (Config.configuration.Parcours.Kind == "Trail")
+        {
+            GameObject Renderer = new GameObject();
+            Renderer.transform.SetParent(MyParent);
+            LineRenderer lr = Renderer.AddComponent<LineRenderer>();
+            PrepareLR(lr, Renderer);
+            lr.widthCurve = AnimationCurve.Constant(0.0f, 1f, Config.configuration.Parcours.LineWidth);
+            ConfigLinePieces[] lps = Config.configuration.Parcours.LinePieces;
+            Vector3[] posvector = new Vector3[lps.Length];
+
+            for (int i = 0; i < lps.Length; i++)
+            {
+                posvector[i] = new Vector3(lps[i].x, lps[i].y, 0f);
+            }
+            lr.positionCount = posvector.Length;
+            lr.SetPositions(posvector);
+        }
+    }
+    void PrepareLR(LineRenderer lr, GameObject Renderer)
+    {
+        lr.alignment = LineAlignment.TransformZ;
+        lr.material = LineMaterial;
+        lr.textureMode = LineTextureMode.Stretch;
+        lr.useWorldSpace = false;
+        lr.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
+        Renderer.transform.localPosition = new Vector3(0, 0, -0.0001f);
+        Renderer.transform.localRotation = Quaternion.identity;
+        lr.generateLightingData = true;
+        lr.numCornerVertices = 3;
+        lr.numCapVertices = 3;
+    }
+}

+ 11 - 0
Unity/LineRobot/Assets/RenderParcours.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ad698d1866a171e4cbe77bbae6e83f03
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 33 - 12
Unity/LineRobot/Assets/Scenes/SampleScene.unity

@@ -212,7 +212,7 @@ Transform:
   m_LocalScale: {x: 0.4, y: 1, z: 0.4}
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 15
+  m_RootOrder: 14
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &242021463
 GameObject:
@@ -587,9 +587,9 @@ Camera:
     y: 0
     width: 1
     height: 1
-  near clip plane: 0.2
+  near clip plane: 0.01
   far clip plane: 10
-  field of view: 67.4
+  field of view: 72
   orthographic: 0
   orthographic size: 5
   m_Depth: 1
@@ -614,13 +614,13 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 396615287}
-  m_LocalRotation: {x: 0.36193335, y: -0, z: -0, w: 0.932204}
-  m_LocalPosition: {x: -0.402, y: 0.535, z: -0.558}
+  m_LocalRotation: {x: 1, y: 0.0000001872535, z: -0, w: 0}
+  m_LocalPosition: {x: -1.08, y: -0.08399999, z: 1.0593002}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
-  m_Father: {fileID: 0}
-  m_RootOrder: 14
-  m_LocalEulerAnglesHint: {x: 42.438004, y: 0, z: 0}
+  m_Father: {fileID: 1719910878}
+  m_RootOrder: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &396615292
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -1590,6 +1590,10 @@ MonoBehaviour:
       DistanceCenterToWheel: 0
       K: 0
       ForwardSpeed: 0
+    Parcours:
+      LineWidth: 0
+      Kind: 
+      LinePieces: []
 --- !u!4 &1226069896
 Transform:
   m_ObjectHideFlags: 0
@@ -1647,6 +1651,7 @@ GameObject:
   - component: {fileID: 1613415840}
   - component: {fileID: 1613415839}
   - component: {fileID: 1613415838}
+  - component: {fileID: 1613415842}
   m_Layer: 0
   m_Name: Camera
   m_TagString: Untagged
@@ -1661,7 +1666,7 @@ MonoBehaviour:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1613415837}
-  m_Enabled: 1
+  m_Enabled: 0
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: d05140bc406fa964a95ea2ba781df27e, type: 3}
   m_Name: 
@@ -1702,7 +1707,7 @@ Camera:
     width: 1
     height: 1
   near clip plane: 0.01
-  far clip plane: 200
+  far clip plane: 10
   field of view: 72
   orthographic: 0
   orthographic size: 5
@@ -1711,7 +1716,7 @@ Camera:
     serializedVersion: 2
     m_Bits: 4294967295
   m_RenderingPath: -1
-  m_TargetTexture: {fileID: 0}
+  m_TargetTexture: {fileID: 8400000, guid: 99c08ce20ff5eb44e85b3a1876a4b2d9, type: 2}
   m_TargetDisplay: 1
   m_TargetEye: 3
   m_HDR: 1
@@ -1733,8 +1738,24 @@ Transform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 1719910878}
-  m_RootOrder: 6
+  m_RootOrder: 7
   m_LocalEulerAnglesHint: {x: 180, y: 0, z: -0.000015258789}
+--- !u!114 &1613415842
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1613415837}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1c7fc29026434394b9416bc21765a0d4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  timeBetweenRequests: 0.2
+  topicname: rt/jaja/image_raw/compressed
+  frame_id: myframe
+  JpgQuality: 50
 --- !u!1001 &1719910877
 PrefabInstance:
   m_ObjectHideFlags: 0

+ 115 - 2
Unity/LineRobot/Assets/Scenes/Scene2.unity

@@ -326,7 +326,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!114 &392296676
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -403,11 +403,13 @@ MonoBehaviour:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 392296675}
-  m_Enabled: 1
+  m_Enabled: 0
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: 1809c05a50329574d808d7c5a1e58393, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  robot: {fileID: 0}
+  shadowbox: {fileID: 0}
 --- !u!1 &450879079
 GameObject:
   m_ObjectHideFlags: 0
@@ -1055,6 +1057,117 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 10
   m_LocalEulerAnglesHint: {x: 0, y: 62.600002, z: 0}
+--- !u!1 &1118547233
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1118547238}
+  - component: {fileID: 1118547237}
+  - component: {fileID: 1118547236}
+  - component: {fileID: 1118547235}
+  - component: {fileID: 1118547234}
+  m_Layer: 0
+  m_Name: Pen
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!54 &1118547234
+Rigidbody:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1118547233}
+  serializedVersion: 2
+  m_Mass: 0.1
+  m_Drag: 0.1
+  m_AngularDrag: 0.05
+  m_UseGravity: 1
+  m_IsKinematic: 0
+  m_Interpolate: 0
+  m_Constraints: 0
+  m_CollisionDetection: 0
+--- !u!136 &1118547235
+CapsuleCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1118547233}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  m_Radius: 0.5000001
+  m_Height: 2
+  m_Direction: 1
+  m_Center: {x: 0.000000059604645, y: 0, z: -0.00000008940697}
+--- !u!23 &1118547236
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1118547233}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &1118547237
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1118547233}
+  m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1118547238
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1118547233}
+  m_LocalRotation: {x: -0, y: -0, z: 0.581089, w: 0.81384003}
+  m_LocalPosition: {x: -0.3951, y: 0.131, z: -0.0288}
+  m_LocalScale: {x: 0.005, y: 0.1, z: 0.005}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 11
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 71.054}
 --- !u!1 &1156873515
 GameObject:
   m_ObjectHideFlags: 0

File diff suppressed because it is too large
+ 17689 - 0
Unity/LineRobot/Assets/Scenes/SceneLineRenderer.unity


+ 7 - 0
Unity/LineRobot/Assets/Scenes/SceneLineRenderer.unity.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 5ef4be4e64d02ff4fa2aa7f0f8b24212
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 55 - 1
Unity/LineRobot/Assets/Scripts/ConfigReader.cs

@@ -19,7 +19,17 @@ using System;
                                      "DistanceCenterToWheel" : 0.07,
                                      "K" : 2,
                                      "ForwardSpeed" : 0.1
-                                   }
+                                   },
+	"Parcours" : {
+		"LineWidth" : 0.1, 
+		"Kind" : "PieceWise",	
+		"LinePieces" : [
+			{ "x" : 1.1, "y" : 12.2},
+			{ "x" : 1.43, "y" : 4.5},
+			{ "x" : 1.8, "y" : 3.5},
+			{ "x" : 1.1, "y" : 2.5}
+			]
+	}
 } **/
 
 [System.Serializable]
@@ -42,6 +52,21 @@ public class ConfigVelocitySetpointGenerator
     public float ForwardSpeed;
 }
 
+[System.Serializable]
+public class ConfigLinePieces
+{
+    public float x;
+    public float y;
+}
+
+[System.Serializable]
+public class ConfigParcours
+{
+    public float LineWidth;
+    public string Kind; // PieceWise of Trail
+    public ConfigLinePieces[] LinePieces;
+}
+
 [System.Serializable]
 public class Config
 {
@@ -49,6 +74,7 @@ public class Config
     public float Kspeedcontroller;
     public float SimulationTime;
     public ConfigVelocitySetpointGenerator VelocitySetpointGenerator;
+    public ConfigParcours Parcours;
 }
 
 public class ConfigReader : MonoBehaviour
@@ -121,4 +147,32 @@ public class ConfigReader : MonoBehaviour
         return true;
     }
 
+    public bool ValidParcours()
+    {
+        if (configuration.Parcours.LinePieces.Length > 1)
+        {
+            if (configuration.Parcours.Kind == "PieceWise")
+            {
+                // There should be an even amount of points
+                if (configuration.Parcours.LinePieces.Length % 2 == 0)
+                {
+                    return true;
+                }
+                else
+                {
+                    return false;
+                }
+            }
+            else
+            {
+                return true;
+            }
+        }
+        else
+        {
+            return false;
+        }
+    }
+    
+
 }

+ 37 - 0
Unity/LineRobot/Assets/Scripts/Images/RGBRenderTexture.renderTexture

@@ -0,0 +1,37 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!84 &8400000
+RenderTexture:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: RGBRenderTexture
+  m_ImageContentsHash:
+    serializedVersion: 2
+    Hash: 00000000000000000000000000000000
+  m_ForcedFallbackFormat: 4
+  m_DownscaleFallback: 0
+  serializedVersion: 3
+  m_Width: 256
+  m_Height: 256
+  m_AntiAliasing: 1
+  m_MipCount: -1
+  m_DepthFormat: 2
+  m_ColorFormat: 8
+  m_MipMap: 0
+  m_GenerateMips: 1
+  m_SRGB: 0
+  m_UseDynamicScale: 0
+  m_BindMS: 0
+  m_EnableCompatibleFormat: 1
+  m_TextureSettings:
+    serializedVersion: 2
+    m_FilterMode: 1
+    m_Aniso: 0
+    m_MipBias: 0
+    m_WrapU: 1
+    m_WrapV: 1
+    m_WrapW: 1
+  m_Dimension: 2
+  m_VolumeDepth: 1

+ 8 - 0
Unity/LineRobot/Assets/Scripts/Images/RGBRenderTexture.renderTexture.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 99c08ce20ff5eb44e85b3a1876a4b2d9
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 8400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 15 - 0
Unity/LineRobot/Assets/SpeedControllerFromConfig.cs

@@ -0,0 +1,15 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class SpeedControllerFromConfig : MonoBehaviour
+{
+    public ConfigReader Config;
+    public SteeringLineRobot SteeringLineRobot;
+
+    void Start()
+    {
+        SteeringLineRobot.KSpeedController = Config.configuration.Kspeedcontroller;
+    }
+
+}

+ 11 - 0
Unity/LineRobot/Assets/SpeedControllerFromConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1e8be6f8f83d0354090e0dfc1eae16a6
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 24 - 0
Unity/LineRobot/Assets/StopApplicationFromConfig.cs

@@ -0,0 +1,24 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class StopApplicationFromConfig : MonoBehaviour
+{
+    public ConfigReader Config;
+    private float totaltime;
+    private float currenttime = 0f;
+    void Start()
+    {
+        totaltime = Config.configuration.SimulationTime;
+    }
+
+    private void Update()
+    {
+        currenttime += Time.deltaTime;
+        if (currenttime > totaltime)
+        {
+            // stop the application (does not work in the Editor, only for builds)
+            Application.Quit();
+        }
+    }
+}

+ 11 - 0
Unity/LineRobot/Assets/StopApplicationFromConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 34ab2f0c5493a7f43af3ff2591869cf2
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 22 - 0
Unity/LineRobot/Assets/VelocitySetpointFromConfig.cs

@@ -0,0 +1,22 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class VelocitySetpointFromConfig : MonoBehaviour
+{
+    public ConfigReader Config;
+    public VelocitySetpointGeneration VelocitySetpoint;
+    
+    void Start()
+    {
+        var VSConfig = Config.configuration.VelocitySetpointGenerator;
+        VelocitySetpoint.Bright = VSConfig.Bright;
+        VelocitySetpoint.Dark = VSConfig.Dark;
+        VelocitySetpoint.Threshold1 = VSConfig.Threshold1;
+        VelocitySetpoint.Threshold2 = VSConfig.Threshold2;
+        VelocitySetpoint.DistanceCenterToWheel = VSConfig.DistanceCenterToWheel;
+        VelocitySetpoint.K = VSConfig.K;
+        VelocitySetpoint.ForwardSpeed = VSConfig.ForwardSpeed;
+    }
+
+}

+ 11 - 0
Unity/LineRobot/Assets/VelocitySetpointFromConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ec51a800c8d1c2b4996b2ab4adfa21ef
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Unity/LineRobot/Library/AnnotationManager


BIN
Unity/LineRobot/Library/ArtifactDB


BIN
Unity/LineRobot/Library/Artifacts/0f/0f0ae03c7512bdd13d62009f587fc719


BIN
Unity/LineRobot/Library/Artifacts/12/1286e61cc65c0e21b4349b4978288482


BIN
Unity/LineRobot/Library/Artifacts/19/19592160aa4c8a10b5ccc6a9cfeb97b6


BIN
Unity/LineRobot/Library/Artifacts/19/1995d7221434511ddb8f8380b93f3bb9


BIN
Unity/LineRobot/Library/Artifacts/1d/1daf3fd3a1546834d71cb7c962aaeec0


BIN
Unity/LineRobot/Library/Artifacts/1f/1f9cab38e9288bf7d6af5ad735a1f946


BIN
Unity/LineRobot/Library/Artifacts/23/2390f7c002c6c8bdd7b1c468279bf445


BIN
Unity/LineRobot/Library/Artifacts/24/2417b77fc84bc8cb766ec775903a9b62


BIN
Unity/LineRobot/Library/Artifacts/27/27c5737902b4022bca0129040b3bd946


BIN
Unity/LineRobot/Library/Artifacts/27/27e02d35bd23c278d1d811d83c739edb


BIN
Unity/LineRobot/Library/Artifacts/29/29db7e7b358b6c56417f2bd09b37145c


BIN
Unity/LineRobot/Library/Artifacts/30/30a2a1bc1a8f910265aa575d199d5d7d


BIN
Unity/LineRobot/Library/Artifacts/32/3207e36a58ce39ee9246f3f43cffdc20


BIN
Unity/LineRobot/Library/Artifacts/36/366b14c03dbc605b7aa473c5e35c0c1b


BIN
Unity/LineRobot/Library/Artifacts/38/3865819a71335e19a6b63e291c006a94


BIN
Unity/LineRobot/Library/Artifacts/39/393b10d547d755364d2de3a49876e33b


BIN
Unity/LineRobot/Library/Artifacts/3d/3d5b2208f49611361dd75794495450c3


BIN
Unity/LineRobot/Library/Artifacts/44/447ff564d5f356d6585487f409614bab


BIN
Unity/LineRobot/Library/Artifacts/44/44ad654e8fd2f362f58231c07bf40fbe


BIN
Unity/LineRobot/Library/Artifacts/46/46359264b729b381ec8c0a2ae8c89384


BIN
Unity/LineRobot/Library/Artifacts/47/47bf316a3d9a97e5a04251b4bee7733b


BIN
Unity/LineRobot/Library/Artifacts/58/5870622c629af8d046f899bf880f4561


BIN
Unity/LineRobot/Library/Artifacts/69/69677bc0b5b98e65fde374842a2df9c9


BIN
Unity/LineRobot/Library/Artifacts/6b/6b6c8de50b00897f561d09f52572c259


BIN
Unity/LineRobot/Library/Artifacts/6b/6b9810939481be5696143a6b2ce53ce6


BIN
Unity/LineRobot/Library/Artifacts/6c/6c1c94a23f4fc6911fea6c4ca84a39ff


BIN
Unity/LineRobot/Library/Artifacts/73/73e1129eb8e3a03271b37666e85a7d8b


BIN
Unity/LineRobot/Library/Artifacts/75/7546c77a0cfc31eb99b35da11298773e


BIN
Unity/LineRobot/Library/Artifacts/78/78af1735f89100415cf9cd6e08c89a24


BIN
Unity/LineRobot/Library/Artifacts/7b/7bca7cf04915fe1649444a25da00f073


BIN
Unity/LineRobot/Library/Artifacts/85/8586dd30896893ad339d53acd2aa3dc8


BIN
Unity/LineRobot/Library/Artifacts/86/86589879b9226a7d56591b5adcc12bcd


BIN
Unity/LineRobot/Library/Artifacts/8a/8af16b9931de70a3d9e7ba7490bc088b


BIN
Unity/LineRobot/Library/Artifacts/a0/a005e9b50648ce3680df10d6be3d84f8


BIN
Unity/LineRobot/Library/Artifacts/a3/a356cfa6dfa3c6d1473b3417dda26eee


BIN
Unity/LineRobot/Library/Artifacts/a7/a7aa3de322c2c946e64b89d4c80e951e


BIN
Unity/LineRobot/Library/Artifacts/a8/a8c5efd7b29244dba61e43e37db94b5e


BIN
Unity/LineRobot/Library/Artifacts/ac/acb0c0d2bd74d3ee7f4cf920ab36191e


BIN
Unity/LineRobot/Library/Artifacts/b4/b46098131eeeb5774cf5aef5bf6de94d


BIN
Unity/LineRobot/Library/Artifacts/b5/b5f2ba82b419354d0ef185bab22c809e


BIN
Unity/LineRobot/Library/Artifacts/ba/bac4fdfe8c9b64f9d37b0a5d2b09dc5e


BIN
Unity/LineRobot/Library/Artifacts/be/be5bb01020301d5e6abe4c251db9bfc2


BIN
Unity/LineRobot/Library/Artifacts/c1/c1fe6b7c4abb5d76c966709a0cdb37e4


BIN
Unity/LineRobot/Library/Artifacts/c6/c66cab483bde6124ad677888e1e748d1


BIN
Unity/LineRobot/Library/Artifacts/c7/c79f22ebadeb8455df11bf64c95b454f


BIN
Unity/LineRobot/Library/Artifacts/cc/cc20f1013cecf69a6094895d41618217


BIN
Unity/LineRobot/Library/Artifacts/cc/ccd368f7ad78abd9f5ea4a139bb1b306


BIN
Unity/LineRobot/Library/Artifacts/d5/d5941baf8e622c63a3c29a1acc09ada3


BIN
Unity/LineRobot/Library/Artifacts/d6/d65c9aae39ffa4ab2a553872fd2288c1


BIN
Unity/LineRobot/Library/Artifacts/d6/d671cc8703b088347ec17415d70b6c94


BIN
Unity/LineRobot/Library/Artifacts/d8/d86358ac2746bcd44c20396d33365b65


BIN
Unity/LineRobot/Library/Artifacts/d9/d9d8b861d121ef8f7d90ed70dcc4a347


BIN
Unity/LineRobot/Library/Artifacts/db/dbb6ccbbf09c53ac1e643bd20a14d17d


BIN
Unity/LineRobot/Library/Artifacts/df/df322c94cabe914489fb9aded4b89c3f


BIN
Unity/LineRobot/Library/Artifacts/e5/e5a83248bf48253b3ee88bc4088104a4


BIN
Unity/LineRobot/Library/Artifacts/e6/e65635a9193cf52f7dd48679524e3916


BIN
Unity/LineRobot/Library/Artifacts/ef/ef44b6ce03a6d2cc54704626ff9186e9


BIN
Unity/LineRobot/Library/Artifacts/f0/f04644f9b0097fdd0c6dec357352c054


BIN
Unity/LineRobot/Library/Artifacts/f1/f1baa4e6da12e80c85ae13055cf8ff8a


BIN
Unity/LineRobot/Library/Artifacts/fb/fbfbb9125b8b30502667e5396de87a67


BIN
Unity/LineRobot/Library/Artifacts/fc/fcbb7e1e466adb8b4eb98094ff7454d4


+ 109 - 109
Unity/LineRobot/Library/CurrentLayout-default.dwlt

@@ -14,16 +14,16 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   m_PixelRect:
     serializedVersion: 2
-    x: 1928
-    y: -130
-    width: 1904
-    height: 981
+    x: 1920
+    y: -138
+    width: 1920
+    height: 997
   m_ShowMode: 4
   m_Title: 
   m_RootView: {fileID: 3}
-  m_MinSize: {x: 875, y: 542}
+  m_MinSize: {x: 875, y: 300}
   m_MaxSize: {x: 10000, y: 10000}
-  m_Maximized: 0
+  m_Maximized: 1
 --- !u!114 &2
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -39,10 +39,10 @@ MonoBehaviour:
   m_Children: []
   m_Position:
     serializedVersion: 2
-    x: 782
+    x: 828
     y: 0
-    width: 494
-    height: 689
+    width: 532
+    height: 674
   m_MinSize: {x: 202, y: 221}
   m_MaxSize: {x: 4002, y: 4021}
   m_ActualView: {fileID: 17}
@@ -70,8 +70,8 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 1904
-    height: 981
+    width: 1920
+    height: 997
   m_MinSize: {x: 875, y: 300}
   m_MaxSize: {x: 10000, y: 10000}
 --- !u!114 &4
@@ -91,7 +91,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 1904
+    width: 1920
     height: 30
   m_MinSize: {x: 0, y: 0}
   m_MaxSize: {x: 0, y: 0}
@@ -112,8 +112,8 @@ MonoBehaviour:
   m_Position:
     serializedVersion: 2
     x: 0
-    y: 961
-    width: 1904
+    y: 977
+    width: 1920
     height: 20
   m_MinSize: {x: 0, y: 0}
   m_MaxSize: {x: 0, y: 0}
@@ -135,12 +135,12 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 30
-    width: 1904
-    height: 931
-  m_MinSize: {x: 781, y: 342}
-  m_MaxSize: {x: 16006, y: 8042}
+    width: 1920
+    height: 947
+  m_MinSize: {x: 781, y: 492}
+  m_MaxSize: {x: 16006, y: 14042}
   vertical: 1
-  controlID: 131
+  controlID: 157
 --- !u!114 &7
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -160,12 +160,12 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 1904
-    height: 931
-  m_MinSize: {x: 781, y: 342}
-  m_MaxSize: {x: 16006, y: 8042}
+    width: 1920
+    height: 947
+  m_MinSize: {x: 781, y: 492}
+  m_MaxSize: {x: 16006, y: 14042}
   vertical: 0
-  controlID: 132
+  controlID: 158
 --- !u!114 &8
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -185,12 +185,12 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 1276
-    height: 931
-  m_MinSize: {x: 505, y: 342}
-  m_MaxSize: {x: 12005, y: 8042}
+    width: 1360
+    height: 947
+  m_MinSize: {x: 505, y: 492}
+  m_MaxSize: {x: 12005, y: 14042}
   vertical: 1
-  controlID: 133
+  controlID: 91
 --- !u!114 &9
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -211,12 +211,12 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 1276
-    height: 689
+    width: 1360
+    height: 674
   m_MinSize: {x: 505, y: 221}
   m_MaxSize: {x: 12005, y: 4021}
   vertical: 0
-  controlID: 134
+  controlID: 92
 --- !u!114 &10
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -234,8 +234,8 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 201
-    height: 689
+    width: 400
+    height: 674
   m_MinSize: {x: 201, y: 221}
   m_MaxSize: {x: 4001, y: 4021}
   m_ActualView: {fileID: 18}
@@ -258,10 +258,10 @@ MonoBehaviour:
   m_Children: []
   m_Position:
     serializedVersion: 2
-    x: 201
+    x: 400
     y: 0
-    width: 581
-    height: 689
+    width: 428
+    height: 674
   m_MinSize: {x: 102, y: 121}
   m_MaxSize: {x: 4002, y: 4021}
   m_ActualView: {fileID: 19}
@@ -270,7 +270,7 @@ MonoBehaviour:
   - {fileID: 20}
   - {fileID: 16}
   m_Selected: 0
-  m_LastSelected: 2
+  m_LastSelected: 1
 --- !u!114 &12
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -281,25 +281,25 @@ MonoBehaviour:
   m_Enabled: 1
   m_EditorHideFlags: 1
   m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: ConsoleWindow
+  m_Name: ProjectBrowser
   m_EditorClassIdentifier: 
   m_Children: []
   m_Position:
     serializedVersion: 2
     x: 0
-    y: 689
-    width: 1276
-    height: 242
-  m_MinSize: {x: 101, y: 121}
-  m_MaxSize: {x: 4001, y: 4021}
-  m_ActualView: {fileID: 22}
+    y: 674
+    width: 1360
+    height: 273
+  m_MinSize: {x: 231, y: 271}
+  m_MaxSize: {x: 10001, y: 10021}
+  m_ActualView: {fileID: 21}
   m_Panes:
   - {fileID: 21}
   - {fileID: 22}
   - {fileID: 15}
   - {fileID: 14}
-  m_Selected: 1
-  m_LastSelected: 0
+  m_Selected: 0
+  m_LastSelected: 1
 --- !u!114 &13
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -315,10 +315,10 @@ MonoBehaviour:
   m_Children: []
   m_Position:
     serializedVersion: 2
-    x: 1276
+    x: 1360
     y: 0
-    width: 628
-    height: 931
+    width: 560
+    height: 947
   m_MinSize: {x: 276, y: 71}
   m_MaxSize: {x: 4001, y: 4021}
   m_ActualView: {fileID: 23}
@@ -348,9 +348,9 @@ MonoBehaviour:
   m_Pos:
     serializedVersion: 2
     x: 1920
-    y: 401
-    width: 1511
-    height: 417
+    y: 556
+    width: 1395
+    height: 262
   m_ViewDataDictionary: {fileID: 0}
   m_PosLeft: {x: 0, y: 0}
   m_PosRight: {x: 0, y: 0}
@@ -378,9 +378,9 @@ MonoBehaviour:
   m_Pos:
     serializedVersion: 2
     x: 1920
-    y: 472
-    width: 1286
-    height: 346
+    y: 556
+    width: 1251
+    height: 262
   m_ViewDataDictionary: {fileID: 0}
   m_PosLeft: {x: 0, y: 0}
   m_PosRight: {x: 0, y: 0}
@@ -433,10 +433,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 2710
-    y: -100
-    width: 492
-    height: 668
+    x: 2748
+    y: -108
+    width: 530
+    height: 653
   m_ViewDataDictionary: {fileID: 0}
   m_SerializedViewNames: []
   m_SerializedViewValues: []
@@ -446,7 +446,7 @@ MonoBehaviour:
   m_ShowGizmos: 0
   m_TargetDisplay: 0
   m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
-  m_TargetSize: {x: 492, y: 647}
+  m_TargetSize: {x: 530, y: 632}
   m_TextureFilterMode: 0
   m_TextureHideFlags: 61
   m_RenderIMGUI: 1
@@ -461,10 +461,10 @@ MonoBehaviour:
     m_VRangeLocked: 0
     hZoomLockedByDefault: 0
     vZoomLockedByDefault: 0
-    m_HBaseRangeMin: -246
-    m_HBaseRangeMax: 246
-    m_VBaseRangeMin: -323.5
-    m_VBaseRangeMax: 323.5
+    m_HBaseRangeMin: -265
+    m_HBaseRangeMax: 265
+    m_VBaseRangeMin: -316
+    m_VBaseRangeMax: 316
     m_HAllowExceedBaseRangeMin: 1
     m_HAllowExceedBaseRangeMax: 1
     m_VAllowExceedBaseRangeMin: 1
@@ -482,23 +482,23 @@ MonoBehaviour:
       serializedVersion: 2
       x: 0
       y: 21
-      width: 492
-      height: 647
+      width: 530
+      height: 632
     m_Scale: {x: 1, y: 1}
-    m_Translation: {x: 246, y: 323.5}
+    m_Translation: {x: 265, y: 316}
     m_MarginLeft: 0
     m_MarginRight: 0
     m_MarginTop: 0
     m_MarginBottom: 0
     m_LastShownAreaInsideMargins:
       serializedVersion: 2
-      x: -246
-      y: -323.5
-      width: 492
-      height: 647
+      x: -265
+      y: -316
+      width: 530
+      height: 632
     m_MinimalGUI: 1
   m_defaultScale: 1
-  m_LastWindowPixelSize: {x: 492, y: 668}
+  m_LastWindowPixelSize: {x: 530, y: 653}
   m_ClearInEditMode: 1
   m_NoCameraWarning: 1
   m_LowResolutionForAspectRatios: 01000000000000000001
@@ -525,17 +525,17 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 1928
-    y: -100
-    width: 200
-    height: 668
+    x: 1920
+    y: -108
+    width: 399
+    height: 653
   m_ViewDataDictionary: {fileID: 0}
   m_SceneHierarchy:
     m_TreeViewState:
       scrollPos: {x: 0, y: 0}
       m_SelectedIDs: 
       m_LastClickedID: 0
-      m_ExpandedIDs: 66fbffff
+      m_ExpandedIDs: eef9fffff0f9ffff4afaffff66fbffffcc4b0000
       m_RenameOverlay:
         m_UserAcceptedRename: 0
         m_Name: 
@@ -580,10 +580,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 2129
-    y: -100
-    width: 579
-    height: 668
+    x: 2320
+    y: -108
+    width: 426
+    height: 653
   m_ViewDataDictionary: {fileID: 0}
   m_ShowContextualTools: 0
   m_WindowGUID: c2bad47ba94a2bf41ad53eca9bdf5f39
@@ -595,9 +595,9 @@ MonoBehaviour:
   m_PlayAudio: 0
   m_AudioPlay: 0
   m_Position:
-    m_Target: {x: -0.1854412, y: 0.41158262, z: -0.23154843}
+    m_Target: {x: -0.08000004, y: 1.0593003, z: 0.08399987}
     speed: 2
-    m_Value: {x: -0.1854412, y: 0.41158262, z: -0.23154843}
+    m_Value: {x: -0.08000004, y: 1.0593003, z: 0.08399987}
   m_RenderMode: 0
   m_CameraMode:
     drawMode: 0
@@ -643,13 +643,13 @@ MonoBehaviour:
     m_GridAxis: 1
     m_gridOpacity: 0.5
   m_Rotation:
-    m_Target: {x: 0.2754815, y: -0.4204703, z: 0.13548449, w: 0.85392034}
+    m_Target: {x: 0.2204581, y: -0.61723673, z: 0.18586554, w: 0.7320619}
     speed: 2
-    m_Value: {x: 0.27673134, y: -0.42022005, z: 0.13610022, w: 0.8534118}
+    m_Value: {x: 0.22045329, y: -0.61722326, z: 0.18586148, w: 0.73204595}
   m_Size:
-    m_Target: 1.0206501
+    m_Target: 10
     speed: 2
-    m_Value: 1.0687436
+    m_Value: 10
   m_Ortho:
     m_Target: 1
     speed: 2
@@ -695,10 +695,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 2224
+    x: 2251
     y: -108
-    width: 723
-    height: 603
+    width: 907
+    height: 496
   m_ViewDataDictionary: {fileID: 0}
   m_ViewTransforms:
     m_KeySerializationHelper:
@@ -759,9 +759,9 @@ MonoBehaviour:
   m_Pos:
     serializedVersion: 2
     x: 1920
-    y: 472
-    width: 1286
-    height: 346
+    y: 566
+    width: 1359
+    height: 252
   m_ViewDataDictionary: {fileID: 0}
   m_SearchFilter:
     m_NameFilter: 
@@ -786,10 +786,10 @@ MonoBehaviour:
   m_LockTracker:
     m_IsLocked: 0
   m_FolderTreeState:
-    scrollPos: {x: 0, y: 0}
-    m_SelectedIDs: 74520000
-    m_LastClickedID: 21108
-    m_ExpandedIDs: 000000001a4400001c4400001e44000020440000
+    scrollPos: {x: 0, y: 23}
+    m_SelectedIDs: 56440000
+    m_LastClickedID: 17494
+    m_ExpandedIDs: 00000000384400003a4400003c4400003e4400004044000000ca9a3b
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -817,7 +817,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_LastClickedID: 0
-    m_ExpandedIDs: 000000001a4400001c4400001e44000020440000
+    m_ExpandedIDs: 00000000384400003a4400003c4400003e44000040440000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -845,7 +845,7 @@ MonoBehaviour:
     m_SelectedInstanceIDs: 
     m_LastClickedInstanceID: 0
     m_HadKeyboardFocusLastEvent: 0
-    m_ExpandedInstanceIDs: c6230000bc390000a4340000483600003c3500004c3e0000523e0000a8960000aa960000060001006aff0000ae440000c66b00006aad01003a4c0000ce4c00007c4d0000d06400004853000064760000607600004a4400007e41000094410000144200005e41000024440000da3a00009e40000066410000c4430000f8430000104400001a440000b443000084410000423f0000683f0000ea370000104d0000943d0000803c0000623c0000fc3c00009c3d0000aa3d000000000000ca420000a4b30000
+    m_ExpandedInstanceIDs: c6230000bc390000a4340000483600003c3500004c3e0000523e0000a8960000aa960000060001006aff0000ae440000c66b00006aad01003a4c0000ce4c00007c4d0000d06400004853000064760000607600004a4400007e41000094410000144200005e41000024440000da3a00009e40000066410000c4430000f8430000104400001a440000b443000084410000423f0000683f0000ea370000104d0000943d0000803c0000623c0000fc3c00009c3d0000aa3d0000ca420000a4b3000000000000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -894,10 +894,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 1928
-    y: 589
-    width: 1275
-    height: 221
+    x: 1920
+    y: 566
+    width: 1359
+    height: 252
   m_ViewDataDictionary: {fileID: 0}
 --- !u!114 &23
 MonoBehaviour:
@@ -920,10 +920,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 3204
-    y: -100
-    width: 627
-    height: 910
+    x: 3280
+    y: -108
+    width: 559
+    height: 926
   m_ViewDataDictionary: {fileID: 0}
   m_OpenAddComponentMenu: 0
   m_ObjectsLockedBeforeSerialization: []
@@ -931,7 +931,7 @@ MonoBehaviour:
   m_LockTracker:
     m_IsLocked: 0
   m_PreviewResizer:
-    m_CachedPref: 494
+    m_CachedPref: 215
     m_ControlHash: -371814159
     m_PrefName: Preview_InspectorPreview
   m_PreviewWindow: {fileID: 0}

BIN
Unity/LineRobot/Library/InspectorExpandedItems.asset


BIN
Unity/LineRobot/Library/LastBuild.buildreport


BIN
Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/Assembly-CSharp.dll


BIN
Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/Crc32C.NET.dll


BIN
Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/DnsClient.dll


BIN
Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/MongoDB.Bson.dll


BIN
Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/MongoDB.Driver.Core.dll


BIN
Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/MongoDB.Driver.dll


BIN
Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/MongoDB.Libmongocrypt.dll


+ 0 - 0
Unity/LineRobot/Library/PlayerDataCache/Win64/Data/Managed/SharpCompress.dll


Some files were not shown because too many files changed in this diff