Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…r/ifm3d/ifm3d-ros into hotfix/documentation_fw_1_4_x
  • Loading branch information
dekhanra committed Jun 25, 2024
2 parents 2438b2f + de8bd66 commit 77084b5
Show file tree
Hide file tree
Showing 13 changed files with 25 additions and 27 deletions.
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@

| **ifm3d-ros version** | **ifm3d version** | **embedded O3R FW version** | **ROS distribution(s)** |
| --------------------- | ----------------- | --------------------------- | ----------------------- |
| 1.1.2 | 1.4.3 | 1.4.22 | ROS Noetic |
| 1.1.2 | 1.3.3 | 1.0.14 / 1.1.30 | ROS Noetic |
| 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 |
Expand Down
4 changes: 2 additions & 2 deletions ifm3d-ros/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
<name>ifm3d-ros</name>
<version>1.1.2</version>
<description>metapackage for the ifm3d-ros package group which interacts with the ifm 3D ToF Camera ROS package</description>
<maintainer email="support.robotics@ifm.com">ifm robotics group</maintainer>
<maintainer email="support.efector.object-ident@ifm.com">ifm robotics group</maintainer>
<license>Apache 2</license>
<author email="support.robotics@ifm.com">ifm robotics group</author>
<author email="support.efector.object-ident@ifm.com">ifm robotics group</author>
<url type="repository">https://github.com/ifm/ifm3d-ros/</url>

<buildtool_depend>catkin</buildtool_depend>
Expand Down
2 changes: 1 addition & 1 deletion ifm3d_ros_driver/README.md
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 ifm3d_ros_driver/doc/building.md
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 ifm3d_ros_driver/doc/diagnosis_link.md
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).
2 changes: 1 addition & 1 deletion ifm3d_ros_driver/doc/dump_and_config.md
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 ifm3d_ros_driver/doc/noetic.md
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 ifm3d_ros_driver/doc/visualization.md
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
4 changes: 2 additions & 2 deletions ifm3d_ros_driver/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
<name>ifm3d_ros_driver</name>
<version>1.1.1</version>
<description>ifm 3D ToF Camera ROS main driver package</description>
<maintainer email="support.robotics@ifm.com">ifm robotics group</maintainer>
<maintainer email="support.efector.object-ident@ifm.com">ifm robotics group</maintainer>
<license>Apache 2</license>
<author email="support.robotics@ifm.com">ifm robotics group</author>
<author email="support.efector.object-ident@ifm.com">ifm robotics group</author>
<url type="repository">https://github.com/ifm/ifm3d-ros/</url>

<buildtool_depend>catkin</buildtool_depend>
Expand Down
2 changes: 1 addition & 1 deletion ifm3d_ros_driver/test/ifm3d.test
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0"?>

<launch>
<include file="$(find ifm3d)/launch/camera.launch"/>
<include file="$(find ifm3d)/launch/camera_3d.launch"/>
<test pkg="ifm3d" test-name="test_camera" type="test_camera.py"/>
</launch>
13 changes: 6 additions & 7 deletions ifm3d_ros_examples/README.md
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
4 changes: 2 additions & 2 deletions ifm3d_ros_examples/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
<name>ifm3d_ros_examples</name>
<version>0.2.0</version>
<description>ifm3d_ros examples subpackage</description>
<maintainer email="support.robotics@ifm.com">ifm robotics group</maintainer>
<maintainer email="support.efector.object-ident@ifm.com">ifm robotics group</maintainer>
<license>Apache 2</license>
<author email="support.robotics@ifm.com">ifm robotics group</author>
<author email="support.efector.object-ident@ifm.com">ifm robotics group</author>

<url type="repository">https://github.com/ifm/ifm3d_ros/</url>

Expand Down
4 changes: 2 additions & 2 deletions ifm3d_ros_msgs/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
<name>ifm3d_ros_msgs</name>
<version>0.2.0</version>
<description>ifm3d_ros messages subpackage</description>
<maintainer email="support.robotics@ifm.com">ifm robotics group</maintainer>
<maintainer email="support.efector.object-ident@ifm.com">ifm robotics group</maintainer>
<license>Apache 2</license>
<author email="support.robotics@ifm.com">ifm robotics group</author>
<author email="support.efector.object-ident@ifm.com">ifm robotics group</author>
<url type="repository">https://github.com/ifm/ifm3d-ros/</url>


Expand Down

0 comments on commit 77084b5

Please sign in to comment.