Updated README adding Troubleshooting Help and required armadillo version

parent 31f36c26
......@@ -71,7 +71,7 @@ configuration VGG16{
Assume both the architecture definition `VGG16.emadl`and the corresponding training configuration `VGG16.cnnt` are located in a folder `models` and the target code should be generated into `target` folder using `MXNet` backend. An example of a command is then:
```java -jar embedded-montiarc-emadl-generator-0.2.4-SNAPSHOT-jar-with-dependencies.jar -m models -r VGG16 -o target -b MXNET```
You can find the EMADL2CPP jar [here](doc/embedded-montiarc-emadl-generator-0.2.4-SNAPSHOT-jar-with-dependencies.jar)
4. When the target code is generated, the corresponding trainer file (e.g. `CNNTrainer_<root_model_name>.py` in case of MXNet) can be executed.
......@@ -81,11 +81,12 @@ configuration VGG16{
## Prerequisites
1. Linux. Ubuntu Linux 16.04 and 18.04 were used during testing.
2. ROS, Java runtime environment, GCC/Clang and armadillo - install using your linux distribution tools, e.g. apt in Ubuntu:
2. Armadillo (at least armadillo version 6.600 must be used). [official instructions at Armadillo Website](http://arma.sourceforge.net/download.html).
3. ROS, Java runtime environment, GCC/Clang and armadillo - install using your linux distribution tools, e.g. apt in Ubuntu:
```apt-get install ros-base-dev clang openjdk-8-jre libarmadillo-dev```
3. MXNet - install using [official instructions at MXNet Website](https://mxnet.incubator.apache.org/) for C++
4. TORCS (see below)
4. MXNet - install using [official instructions at MXNet Website](https://mxnet.incubator.apache.org/) for C++
5. TORCS (see below)
### TORCS Installation
1. Download customized TORCS distribution from the [DeepDriving site](http://deepdriving.cs.princeton.edu/)
......@@ -108,7 +109,7 @@ Further installation help can be found in the Readme file provided with the Deep
4. Select driver chenyi on the right side and add it by clicking (De)Select
5. Add other drivers with the chenyi- prefix if needed
6. Click Accept -> Accept -> New Race
Example of a drivers configuration screen:
![Drivers](doc/torcs_Drivers.png)
......@@ -123,3 +124,32 @@ Further installation help can be found in the Readme file provided with the Deep
3. Start TORCS and configure race as described above. Select mode where host car is not visible
4. Go to the `target` folder and start `run.sh` script. It will open two three terminals: one for the ROS core, one for the TORCSCOmponent (application part responsible for communication with TORCS) and one for the Mastercomponent (application part generated from the models at step 2 which is repsondible for application logic)
#Troubleshooting Help
Error: CNNPredictor_dp_mastercomponent_dpnet.h:4:33: fatal error: mxnet/c_predict_api.h: No such file or directory
Fix:
Copy compiled mxnet lib and include files to usr/lib and usr/include respectively. Replace YOUR_MXNET_REPOSITORY with your corresponding information:
```cd YOUR_MXNET_REPOSITORY/incubator-mxnet/lib
sudo cp * /usr/lib
cd YOUR_MXNET_REPOSITORY/incubator-mxnet/include
sudo cp -r * /usr/include```
Error: HelperA.h:79:28: error: ‘sqrtmat’ was not declared in this scope
Fix:
Copy compiled armadillo lib and include files to usr/lib and usr/include respectively. Replace YOUR_ARMADILLO_REPOSITORY and VERSION (e.g. 8.500.1) with your corresponding information:
```cd YOUR_ARMADILLO_REPOSITORY/armadillo-VERSION
sudo cp libarmadillo* /usr/lib
cd YOUR_ARMADILLO_REPOSITORY/armadillo-VERSION/include
sudo cp -r * /usr/include```
Error: Coordinator_dp_mastercomponent.cpp.o: undefined reference to symbol 'dsyrk_' usr/lib/libopenblas.so.0: error adding symbols: DSO missing from command line (after executing Run generate2ros.sh)
Fix:
Once generate2ros.sh was executed, modify the file YOUR_TORCSDL_REPOSITORY/torcs_dl/doc/deep_driving_project/target/Mastercomponent/dp_mastercomponent/coordinator/CMakeLists.txt to include the blas and openblas libraries, i.e.:
```target_link_libraries(Coordinator_dp_mastercomponent RosAdapter_dp_mastercomponent dp_mastercomponent Threads::Threads -lblas -lopenblas)```
Then navigate to YOUR_TORCSDL_REPOSITORY/torcs_dl/doc/deep_driving_project/target and execute build_all.sh. Make sure you delete the build folders to remove the existed compilation configurations for both components:
```cd YOUR_TORCSDL_REPOSITORY/torcs_dl/doc/deep_driving_project/target
bash build_all.sh```
Finally, the deep driving project will be compiled successfully.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment