You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+11-27
Original file line number
Diff line number
Diff line change
@@ -82,45 +82,30 @@ ROS Interface
82
82
83
83
## camera nodelet
84
84
85
-
The core `ifm3d-ros` sensor interface is implemented as a ROS nodelet. This
86
-
allows for lower-latency data processing vs. the traditional out-of-process
87
-
node-based ROS interface for applications that require it. However, we ship a
88
-
launch file with this package that allows for using the core `ifm3d-ros` driver
89
-
as a standard node. To launch the node, the following command can be used:
85
+
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:
90
86
91
87
```
92
88
$ roslaunch ifm3d camera.launch
93
89
```
94
90
95
-
We note, the above command is equivalent to the following and is used for
96
-
purposes of providing a backward compatible interface to versions of
97
-
`ifm3d-ros` prior to the conversion to a nodelet architecture:
91
+
We note, the above command is equivalent to the following and is used for purposes of providing a backward compatible interface to versions of `ifm3d-ros` prior to the conversion to a nodelet architecture:
98
92
99
93
**NOTE:**
100
94
For the O3X1xx cameras, the PCIC connections are limited to only one. Therefore if there is already an active session established via ifmVisionAssistant then it is not possible to launch the camera node because the PCIC connection is currently picked up by iVA.
101
95
```
102
96
$ roslaunch ifm3d nodelet.launch __ns:=ifm3d
103
97
```
104
98
105
-
Regardless of which command line you used from above, the launch file(s)
106
-
encapsulate several features:
99
+
Regardless of which command line you used from above, the launch file(s) encapsulate several features:
107
100
108
-
1. It exposes some of the `camera_nodelet` parameters as command-line arguments
109
-
for ease of runtime configuration.
110
-
2. It instantiates a nodelet manager which the `camera_nodelet` will be loaded
111
-
into.
101
+
1. It exposes some of the `camera_nodelet` parameters as command-line arguments for ease of runtime configuration.
102
+
2. It instantiates a nodelet manager which the `camera_nodelet` will be loaded into.
112
103
3. It launches the camera nodelet itself.
113
-
4. It publishes the static transform from the camera's optical frame to a
114
-
traditional ROS sensor frame as a tf2 `static_transform_publisher`.
104
+
4. It publishes the static transform from the camera's optical frame to a traditional ROS sensor frame as a tf2 `static_transform_publisher`.
115
105
116
-
You can either use [this launch file](launch/camera.launch) directly, or, use
117
-
it as a basis for integrating `ifm3d-ros` into your own robot software system.
106
+
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.
118
107
119
-
We note: due to the change in architecture from a standalone node to a nodelet,
120
-
we have seen one behavior whose solution is not clear to have us provide
121
-
backward compatible behavior with older versions of `ifm3d-ros`. Specifically,
122
-
if you plan to run the camera in software triggered mode, you should lanch the
123
-
node as follows:
108
+
We note: due to the change in architecture from a standalone node to a nodelet, we have seen one behavior whose solution is not clear to have us provide backward compatible behavior with older versions of `ifm3d-ros`. Specifically, if you plan to run the camera in software-triggered mode, you should launch the node as follows:
Copy file name to clipboardExpand all lines: doc/dump_and_config.md
+5-20
Original file line number
Diff line number
Diff line change
@@ -2,15 +2,9 @@
2
2
ifm3d-ros: Dump and Config
3
3
==========================
4
4
5
-
`ifm3d-ros` provides access to the camera/imager parameters via the `Dump` and
6
-
`Config` services exposed by the `camera_nodelet`. Additionally, command-line
7
-
scripts called `dump` and `config` are provided as wrapper interfaces to those
8
-
services. This gives a feel similar to using the underlying `ifm3d`
9
-
command-line tool from the ROS-independent driver except proxying the calls
10
-
through the ros network.
11
-
12
-
For example, to dump the state of the camera:
5
+
`ifm3d-ros` provides access to the camera/imager parameters via the `Dump` and `Config` services exposed by the `camera_nodelet`. Additionally, command-line scripts called `dump` and `config` are provided as wrapper interfaces to those services. This gives a feel similar to using the underlying `ifm3d` command-line tool from the ROS-independent driver except proxying the calls through the ros network.
13
6
7
+
For example, to dump the state of the camera:
14
8
(exemplary output from an O3D303 is shown)
15
9
16
10
```
@@ -155,9 +149,7 @@ $ rosrun ifm3d dump
155
149
}
156
150
```
157
151
158
-
Chaining together Linux pipelines works just as it does in `ifm3d`. For
159
-
example, using a combination of `dump` and `config` to set a new name on the
160
-
camera would look like:
152
+
Chaining together Linux pipelines works just as it does in `ifm3d`. For example, using a combination of `dump` and `config` to set a new name on the camera would look like:
**NOTE:** If you do not have `jq` on your system, it can be installed with: `$ sudo apt-get install jq`
169
161
170
-
For the `config` command, one difference between our ROS implementation and the
171
-
`ifm3d` implementation is that we only accept input on `stdin`. So, if you had
172
-
a file with JSON you wish to configure your camera with, you would simply use the
173
-
file I/O redirection facilities of your shell (or something like `cat`) to feed
174
-
the data to `stdin`. For example, in `bash`:
162
+
For the `config` command, one difference between our ROS implementation and the `ifm3d` implementation is that we only accept input on `stdin`. So, if you had a file with JSON you wish to configure your camera with, you would simply use the file I/O redirection facilities of your shell (or something like `cat`) to feed the data to `stdin`. For example, in `bash`:
175
163
176
164
```
177
165
$ rosrun ifm3d config < camera.json
178
166
```
179
167
180
-
Beyond the requirement of prefacing your command-line with `rosrun` to invoke
181
-
the ROS version of these tools, they operate the same. To learn more about the
Beyond the requirement of prefacing your command line with `rosrun` to invoke the ROS version of these tools, they operate the same. To learn more about the functionality and concepts, you can read the docs [here](https://github.com/ifm/ifm3d/blob/master/doc/configuring.md).
0 commit comments