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
{{ message }}
This repository was archived by the owner on Mar 8, 2023. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+9-3Lines changed: 9 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,9 +45,11 @@ ROS Device Driver for SICK lidar and radar sensors - supported scanner types:
45
45
||| Scan-Rate: 15 Hz ||
46
46
| TiM571 |[1079742](https://www.sick.com/de/en/detection-and-ranging-solutions/2d-lidar-sensors/tim5xx/tim571-2050101/p/p412444)| 1 layer max. range: 25 m, ang. resol. 0.33 [deg]| ✔ [stable]|
47
47
||| Scan-Rate: 15 Hz ||
48
-
|TiM781|[1096807](https://www.sick.com/de/de/mess-und-detektionsloesungen/2d-lidar-sensoren/tim7xx/tim781-2174101/p/p594148)| 1 layer max. range: 25 m, ang. resol. 0.33 [deg]| ✔ [stable]|
48
+
|TiM771S|[1105052](https://www.sick.com/de/de/mess-und-detektionsloesungen/2d-lidar-sensoren/tim7xx/tim771s-2174104/p/p660929)| 1 layer max. range: 25 m, ang. resol. 0.33 [deg]| ✔ [stable]|
49
49
||| Scan-Rate: 15 Hz ||
50
-
| TiM781S |[1096363](https://www.sick.com/de/de/mess-und-detektionsloesungen/2d-lidar-sensoren/tim7xx/tim781s-2174104/p/p594149)| 1 layer max. range: 25 m, ang. resol. 0.33 [deg]| ✔ [stable]|
50
+
| TiM781 |[1096807](https://www.sick.com/de/de/mess-und-detektionsloesungen/2d-lidar-sensoren/tim7xx/tim781-2174101/p/p594148)| 1 layer max. range: 25 m, ang. resol. 0.33 [deg]| ✔ [stable]|
51
+
||| Scan-Rate: 15 Hz ||
52
+
| TiM781S |[1096363](https://www.sick.com/de/de/mess-und-detektionsloesungen/2d-lidar-sensoren/tim7xx/tim781s-2174104/p/p594149)| 1 layer max. range: 25 m, ang. resol. 0.33 [deg]| ✔ [stable]|
51
53
||| Scan-Rate: 15 Hz ||
52
54
| LMS511-10100 PRO |[e.g. 1046135](https://www.sick.com/de/en/detection-and-ranging-solutions/2d-lidar-sensors/lms5xx/c/g179651)| 1 layer max. range: 80 m, ang. resol. 0.167 [deg]| ✔ [stable]|
53
55
||| Scan-Rate: 100 Hz ||
@@ -200,14 +202,18 @@ The use of the parameters can be looked up in the launch files. This is also rec
200
202
-`frame_id`
201
203
Frame id used for the published data
202
204
205
+
203
206
### Further useful parameters and features
207
+
204
208
-`timelimit`
205
209
Timelimit in [sec] for max. wait time of incoming sensor reply
206
210
207
211
-`sw_pll_only_publish`
208
212
If true, the internal Software PLL is fored to sync the scan generation time stamp to a system timestamp
209
213
210
-
- Angle compensation: For highest angle accuracy the NAV-Lidar series supports an [angle compensation mechanism](./doc/angular_compensation.md).
214
+
- Angle compensation: For highest angle accuracy the NAV-Lidar series supports an [angle compensation mechanism](./doc/angular_compensation.md).
215
+
216
+
- The **TiM7xxS** family has [extended settings for field monitoring](./doc/tim7xxs_extensions.md).
211
217
212
218
## Sopas Mode
213
219
This driver supports both COLA-B (binary) and COLA-A (ASCII) communication with the laser scanner. Binary mode is activated by default. Since this mode generates less network traffic.
# gen.add("mean_filter", int_t, 0, "Number of averages for mean filter 0 means filter is disabled", 0, 0, 100)
76
76
# gen.add("mirror_scan",bool_t, 0, "Scan direction's changed. E.g. for overhead mounting or NAV 310 ( in contrast to other sick scanners NAV 310 is clockwise rotating ).",False)
77
+
gen.add("use_safty_fields", bool_t, 0, "Whether or not to use safty fields. Only tim 7xx5 supported at the moment", True)
The TiM7xxS family has the following extended settings for field monitoring:
4
+
5
+
## Field monitoring messages
6
+
7
+
TiM7xxS scanner support field monitoring. Fields can be configured by Sopas ET. Once they are configured, sick_scan publishes ros messages containing the monitoring information from the lidar.
8
+
9
+
By default, field monitoring is enabled in the launch file [sick_tim_7xxS.launch](../launch/sick_tim_7xxS.launch) by following settings:
10
+
```
11
+
<param name="activate_lferec" type="bool" value="True"/> <!-- activate field monitoring by lferec messages -->
12
+
<param name="activate_lidoutputstate" type="bool" value="True"/> <!-- activate field monitoring by lidoutputstate messages -->
13
+
<param name="activate_lidinputstate" type="bool" value="True"/> <!-- activate field monitoring by lidinputstate messages -->
14
+
```
15
+
16
+
The driver queries the field configuration from the lidar and activates field monitoring by sending cola commands `"sEN LFErec 1"` and `"sEN LIDoutputstate 1"` at startup. Field monitoring is deactivated when driver exits. During runtime, it's possible to query, activate or deactivate monitoring using ros service ColaMsg with the following command (see section [Cola commands](#cola-commands)):
rosservice call /sick_tim_7xx/ColaMsg "{request: 'sRN LIDinputstate'}" # query activation status of LIDinputstate messages
27
+
```
28
+
29
+
LFErec and LIDoutputstate messages are defined in [LFErecMsg.msg](../msg/LFErecMsg.msg) and [LFErecFieldMsg.msg](../msg/LFErecFieldMsg.msg) resp. [LIDoutputstateMsg.msg](../msg/LIDoutputstateMsg.msg) and published on topics `"/sick_tim_7xxS/lferec"` resp. `"/sick_tim_7xxS/lidoutputstate"`.
30
+
To view the field monitoring messages, run
31
+
```
32
+
rostopic echo "/sick_tim_7xxS/lferec"
33
+
rostopic echo "/sick_tim_7xxS/lidoutputstate"
34
+
```
35
+
or use rviz to visualize monitored fields and their status (see section [Visualization with rviz](#visualization-with-rviz))
36
+
37
+
The most important values of the field monitoring messages are
38
+
39
+
-`field_index` (uint8) and `field_result_mrs` (uint8) for each field of a LFErec message with result status<br/><ul>
40
+
<li>0: invalid / incorrect,</li>
41
+
<li>1: free / clear, or</li>
42
+
<li>2: infringed.</li>
43
+
</ul>
44
+
45
+
-`output_state` (uint8) for each LIDoutputstate message with status 0 (not active), 1 (active) or 2 (not used).
46
+
47
+
Note: Field monitoring currently supports binary cola messages only, which is the default. If cola ascii is activated, please switch back to cola binary for field monitoring.
48
+
49
+
## Visualization with rviz
50
+
51
+
The point cloud, the monitored fields and their status can be visualized using rviz. Use the [rviz configuration file](../test/emulator/config/rviz_emulator_cfg.rviz)
The following screenshot shows an example with 2 fields (the 3. field is not configured), the first field with status "Clear", the second with status "Infringed":
Note: Some combinations of rviz, OpenGL 3, VMware and graphic card drivers may cause visualization issues. In case of missing markers, try rviz with Open GL 2 using the command
in the launch file [sick_tim_7xxS.launch](../launch/sick_tim_7xxS.launch). The ros service sends the given cola command to the lidar and returns its response.
77
+
78
+
Example for cola command `"sRN SCdevicestate"` and response `"sRA SCdevicestate \\x00"` with error status 0 (no error):
Package sick_scan implements some tools to support unittests, development and emulation of Tim781S devices:
87
+
88
+
- sick_scan_emulator to emulate lidar devices and enable unittests (currently for Tim781S only)
89
+
90
+
- pcap_json_converter to convert pcapng-files to json.
91
+
92
+
### TiM781S emulation
93
+
94
+
sick_scan_emulator implements a simple test server for cola commands. It rececives Cola-commands, returns Tim781S-like responses and sends Scandata from a json-file. Run
95
+
```
96
+
roslaunch sick_scan emulator.launch
97
+
```
98
+
to emulate a local Tim781S device. Then start and connect the sick_scan driver by
Note that sick_scan_emulator just implements a simple server for offline tests. It does not emulate a lidar device completely and should only be used for development and testing.
104
+
105
+
Scandata messages are parsed from json-file(s). These json-files are configured in the launch file [emulator.launch](../test/emulator/launch/emulator.launch) and converted form wireshark-records (pcapng-files) using pcap_json_converter.py (see section Pcapng converter tool](#pcapng-converter-tool)).
106
+
107
+
### Unittests
108
+
109
+
Folder `test/emulator/scandata` contains scandata examples for unittests. To run an offline unittest for TiM781S enter the following commands:
The pcapng converter tool [pcap_json_converter.py](../test/pcap_json_converter/pcap_json_converter.py) converts pcapng-files to json-files. Run the following steps to create a json-file with scandata for the emulator:
130
+
131
+
1. Start wireshark and filter the tcp traffic on port 2112 with the filter expression `tcp and tcp.port==2112`.
132
+
2. Start TiM781S and run the sick_scan driver.
133
+
3. Capture the network traffic for some time.
134
+
4. Stop capturing and save the network traffic in a pcapng-file.
135
+
5. Convert the pcapng-file to json by `python pcap_json_converter.py --pcap_filename=<filepath>.pcapng`. Result is a jsonfile `<filepath>.pcapng.json`
136
+
6. Set the resulting json-file in the emulator configuration [emulator.launch](../test/emulator/launch/emulator.launch) by `<arg name="scandatafiles" default="<filepath>.pcapng.json"/>`
0 commit comments