Skip to content

Commit

Permalink
[bot] update built doc
Browse files Browse the repository at this point in the history
  • Loading branch information
ifm-csr committed Nov 5, 2024
1 parent 0c44868 commit 223b340
Show file tree
Hide file tree
Showing 18 changed files with 90 additions and 50 deletions.
4 changes: 2 additions & 2 deletions v1.1.2/README.html
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,8 @@ <h2>Compatibility Matrix<a class="headerlink" href="#compatibility-matrix" title
</thead>
<tbody>
<tr class="row-even"><td><p>1.1.2</p></td>
<td><p>1.3.3</p></td>
<td><p>1.0.14</p></td>
<td><p>1.3.3, 1.4.3, 1.5.3</p></td>
<td><p>1.0.14, 1.1.30, 1.1.41, 1.4.30</p></td>
<td><p>ROS Noetic</p></td>
</tr>
<tr class="row-odd"><td><p>1.1.1</p></td>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?xml version="1.0"?>
<launch>
<!-- Command-line arguments -->
<arg name="namespace" default="ifm3d_ros_driver" doc="Desired namespace for the camera nodelet" />
<arg name="nodelet_name" default="camera"/>
<arg name="ip" default="192.168.0.69" doc="The IP address of the VPU."/>
<arg name="xmlrpc_port" default="80" doc="The TCP port the camera's xmlrpc server is listening on for requests."/>
<arg name="pcic_port" default="50010" doc="The TCP (data) port the camera's pcic server is listening on for requests."/>
<arg name="password" default="" doc="The password required to establish an edit session on the VPU"/>
<arg name="timeout_millis" default="500" doc="The number of milliseconds to wait for the framegrabber to return new frame data before declaring a &quot;timeout&quot; and to stop blocking on new data."/>
<arg name="timeout_tolerance_secs" default="5.0" doc="The wall time to wait with no new data from the camera before trying to establish a new connection to the camera."/>
<arg name="frame_id_base" default="$(arg namespace)/$(arg nodelet_name)" doc="This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames."/>
<arg name="respawn" default="false" doc="Restart the node automatically if it quits."/>
<arg name="assume_sw_triggered" default="false" doc="This mode means the driver of the the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon)." />
<arg name="xyz_image_stream" default="true" doc="Enable xyz image streaming for 3D camera camera streams." />
<arg name="confidence_image_stream" default="true" doc="Enable confidence image streaming for 3D camera camera streams." />
<arg name="radial_distance_image_stream" default="true" doc="Enable radial distance image streaming for 3D camera camera streams." />
<arg name="radial_distance_noise_stream" default="true" doc="Enable distance noise image streaming for 3D camera camera streams." />
<arg name="amplitude_image_stream" default="true" doc="Enable amplitude image streaming for 3D camera camera streams." />
<arg name="extrinsic_image_stream" default="true" doc="Enable extrinsic values streaming for 3D camera camera streams." />
<arg name="intrinsic_image_stream" default="false" doc="Enable intrinsic values streaming for 3D camera camera streams." />
<arg name="rgb_image_stream" default="false" doc="Enable rgb image streaming for 3D camera camera streams." />

<include ns="$(arg namespace)" file="$(find ifm3d_ros_driver)/launch/nodelet.launch">
<arg name="camera" value="$(arg nodelet_name)"/>
<arg name="ip" value="$(arg ip)"/>
<arg name="xmlrpc_port" value="$(arg xmlrpc_port)"/>
<arg name="pcic_port" value="$(arg pcic_port)"/>
<arg name="password" value="$(arg password)"/>
<arg name="timeout_millis" value="$(arg timeout_millis)"/>
<arg name="timeout_tolerance_secs" value="$(arg timeout_tolerance_secs)"/>
<arg name="frame_id_base" value="$(arg namespace)/$(arg nodelet_name)" />
<arg name="respawn" value="$(arg respawn)"/>
<arg name="assume_sw_triggered" value="$(arg assume_sw_triggered)"/>
<!-- configure VPU (IPC) available data streams -->
<arg name="xyz_image_stream" value="$(arg xyz_image_stream)"/>
<arg name="confidence_image_stream" value="$(arg confidence_image_stream)"/>"
<arg name="radial_distance_image_stream" value="$(arg radial_distance_image_stream)"/>"
<arg name="radial_distance_noise_stream" value="$(arg radial_distance_noise_stream)"/>"
<arg name="amplitude_image_stream" value="$(arg amplitude_image_stream)"/>"
<arg name="extrinsic_image_stream" value="$(arg extrinsic_image_stream)"/>"
<arg name="intrinsic_image_stream" value="$(arg intrinsic_image_stream)"/>"
<arg name="rgb_image_stream" value="$(arg rgb_image_stream)"/>"
</include>

</launch>
18 changes: 8 additions & 10 deletions v1.1.2/_sources/README.md.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,13 @@
:::{warning} Note that the `master` branch is generally in a work in progress, and you probably want to use a tagged [release version](https://github.com/ifm/ifm3d-ros/releases) for production.
:::

| **ifm3d-ros version** | **ifm3d version** | **embedded O3R FW version** | **ROS distribution(s)** |
| --------------------- | ----------------- | --------------------------- | ----------------------- |
| 1.1.2 | 1.3.3 | 1.0.14 | ROS Noetic |
| 1.1.1 | 1.2.6 | 1.0.14 | ROS Noetic |
| 1.1.0 (unreleased) | 1.2.3 | 1.0.x | ROS Noetic |
| 1.0.1 | 0.93.0 | 0.14.23 | ROS Noetic |
| 1.0.0 | 0.91.0 | 0.14.23 | ROS Noetic |

| **ifm3d-ros version** | **ifm3d version** | **embedded O3R FW version** | **ROS distribution(s)** |
| --------------------- | ------------------- | ------------------------------ | ----------------------- |
| 1.1.2 | 1.3.3, 1.4.3, 1.5.3 | 1.0.14, 1.1.30, 1.1.41, 1.4.30 | ROS Noetic |
| 1.1.1 | 1.2.6 | 1.0.14 | ROS Noetic |
| 1.1.0 (unreleased) | 1.2.3 | 1.0.x | ROS Noetic |
| 1.0.1 | 0.93.0 | 0.14.23 | ROS Noetic |
| 1.0.0 | 0.91.0 | 0.14.23 | ROS Noetic |

### Internal ifm3d-ros subpackage version structure
Please see the internal subpackage version structure for a known `ifm3d-ros version`.
Expand All @@ -29,7 +28,6 @@ Please see the internal subpackage version structure for a known `ifm3d-ros vers
| 1.0.1 | 1.0.1 | 0.1.0 | 0.1.0 |
| 1.0.0 | 0.7.0 | 0.1.0 | 0.1.0 |


## Changelogs
+ ifm3d-ros: For changes between on the ifm3d-ros node source code, please see the respective information in the [CHANGELOG](CHANGELOG.rst).
+ ifm3d: For changes between on the ifm3d API source code, please see the respective information in the [ifm3d CHANGELOG](https://github.com/ifm/ifm3d/blob/main/ChangeLog.md).
Expand Down Expand Up @@ -65,4 +63,4 @@ Build for distributed systems <ifm3d_ros_driver/doc/distributed_build>
:::

## LICENSE
Please see the file called [LICENSE](LICENSE).
Please see the file called [LICENSE](LICENSE).
2 changes: 1 addition & 1 deletion v1.1.2/_sources/ifm3d_ros_driver/README.md.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
The core `ifm3d-ros` sensor interface is implemented as a ROS nodelet. This allows for lower-latency data processing vs. the traditional out-of-process node-based ROS interface for applications that require it. However, we ship a launch file with this package that allows for using the core `ifm3d-ros` driver as a standard node. To launch the node, the following command can be used:

```
$ roslaunch ifm3d_ros_examples camera.launch
$ roslaunch ifm3d_ros_examples camera_3d.launch
```
>Note: Please notice the use of the subpackage `ifm3d_ros_examples`.

Expand Down
6 changes: 3 additions & 3 deletions v1.1.2/_sources/ifm3d_ros_driver/doc/building.md.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,14 @@ Now we are ready to build the code. The following code block shows you how to si
$ cd ~/catkin_ws/
$ catkin_make
```
This will create a `devel` and `build` folder in your catkin workspace, which contains the required code for running the ROS node. To test this you can easily set-up your current shell and run: `source ~/catkin_ws/devel/setup.bash && roslaunch ifm3d_ros_examples camera.launch`.
This will create a `devel` and `build` folder in your catkin workspace, which contains the required code for running the ROS node. To test this you can easily set-up your current shell and run: `source ~/catkin_ws/devel/setup.bash && roslaunch ifm3d_ros_examples camera_3d.launch`.


The ROS package should now be installed in `~/ros/ifm3d-ros`. To test everything out you should open a fresh bash shell, and start up a ROS core:
(Please don't forget to source the ifm3d-ros package first if you haven't done it yet.)
```
$ roscore &
$ roslaunch ifm3d_ros_examples camera.launch
$ roslaunch ifm3d_ros_examples camera_3d.launch
```

> **NOTE**: This example expects the camera on PCIC port 50010. You can change the default value with `pcic_port`.
Expand All @@ -73,7 +73,7 @@ Open another shell and start the rviz node to visualize the data coming from the
```
$ roslaunch ifm3d_ros_examples rviz.launch
```
> **NOTE**: `rviz.launch` does not include the camera node itself, but subscribes to published topics (distance, amplitude, etc). A camera node need to be running in parallel to rviz (you can use `camera.launch`).
> **NOTE**: `rviz.launch` does not include the camera node itself, but subscribes to published topics (distance, amplitude, etc). A camera node need to be running in parallel to rviz (you can use `camera_3d.launch`).

At this point, you should see an rviz window that looks something like the image below (note that this is the view from 3 camera heads):
![rviz1](figures/O3R_merged_point_cloud.png)
Expand Down
2 changes: 1 addition & 1 deletion v1.1.2/_sources/ifm3d_ros_driver/doc/diagnosis_link.md.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Diagnosis information and error codes

The underlying C++ API `ifm3d` supports live status monitoring via diagnosis information sent from the embedded device.
Please check the definition and meaning of the error codes [here](https://ifm3d.com/documentation/DeviceConfiguration/Troubleshooting/diagnosis.html#error-descriptions).
Please check the definition and meaning of the error codes [here](https://ifm3d.com/latest/SoftwareInterfaces/ifmDiagnostic/diagnostic_sources.html).
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ For example, to dump the state of the camera:
>Note: The service proxying only works on the `/ifm3d_ros_examples/camera/` namespace at the moment.

```
$ roslaunch ifm3d_ros_examples camera.launch &
$ roslaunch ifm3d_ros_examples camera_3d.launch &
$ rosrun ifm3d_ros_msgs dump
{
"device": {
Expand Down
4 changes: 2 additions & 2 deletions v1.1.2/_sources/ifm3d_ros_driver/doc/noetic.md.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This article provides a quick-start guide for getting a fresh installation of Ub
$ sudo apt-get update
$ sudo apt-get -u upgrade
```
2. Install ROS Melodic:
2. Install ROS Noetic:
Follow [these steps](http://wiki.ros.org/noetic/Installation/Ubuntu) exactly (we assume you did) and choose to install `ros-noetic-desktop-full`.

3. Additional Dependencies:
Expand Down Expand Up @@ -44,7 +44,7 @@ This article provides a quick-start guide for getting a fresh installation of Ub
[ifm3d](ifm3d/doc/sphinx/content/README:ifm3d%20Overview) is the core underlying C++ driver that `ifm3d_ros` wraps.
To install `ifm3d`, please follow the instructions [here](ifm3d/doc/sphinx/content/installation_instructions/source_build:Installing%20ifm3d%20from%20source).

**NOTE**: Choose the correct ifm3d version. See [compatibility Matrix](https://ifm3d.com/ROS/ifm3d-ros/README.html#software-compatibility-matrix).
**NOTE**: Choose the correct ifm3d version. See [compatibility Matrix](https://ros.ifm3d.com/latest/README.html#compatibility-matrix).

You are now in position to install the `ifm3d-ros` wrapper. Please switch to the instructions [here](building.md).

Expand Down
2 changes: 1 addition & 1 deletion v1.1.2/_sources/ifm3d_ros_driver/doc/visualization.md.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## HOW to visualize the point cloud with RVIZ
The included launch file `camera.launch` will publish and remap all topics and services to `/ifm3d_ros_driver/xxx`, for example the point cloud topic will be remapped to `/ifm3d_ros_driver/camera/cloud`.
The included launch file `camera_3d.launch` will publish and remap all topics and services to `/ifm3d_ros_driver/xxx`, for example the point cloud topic will be remapped to `/ifm3d_ros_driver/camera/cloud`.

When you open RVIZ for the first time and subscribe the point cloud topic to it, it will not be displayed as the transformation chain between the different reference frames is not complete.

Expand Down
13 changes: 6 additions & 7 deletions v1.1.2/_sources/ifm3d_ros_examples/README.md.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,16 @@ Please see the list below for launch files shipped with the examples package:

| Name | Description |
| ---- | ----------- |
| `six_cameras.launch` | Launches six nodes, reading data streams on ports 0, 1, 2, 3, 4 and 5. Provide coordinate frame transforms for each node. Note: you can use this example for less than six heads, but you will get a `timeout` error where no heads are connected. This does not disrupt the proper functioning of the connected heads.|
| `nodelet.launch` | This is handling the nodelet manager which makes it possible to launch a nodelet similarly as you would a simple node.|
| `head.launch` | Launches two data streams for both the 2D RGB imager and 3D TOF imager on a camera head. Default ports are 0 for 3D data (pcic_port_1:=50010) and 2 for 2D RGB data (pcic_port_2:=50012). For different port numbers input port as a parameter when launching. |
| `camera.launch` | Launches a single camera stream - so only 3D data or 2D RGB data. This launch file is comparable to a single camera setup (O3Ds and O3Xs) |
| `camera_3d.launch` | Launches a single 3d camera stream - so only 3D data data. This launch file is comparable to a single camera setup (O3Ds and O3Xs) |
| `camera_2d.launch` | Launches a single 2d camera stream - so only 2D RGB data. This launch file is comparable to a single camera setup (O3Ds and O3Xs) |

### Nodelet launch structure

>Note: The O3R platform can handle multiple data streams.*
The `camera.launch` file only launches a node for one data stream, on the default pcic port 50010. To launch a node for a different port, use:
The `camera_3d.launch` file only launches a node for one data stream, on the default pcic port 50010. To launch a node for a different port, use:
```
$ roslaunch ifm3d_ros_driver camera.launch pcic_port:=<PORT_NUMBER>
$ roslaunch ifm3d_ros_driver camera_3d.launch pcic_port:=<PORT_NUMBER>
```


Expand All @@ -28,11 +27,11 @@ The launch file(s) encapsulate several features:
3. It launches the camera nodelet itself.
4. It publishes the static transform from the camera's optical frame to a traditional ROS sensor frame as a tf2 `static_transform_publisher`.

You can either use [this launch file](launch/camera.launch) directly, or, use it as a basis for integrating `ifm3d_ros` into your own robot software system.
You can either use [this launch file](launch/camera_3d.launch) directly, or, use it as a basis for integrating `ifm3d_ros` into your own robot software system.

> Note: the O3R camera heads carry two imagers, a 3D time-of-flight and a RGB imager.

We provide the `head.launch` launchfile to handle a whole O3R camera head, that starts two nodes, one for the RGB image (we assume it is plugged in port 0), and one for the 3D imager (we assume it is plugged in port 2).
We provide the `camer_2d.launch` launchfile to handle the RGB image (we assume it is plugged in port 0).

## Building launch files distributed systems
>Note: This is WIR. We are currently working on Docker images which will allow you an easy deployment of our ROS node to the VPU.
Expand Down
2 changes: 1 addition & 1 deletion v1.1.2/ifm3d_ros_driver/README.html
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ <h1>The <code class="docutils literal notranslate"><span class="pre">ifm3d_ros_d
<section id="ros-interface">
<h2>ROS Interface<a class="headerlink" href="#ros-interface" title="Link to this heading"></a></h2>
<p>The core <code class="docutils literal notranslate"><span class="pre">ifm3d-ros</span></code> sensor interface is implemented as a ROS nodelet. This allows for lower-latency data processing vs. the traditional out-of-process node-based ROS interface for applications that require it. However, we ship a launch file with this package that allows for using the core <code class="docutils literal notranslate"><span class="pre">ifm3d-ros</span></code> driver as a standard node. To launch the node, the following command can be used:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ roslaunch ifm3d_ros_examples camera.launch
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ roslaunch ifm3d_ros_examples camera_3d.launch
</pre></div>
</div>
<blockquote>
Expand Down
6 changes: 3 additions & 3 deletions v1.1.2/ifm3d_ros_driver/doc/building.html
Original file line number Diff line number Diff line change
Expand Up @@ -168,11 +168,11 @@ <h3>Build the ROS node<a class="headerlink" href="#build-the-ros-node" title="Li
$ catkin_make
</pre></div>
</div>
<p>This will create a <code class="docutils literal notranslate"><span class="pre">devel</span></code> and <code class="docutils literal notranslate"><span class="pre">build</span></code> folder in your catkin workspace, which contains the required code for running the ROS node. To test this you can easily set-up your current shell and run: <code class="docutils literal notranslate"><span class="pre">source</span> <span class="pre">~/catkin_ws/devel/setup.bash</span> <span class="pre">&amp;&amp;</span> <span class="pre">roslaunch</span> <span class="pre">ifm3d_ros_examples</span> <span class="pre">camera.launch</span></code>.</p>
<p>This will create a <code class="docutils literal notranslate"><span class="pre">devel</span></code> and <code class="docutils literal notranslate"><span class="pre">build</span></code> folder in your catkin workspace, which contains the required code for running the ROS node. To test this you can easily set-up your current shell and run: <code class="docutils literal notranslate"><span class="pre">source</span> <span class="pre">~/catkin_ws/devel/setup.bash</span> <span class="pre">&amp;&amp;</span> <span class="pre">roslaunch</span> <span class="pre">ifm3d_ros_examples</span> <span class="pre">camera_3d.launch</span></code>.</p>
<p>The ROS package should now be installed in <code class="docutils literal notranslate"><span class="pre">~/ros/ifm3d-ros</span></code>. To test everything out you should open a fresh bash shell, and start up a ROS core:
(Please don’t forget to source the ifm3d-ros package first if you haven’t done it yet.)</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ roscore &amp;
$ roslaunch ifm3d_ros_examples camera.launch
$ roslaunch ifm3d_ros_examples camera_3d.launch
</pre></div>
</div>
<blockquote>
Expand All @@ -183,7 +183,7 @@ <h3>Build the ROS node<a class="headerlink" href="#build-the-ros-node" title="Li
</pre></div>
</div>
<blockquote>
<div><p><strong>NOTE</strong>: <code class="docutils literal notranslate"><span class="pre">rviz.launch</span></code> does not include the camera node itself, but subscribes to published topics (distance, amplitude, etc). A camera node need to be running in parallel to rviz (you can use <code class="docutils literal notranslate"><span class="pre">camera.launch</span></code>).</p>
<div><p><strong>NOTE</strong>: <code class="docutils literal notranslate"><span class="pre">rviz.launch</span></code> does not include the camera node itself, but subscribes to published topics (distance, amplitude, etc). A camera node need to be running in parallel to rviz (you can use <code class="docutils literal notranslate"><span class="pre">camera_3d.launch</span></code>).</p>
</div></blockquote>
<p>At this point, you should see an rviz window that looks something like the image below (note that this is the view from 3 camera heads):
<img alt="rviz1" src="../../_images/O3R_merged_point_cloud.png" /></p>
Expand Down
2 changes: 1 addition & 1 deletion v1.1.2/ifm3d_ros_driver/doc/diagnosis_link.html
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
<section id="diagnosis-information-and-error-codes">
<h1>Diagnosis information and error codes<a class="headerlink" href="#diagnosis-information-and-error-codes" title="Link to this heading"></a></h1>
<p>The underlying C++ API <code class="docutils literal notranslate"><span class="pre">ifm3d</span></code> supports live status monitoring via diagnosis information sent from the embedded device.
Please check the definition and meaning of the error codes <a class="reference external" href="https://ifm3d.com/documentation/DeviceConfiguration/Troubleshooting/diagnosis.html#error-descriptions">here</a>.</p>
Please check the definition and meaning of the error codes <a class="reference external" href="https://ifm3d.com/latest/SoftwareInterfaces/ifmDiagnostic/diagnostic_sources.html">here</a>.</p>
</section>


Expand Down
Loading

0 comments on commit 223b340

Please sign in to comment.