diff --git a/O3R/Docker/README.md b/O3R/Docker/README.md
index 967e8b2..38b99c3 100644
--- a/O3R/Docker/README.md
+++ b/O3R/Docker/README.md
@@ -1,4 +1,4 @@
-# README - Docker on O3R
+# Docker on O3R
| Table of content|
|-|
diff --git a/O3R/GettingStarted/README.md b/O3R/GettingStarted/README.md
index a7d3fec..7c4c206 100644
--- a/O3R/GettingStarted/README.md
+++ b/O3R/GettingStarted/README.md
@@ -1,7 +1,8 @@
-# README - Getting Started
+# Getting Started
| Table of content|
|-|
| [Unboxing](../GettingStarted/unboxing.md)|
+| [Basic tutorials](https://ifm.github.io/ifm3d-docs/examples/o3r/index.html)|
This section should help you with the first steps using the O3R.
diff --git a/O3R/GettingStarted/getting_started.md b/O3R/GettingStarted/getting_started.md
deleted file mode 100644
index d98dd0d..0000000
--- a/O3R/GettingStarted/getting_started.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Getting Started
-
-Coming soon...
\ No newline at end of file
diff --git a/O3R/GettingStarted/resources/2heads.PNG b/O3R/GettingStarted/resources/2heads.PNG
deleted file mode 100644
index ad6626d..0000000
Binary files a/O3R/GettingStarted/resources/2heads.PNG and /dev/null differ
diff --git a/O3R/GettingStarted/resources/Button_distanceByColour_dark@15x.png b/O3R/GettingStarted/resources/Button_distanceByColour_dark@15x.png
deleted file mode 100644
index dc5b009..0000000
Binary files a/O3R/GettingStarted/resources/Button_distanceByColour_dark@15x.png and /dev/null differ
diff --git a/O3R/GettingStarted/resources/amplitude.jpg b/O3R/GettingStarted/resources/amplitude.jpg
deleted file mode 100644
index 8885c5c..0000000
Binary files a/O3R/GettingStarted/resources/amplitude.jpg and /dev/null differ
diff --git a/O3R/GettingStarted/resources/ampltiude.jpg b/O3R/GettingStarted/resources/ampltiude.jpg
deleted file mode 100644
index dc0a2e3..0000000
Binary files a/O3R/GettingStarted/resources/ampltiude.jpg and /dev/null differ
diff --git a/O3R/GettingStarted/resources/distance.jpg b/O3R/GettingStarted/resources/distance.jpg
deleted file mode 100644
index ce22efd..0000000
Binary files a/O3R/GettingStarted/resources/distance.jpg and /dev/null differ
diff --git a/O3R/GettingStarted/resources/highlight_distance.jpg b/O3R/GettingStarted/resources/highlight_distance.jpg
deleted file mode 100644
index 2be98e3..0000000
Binary files a/O3R/GettingStarted/resources/highlight_distance.jpg and /dev/null differ
diff --git a/O3R/GettingStarted/resources/ifm_logo.png b/O3R/GettingStarted/resources/ifm_logo.png
deleted file mode 100644
index 473c0bc..0000000
Binary files a/O3R/GettingStarted/resources/ifm_logo.png and /dev/null differ
diff --git a/O3R/GettingStarted/resources/pcl.jpg b/O3R/GettingStarted/resources/pcl.jpg
deleted file mode 100644
index 95e0d29..0000000
Binary files a/O3R/GettingStarted/resources/pcl.jpg and /dev/null differ
diff --git a/O3R/GettingStarted/resources/pip_install_o3r.jpg b/O3R/GettingStarted/resources/pip_install_o3r.jpg
deleted file mode 100644
index b565e6c..0000000
Binary files a/O3R/GettingStarted/resources/pip_install_o3r.jpg and /dev/null differ
diff --git a/O3R/GettingStarted/resources/pip_install_viewer.jpg b/O3R/GettingStarted/resources/pip_install_viewer.jpg
deleted file mode 100644
index 2d46815..0000000
Binary files a/O3R/GettingStarted/resources/pip_install_viewer.jpg and /dev/null differ
diff --git a/O3R/GettingStarted/resources/stand.png b/O3R/GettingStarted/resources/stand.png
deleted file mode 100644
index 9988ffb..0000000
Binary files a/O3R/GettingStarted/resources/stand.png and /dev/null differ
diff --git a/O3R/GettingStarted/resources/startViewer.mp4 b/O3R/GettingStarted/resources/startViewer.mp4
deleted file mode 100644
index b54b1ae..0000000
Binary files a/O3R/GettingStarted/resources/startViewer.mp4 and /dev/null differ
diff --git a/O3R/GettingStarted/resources/thumbs.jpg b/O3R/GettingStarted/resources/thumbs.jpg
deleted file mode 100644
index 31c1518..0000000
Binary files a/O3R/GettingStarted/resources/thumbs.jpg and /dev/null differ
diff --git a/O3R/GettingStarted/resources/unzip.jpg b/O3R/GettingStarted/resources/unzip.jpg
deleted file mode 100644
index 2c33d27..0000000
Binary files a/O3R/GettingStarted/resources/unzip.jpg and /dev/null differ
diff --git a/O3R/GettingStarted/resources/venv_activate.jpg b/O3R/GettingStarted/resources/venv_activate.jpg
deleted file mode 100644
index a3b663a..0000000
Binary files a/O3R/GettingStarted/resources/venv_activate.jpg and /dev/null differ
diff --git a/O3R/GettingStarted/resources/viewer.jpg b/O3R/GettingStarted/resources/viewer.jpg
deleted file mode 100644
index dee6155..0000000
Binary files a/O3R/GettingStarted/resources/viewer.jpg and /dev/null differ
diff --git a/O3R/GettingStarted/resources/viewer_console.jpg b/O3R/GettingStarted/resources/viewer_console.jpg
deleted file mode 100644
index 663464c..0000000
Binary files a/O3R/GettingStarted/resources/viewer_console.jpg and /dev/null differ
diff --git a/O3R/GettingStarted/resources/vpu_connections.png b/O3R/GettingStarted/resources/vpu_connections.png
deleted file mode 100644
index b23a816..0000000
Binary files a/O3R/GettingStarted/resources/vpu_connections.png and /dev/null differ
diff --git a/O3R/GettingStarted/resources/winpython_venv.jpg b/O3R/GettingStarted/resources/winpython_venv.jpg
deleted file mode 100644
index cc7bd12..0000000
Binary files a/O3R/GettingStarted/resources/winpython_venv.jpg and /dev/null differ
diff --git a/O3R/GettingStarted/unboxing.md b/O3R/GettingStarted/unboxing.md
index c8fee51..7c0694b 100644
--- a/O3R/GettingStarted/unboxing.md
+++ b/O3R/GettingStarted/unboxing.md
@@ -1,24 +1,24 @@
-# Unboxing
+# How to: Unboxing O3R
-If you received the starter kit (default package), following document will help you unbox and start the O3R system.
+## Hardware unboxing
If nobody tampered with your O3R package, you should have following hardware:
-- Camera head 1
+- Camera head (two of them if you ordered the developer kit)

-- Camera head 2
-- VPU (Video Processing Unit)
+- VPU (Video Processing Unit)

- FPD cables to connect the head(s) to the VPU
+
You need a strong enough power source: 2.5A and 24V minimum.
-1) First, connect the head(s) to the VPU;
-
-2) Connect power to the VPU - ATTENTION: PIN2 is power! PIN3 is ground
-3) Connect the ethernet cable (not included in the package)
-4) Wait until you see the ethernet LED flashing before pinging/connecting to the VPU.
+1) First, connect the head(s) to the VPU; the only requirement is to connect pairs of same imager types together, for instance as shown below:
+
+2) Connect power to the VPU - ATTENTION: PIN2 is power! PIN3 is ground
+3) Connect the ethernet cable (not included in the package)
+4) Wait until you see the ethernet LED flashing before pinging/connecting to the VPU.
-That's it about the hardware. Next step: software installation
+That's it about the hardware. Next step: software installation.
## Network configuration
The default IP address of the VPU is 192.168.0.69. A good first step is to make sure you can connect to the VPU:
@@ -32,17 +32,16 @@ If you do not receive an answer from the camera, you can try to adjust your netw
## Software installation
-_Note: We recommend for testing purposes to install the ifmO3r package in an clean python environment first. You can use_ `python -m venv "venv-name"` _to create a new virtual environment.
-
-The ifm3d(ifm3dpy) is the go to library for ifm's 3D cameras. It provides the possibility to easily change parameters, get images and even more. The next steps will cover the general usage of ifm3dpy, and how to unlock the O3R capabilities. Because the ifm3dpy installation is easy and straight forward (no compiling needed), we focus on this installation. You can find tutorials for both ifm3dpy and ifm3d (C++) within the ifm3d library topic on [ifm3d](https://ifm.github.io/ifm3d-docs/index.html)
+The ifm3d (ifm3dpy, for python) is the go to library for ifm's 3D cameras. It provides the possibility to easily change parameters, get images and even more. The next steps will cover the general usage of ifm3dpy, and how to unlock the O3R capabilities.
+### For python
+> Note: We recommend for testing purposes to install the ifm3dpy package in an clean python environment first. You can use `python -m venv "venv-name"` to create a new virtual environment.
You can use the official PyPI package to install the ifm3dpy within your virtual environment:
```python
pip install ifm3dpy
```
-
-## Check installation
+#### Check installation
Let's verify quickly that the installation worked! This command should display the list of packages installed in your environment:
@@ -56,6 +55,8 @@ Open up a python shell with:
python.exe
OR
./python.exe
+OR
+python
```
Then try importing the package:
@@ -74,7 +75,7 @@ o3r = O3RCamera()
config = o3r.get() #get the configuration saved on the VPU
```
-Using the package `json` provides an easier tool for displaying JSON-Strings. The configuration from the VPU is always a JSON-String.
+Using the package `json` provides an easier tool for displaying JSON-Strings. The configuration from the VPU is always a JSON-String (output below shortened for display purposes).
```python
import json
@@ -176,205 +177,31 @@ print(json.dumps(config, indent=4))
},
"state": "RUN"
},
- "port1": {
- "acquisition": {
- "framerate": 10.0,
- "version": {
- "major": 0,
- "minor": 0,
- "patch": 0
- }
- },
- "data": {
- "algoDebugConfig": {},
- "availablePCICOutput": [],
- "pcicTCPPort": 50011
- },
- "info": {
- "device": "2301",
- "deviceTreeBinaryBlobOverlay": "001-ov9782.dtbo",
- "features": {
- "fov": {
- "horizontal": 127,
- "vertical": 80
- },
- "resolution": {
- "height": 800,
- "width": 1280
- },
- "type": "2D"
- },
- "name": "",
- "partNumber": "M03976",
- "productionState": "AA",
- "sensor": "OV9782",
- "sensorID": "OV9782_127x80_noIllu_Csample",
- "serialNumber": "000000000282",
- "vendor": "0001"
- },
- "mode": "experimental_autoexposure2D",
- "processing": {
- "extrinsicHeadToUser": {
- "rotX": 0.0,
- "rotY": 0.0,
- "rotZ": 0.0,
- "transX": 0.0,
- "transY": 0.0,
- "transZ": 0.0
- },
- "version": {
- "major": 0,
- "minor": 0,
- "patch": 0
- }
- },
- "state": "RUN"
- },
- "port2": {
- "acquisition": {
- "exposureLong": 5000,
- "exposureShort": 400,
- "framerate": 10.0,
- "offset": 0.0,
- "version": {
- "major": 0,
- "minor": 0,
- "patch": 0
- }
- },
- "data": {
- "algoDebugConfig": {},
- "availablePCICOutput": [],
- "pcicTCPPort": 50012
- },
- "info": {
- "device": "3201",
- "deviceTreeBinaryBlobOverlay": "001-irs2381c.dtbo",
- "features": {
- "fov": {
- "horizontal": 60,
- "vertical": 45
- },
- "resolution": {
- "height": 480,
- "width": 640
- },
- "type": "3D"
- },
- "name": "",
- "partNumber": "M03976",
- "productionState": "AA",
- "sensor": "IRS2877C",
- "sensorID": "IRS2877C_60x45_4x2W_60x45_B1",
- "serialNumber": "000000000281",
- "vendor": "0001"
- },
- "mode": "standard_range4m",
- "processing": {
- "diParam": {
- "anfFilterSizeDiv2": 2,
- "enableDynamicSymmetry": true,
- "enableStraylight": true,
- "enableTemporalFilter": true,
- "excessiveCorrectionThreshAmp": 0.3,
- "excessiveCorrectionThreshDist": 0.08,
- "maxDistNoise": 0.02,
- "maxSymmetry": 0.4,
- "medianSizeDiv2": 0,
- "minAmplitude": 20.0,
- "minReflectivity": 0.0,
- "mixedPixelFilterMode": 1,
- "mixedPixelThresholdRad": 0.15
- },
- "extrinsicHeadToUser": {
- "rotX": 0.0,
- "rotY": 0.0,
- "rotZ": 0.0,
- "transX": 0.0,
- "transY": 0.0,
- "transZ": 0.0
- },
- "version": {
- "major": 0,
- "minor": 0,
- "patch": 0
- }
- },
- "state": "RUN"
- },
- "port3": {
- "acquisition": {
- "exposureLong": 5000,
- "exposureShort": 400,
- "framerate": 10.0,
- "offset": 0.0,
- "version": {
- "major": 0,
- "minor": 0,
- "patch": 0
- }
- },
- "data": {
- "algoDebugConfig": {},
- "availablePCICOutput": [],
- "pcicTCPPort": 50013
- },
- "info": {
- "device": "3201",
- "deviceTreeBinaryBlobOverlay": "001-irs2381c.dtbo",
- "features": {
- "fov": {
- "horizontal": 60,
- "vertical": 45
- },
- "resolution": {
- "height": 480,
- "width": 640
- },
- "type": "3D"
- },
- "name": "",
- "partNumber": "M03976",
- "productionState": "AA",
- "sensor": "IRS2877C",
- "sensorID": "IRS2877C_60x45_4x2W_60x45_B1",
- "serialNumber": "000000000282",
- "vendor": "0001"
- },
- "mode": "standard_range4m",
- "processing": {
- "diParam": {
- "anfFilterSizeDiv2": 2,
- "enableDynamicSymmetry": true,
- "enableStraylight": true,
- "enableTemporalFilter": true,
- "excessiveCorrectionThreshAmp": 0.3,
- "excessiveCorrectionThreshDist": 0.08,
- "maxDistNoise": 0.02,
- "maxSymmetry": 0.4,
- "medianSizeDiv2": 0,
- "minAmplitude": 20.0,
- "minReflectivity": 0.0,
- "mixedPixelFilterMode": 1,
- "mixedPixelThresholdRad": 0.15
- },
- "extrinsicHeadToUser": {
- "rotX": 3.14,
- "rotY": 1.8,
- "rotZ": 0.0,
- "transX": 0.2,
- "transY": 0.0,
- "transZ": 0.0
- },
- "version": {
- "major": 0,
- "minor": 0,
- "patch": 0
- }
- },
- "state": "RUN"
- }
- }
+ ...
}
```
+### For cpp
+
+You will need to build from source. Clone the [ifm3d repository](https://github.com/ifm/ifm3d/tree/o3r/main-next) from github (make sure to use the o3r/main-next branch) and proceed as follows:
+
+```console
+$ mkdir build
+$ cd build
+$ cmake -DCMAKE_INSTALL_PREFIX=/usr ..
+$ cmake --build .
+$ sudo make install
+```
+
+To build the python bindings, use:
+```console
+$ cmake -DBUILD_MODULE_PYBIND11=ON ..
+```
+
+To build the examples, use:
+```console
+$ cmake -DBUILD_MODULE_PYBIND11=ON -DBUILD_EXAMPLES=ON ..
+```
+
+### For ROS: *coming soon*
+
diff --git a/O3R/Parameters/AcquisitionSettings/README.md b/O3R/Parameters/AcquisitionSettings/README.md
index 08220df..2a61413 100644
--- a/O3R/Parameters/AcquisitionSettings/README.md
+++ b/O3R/Parameters/AcquisitionSettings/README.md
@@ -1,4 +1,4 @@
-# README - Acquisition settings
+# Acquisition settings
| Table of content|
|-|
diff --git a/O3R/Parameters/Filters/README.md b/O3R/Parameters/Filters/README.md
index bb57bd4..5007842 100644
--- a/O3R/Parameters/Filters/README.md
+++ b/O3R/Parameters/Filters/README.md
@@ -1,4 +1,4 @@
-# README - Filters
+# Filters
| Table of content|
|-|
diff --git a/O3R/Parameters/README.md b/O3R/Parameters/README.md
index ed6ed29..7822fbd 100644
--- a/O3R/Parameters/README.md
+++ b/O3R/Parameters/README.md
@@ -1,4 +1,4 @@
-# README - Parameters
+# Parameters
| Table of content|
|-|
diff --git a/O3R/ProductsDescription/README.md b/O3R/ProductsDescription/README.md
index a8a81b8..5d84629 100644
--- a/O3R/ProductsDescription/README.md
+++ b/O3R/ProductsDescription/README.md
@@ -1,4 +1,4 @@
-# README - Products Description
+# Products Description
| Table of content|
|--|