README.md 3.71 KB
Newer Older
Alejandro Lopez Gestoso's avatar
Alejandro Lopez Gestoso committed
1
2
## Description

Alejandro Lopez Gestoso's avatar
Alejandro Lopez Gestoso committed
3
This node provides a service server to process an ICP between two scans using [laser_scan_utils](https://gitlab.iri.upc.edu/labrobotica/algorithms/laser_scan_utils). This library uses [CSM](https://github.com/AndreaCensi/csm).
4
5
6

This node also provides the following configuration files located in [config](./config) directory:
  * **params.yaml**: Node default configuration file.
Alejandro Lopez Gestoso's avatar
Alejandro Lopez Gestoso committed
7
8
9

# ROS Interface
### Service servers
10
  - ~**icp** (iri_laser_scan_icp/icp.srv): Performs an ICP.
Alejandro Lopez Gestoso's avatar
Alejandro Lopez Gestoso committed
11
12
13

### Parameters
- ~**rate** (Double; default: 10.0; min: 0.1; max: 1000) The main node thread loop rate in Hz. 
14
15
- ~**range_std_dev** (Double; default: 0.035; min: 0.01; max: 0.1) Standard deviation measurement noise in range in meters. 
- ~**angle_std_dev** (Double; default: 0.05; min: 0.01; max: 0.2) Standard deviation measurement noise in angle in radians. 
Alejandro Lopez Gestoso's avatar
Alejandro Lopez Gestoso committed
16

Alejandro Lopez Gestoso's avatar
Alejandro Lopez Gestoso committed
17
18
19
### CSM parameters
The description of each parameter can be found in [csm manual](https://github.com/AndreaCensi/csm/blob/master/csm_manual.pdf).

Alejandro Lopez Gestoso's avatar
Alejandro Lopez Gestoso committed
20
21
## Installation

22
23
24
25
26
27
28
29
30
31
#### IRI dependencies

* **laser_scan_utils**: This is a C++ Toolbox with utilities for 2D laser scan processing. Follow the instructions on the [repository](https://gitlab.iri.upc.edu/labrobotica/algorithms/laser_scan_utils) README to install the library with all the optional dependencies.

#### External dependencies

* **[Eigen](https://eigen.tuxfamily.org/index.php?title=Main_Page)**: Follow its installation instructions.

#### Other dependencies

Alejandro Lopez Gestoso's avatar
Alejandro Lopez Gestoso committed
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Move to the active workspace:
```bash
roscd && cd ../src
```
Clone the repository: 
```bash
git clone <url>
```
Install ROS dependencies:
```
roscd
cd ..
rosdep install -i -r --from-paths src
```
Compile the workspace:
```
catkin_make
```

51
52
53
54
55
## Diagnostics

This node has the following diagnostics:
* A HeartBeat to know that the node is alive.

Alejandro Lopez Gestoso's avatar
Alejandro Lopez Gestoso committed
56
57
## How to use it

58
59
60
61
62
63
64
65
This node provides the following launch files:

- **node.launch**: Launch file intended to be included by a general launch file. It has the following arguments:
  - *node_name*: Node name.
  - *config_file*: Node configuration yaml file.
  - *icp_service_name*: Laser scan ICP to be remaped.
  - *output*: Ros node launch output's parameter.
  - *launch_prefix*: Ros node launch launch-prefix's parameter.
Alejandro Lopez Gestoso's avatar
Alejandro Lopez Gestoso committed
66

67
68
69
70
71
- **test.launch**: Launch file for development purpouses. It has the following arguments:
  - *output*: Ros node launch output's parameter.
  - *launch_prefix*: Ros node launch launch-prefix's parameter.
  - *dr*: Boolean to launch rqt_reconfigure.
  - *sim_time*: Boolean to set */use_sim_time* parameter.
Alejandro Lopez Gestoso's avatar
Alejandro Lopez Gestoso committed
72
73
74
75
76
77
78
79
80
81

## Disclaimer  

Copyright (C) Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
Mantainer IRI labrobotics (labrobotica@iri.upc.edu)

This package is distributed in the hope that it will be useful, but without any warranty. It is provided "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the program is with you. should the program prove defective, the GMR group does not assume the cost of any necessary servicing, repair  or correction.

In no event unless required by applicable law the author will be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the program (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the program to operate with any other programs), even if the author has been advised of the possibility of such damages.

Alejandro Lopez Gestoso's avatar
Alejandro Lopez Gestoso committed
82
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see <http://www.gnu.org/licenses/>