| 63 | |
| 64 | Through Zerotier: [[BR]] |
| 65 | 1. Sign into Zerotier under the account **rascalstonesdc-at-gmail.com** password: **si2022sdc** [[BR]] |
| 66 | 2. Connect to the network: rascalstonesdc's 1st network **(ID: d3ecf5726d1a9fcd)** [[BR]] |
| 67 | 3. Now you can open a terminal and connect to the IP address of the rascal using the command: **ssh rascal@10.244.114.238 [[BR]]** |
| 68 | 4. Next, run the command: **roslaunch rascal pure_pursuit.launch** to launch all the nodes [[BR]] |
| 69 | 5. In a web page type **10.244.114.238:5000** to open the web display where you can record data [[BR]] |
| 70 | 6. In a separate terminal, enter **ssh rascaltrain@10.244.176.240** to connect to the rascal server [[BR]] |
| 71 | 7. If you get an error message that says: **access denied public key** then connect through ORBIT (instructions below) to add your public key to the /.ssh file titled **authorized_keys** [[BR]] |
| 72 | 8. Now you should be able to connect to the server through Zerotier [[BR]] |
| 73 | |
59 | | 4. Enter **rascal@<ip address to come>** for the rascal |
60 | | 5. In a separate terminal, enter **ssh rascaltrain@srv1** for the rascal server [[BR]] |
61 | | |
62 | | [[BR]] |
63 | | |
64 | | Through Zerotier: [[BR]] |
65 | | 1. Sign into Zerotier under the account **rascalstonesdc-at-gmail.com** password: **si2022sdc**[[BR]] |
66 | | 2. Connect to the network: rascalstonesdc's 1st network **(ID: d3ecf5726d1a9fcd)**[[BR]] |
67 | | 3. Now you can open a terminal and connect to the IP address of the rascal using the command: **ssh rascal@10.244.114.238[[BR]]** |
68 | | 4. Next, run the command: **roslaunch rascal pure_pursuit.launch** to launch all the nodes[[BR]] |
69 | | 5. In a web page type **10.244.114.238:5000** to open the web display where you can record and edit data for training[[BR]] |
70 | | 6. In a separate terminal, enter **ssh rascaltrain@10.244.176.240** to connect to the rascal server [[BR]] |
| 78 | 4. Enter **ssh rascaltrain@srv1** for the rascal server [[BR]] |
77 | | 4. Open data **opt/upcar/dataProcessing** and type **python bag2AllData.py** in the terminal to access all recorded sessions[[BR]] |
78 | | 5. Select the number that you want to download (should be the most recent one)[[BR]] |
79 | | 6. After it finishes downloading you can type the command: **roslaunch rascal sim.launch** which will upload that session to the web display[[BR]] |
80 | | 7. In the web display you can play the video to see what the camera recorded (you might need to refresh the page to see the session come up)[[BR]] |
81 | | 8. You can now edit the data that will be used for training[[BR]] |
82 | | 9. NOTE: for the discrete waypoint model you MUST label the data manually at each segment. Highlight the portion of data that has multiple valid paths (left, right, and straight) then click **replayer/setLvalid, replayer/setRvalid, replayer/setSvalid** to indicate which paths are possible at that intersection. This will be used later when training.[[BR]] |
83 | | 10. To save data, run the **data_loader/smoothen** command |
| 85 | 4. You can record multiple segments in a loaded session [[BR]] |
| 86 | 5. When finished, press ctrl+c in the terminal to save the recordings [[BR]] |
| 87 | 6. Go to **/opt/upcar/dataProcessing** and type **python bag2AllData.py** in the terminal to access all recorded sessions [[BR]] |
| 88 | 7. Select the number that you want to download (should be the most recent one)[[BR]] |
| 89 | 8. Open a new terminal and connect to the rascal server [[BR]] |
| 90 | 9. Open **/upcar/dataProcessing** on the server and type **./copyFromCar.sh** which will get the files from the car and bring them over to the server [[BR]] |
| 91 | 10. It will ask you to select a host. Choose **1) rascal@172.24.114.238** which is the car's IP address [[BR]] |
| 92 | 11. If it asks for a password it's always **si2022sdc** [[BR]] |
| 93 | 12. It will ask you which sessions you want to copy over (enter the indices of the sessions you want to copy) [[BR]] |
87 | | 1. In the web display you can click **replayer/pause-play** to run through all of the data segments [[BR]] |
88 | | 2. To jump between different segments that the web display automatically divides the data into, click **replayer/nextSeg** or **replayer/prevSeg** |
89 | | 3. When you get to a segment you want to delete, pause the run through and hit **replayer/editMode** [[BR]] |
90 | | 4. Select the data you want to delete by using the **replayer/jumpEnd** and **replayer/jumpStart** buttons [[BR]] |
91 | | 5. Select **replayer/editMode** again to highlight the part that's going to be deleted [[BR]] |
92 | | 6. Click **replayer/deleteSelection** to delete the segment [[BR]] |
| 102 | 1. To jump between different segments that the web display automatically divides the data into, click **replayer/nextSeg** or **replayer/prevSeg** |
| 103 | 2. When you get to a segment you want to delete, click the desired starting point on the orange path and hit **replayer/editMode** [[BR]] |
| 104 | 3. Select the endpoint of the segment you want to delete by clicking the orange path at that point [[BR]] |
| 105 | 4. Select **replayer/editMode** again to highlight the part that's going to be deleted [[BR]] |
| 106 | - You can use the **replayer/jumpStart** and **replayer/jumpEnd** buttons to go to the start or end of a segment [[BR]] |
| 107 | - You can use the **replayer/forward** and **replayer/backward** to go back and forth between frames in a given segment to help get exact data highlighted [[BR]] |
| 108 | 5. Click **replayer/deleteSelection** to delete the highlighted segment [[BR]] |
| 109 | |
| 110 | **Labeling intersection data:** [[BR]] |
| 111 | For intersection data you MUST label the data manually at each segment where an intersection occurs [[BR]] |
| 112 | 1. Highlight the frames of data that has multiple valid paths (left, right, and straight) the same way you would for deleting segments [[BR]] |
| 113 | 2. Click **replayer/setLvalid, replayer/setRvalid, replayer/setSvalid** to indicate which paths are possible at that intersection. This will be used later when training.[[BR]] |
| 114 | |
| 115 | Once you are finished editing you MUST save the data by running the **data_loader/smoothen** command |
96 | | 1. Open a new terminal and connect to the rascal server's IP address by using this command: **ssh rascaltrain@10.244.176.240** (or use ORBIT) [[BR]] |
97 | | 2. Open **/upcar/dataProcessing** and type **./copyFromCar.sh** which will get the files from the car and bring them over to the server [[BR]] |
98 | | 3. It will ask you to select a host. Choose **1) rascal@172.24.114.238** which is the car's IP address [[BR]] |
99 | | 4. If it asks for a password it's always **si2022sdc** [[BR]] |
100 | | 5. It will ask you which sessions you want to copy over (pick the session version of the files you want that says smooth) [[BR]] |
101 | | 6. If you go to **/sessions** and type **ls** your chosen files should be listed there [[BR]] |
102 | | 7. Go back to **/upcar** and move your data to /rascaltraining/data: **mv dataProcessing/sessions/<your file name here> rascaltraining/data [[BR]] |
103 | | 8. If you go into **/rascaltraining/data** you should see your file listed [[BR]] |
104 | | 9. Go back to **/rascaltraining** and type the command: **python trainModel.py -m fisheye --use_labels 1.0 -s labels** when using fisheye. Type the command: **python trainModel.py -m discrete_waypoint --center_width 30 --num_bins 3 --use_labels 1.0 -s labels** when using discrete_waypoint[[BR]] |
105 | | 10. Now your model is being trained [[BR]] |
106 | | 11. To stop training press enter [[BR]] |
107 | | 12. Remember to stop training when the validation loss doesn't seem to be decreasing by a significant amount anymore to avoid overfitting [[BR]] |
108 | | 13. To check what number model you just created, go to **/savedModels** and type **ls** (yours will be the most recent number) |
109 | | 14. To push your newly made model to gitlab, type **git add -f <your model number here>** [[BR]] |
110 | | 15. Next type the command **git commit -m "<give it a name>"** [[BR]] |
111 | | 16. Next type the command **git push origin main** [[BR]] |
112 | | 17. Finally, back in the car's terminal go to **/savedModels** and type **git pull origin main** [[BR]] |
| 119 | 1. If you go to **/sessions** in the server terminal and type **ls** your chosen files should be listed there [[BR]] |
| 120 | 2. Go back to **/upcar** and move your data to /rascaltraining/data: **mv dataProcessing/sessions/<your file name here> rascaltraining/data [[BR]] |
| 121 | 3. If you go into **/rascaltraining/data** you should see your file listed [[BR]] |
| 122 | 4. Go back to **/rascaltraining** and type the command: **python trainModel.py -m fisheye --use_labels 1.0 -s labels** when using fisheye. Type the command: **python trainModel.py -m discrete_waypoint --center_width 30 --num_bins 3 --use_labels 1.0 -s labels** when using discrete_waypoint[[BR]] |
| 123 | 5. Now your model is being trained [[BR]] |
| 124 | 6. To stop training press enter [[BR]] |
| 125 | 7. Remember to stop training when the validation loss doesn't seem to be decreasing by a significant amount anymore to avoid overfitting [[BR]] |
| 126 | 8. To check what number model you just created, go to **/savedModels** and type **ls** (yours will be the most recent number) |
| 127 | 9. To push your newly made model to gitlab, type **git add -f <your model number here>** [[BR]] |
| 128 | 10. Next type the command **git commit -m "<give it a name>"** [[BR]] |
| 129 | 11. Next type the command **git push origin main** [[BR]] |
| 130 | 12. Finally, back in the car's terminal go to **/savedModels** and type **git pull origin main** [[BR]] |