Skip to content

Commit 914ed3b

Browse files
committed
Initial commit
0 parents  commit 914ed3b

File tree

4 files changed

+210
-0
lines changed

4 files changed

+210
-0
lines changed

CHANGELOG.rst

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2+
Changelog for package multisensor_calibration
3+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4+
5+
Forthcoming
6+
------------------
7+
8+
Features:
9+
* Added Documentation.
10+
* Added Node multisensor_calibration with Calibration Configurator
11+
* Added Node extrinsic_camera_lidar_calibration
12+
* Added Node extrinsic_lidar_lidar_calibration
13+
* Added Node extrinsic_lidar_vehicle_calibration
14+
15+
Contributors: Boitumelo Ruf, Christian Frese, Raphael Hagmanns, Tom Schmidt, Mohamed Youssef Hanini

CONTRIBUTING.md

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# CONTRIBUTING
2+
3+
We are using the [Feature Branch Workflow](https://guides.github.com/introduction/flow/), and prefer contributions as merge requests.
4+
5+
**There's only one rule: anything in the master branch is always deployable.**
6+
7+
Create a feature branch:
8+
9+
`git checkout -B feat/<feature_name>`
10+
11+
## Recommended workflow
12+
13+
1. **Fork** the repository if your are not a collaborator and have direct access to the repository
14+
2. Checkout new **branch** (branching of `devel`)
15+
3. Make **changes**
16+
4. Run **tests**
17+
5. **Commit** those changes
18+
6. **Push**
19+
7. Create a **pull request** (targeting `devel`)
20+
21+
<hr>
22+
23+
## Branching Recommendations
24+
25+
- Try to keep two main branches ```main``` and ```devel```.
26+
27+
- The ```devel```-branch should be the default branch in which all developments are done and from which new branches are created.
28+
29+
- Each new release with a version tag should be merged into ```main```. *Intermediate merges can be made if there is a feature which is to be made available in the default branch prior to an official release.*
30+
31+
<hr>
32+
33+
## Commit Conventions
34+
35+
We aim at concise and yet descriptive commit messages. In this, we suggest the following:
36+
37+
Each top line of a commit should be made up of a type and a subject
38+
39+
`<type>: <subject>`
40+
41+
Allowed types:
42+
43+
* **feat**: A new feature
44+
* **enhance**: An enhancement to the current feature set
45+
* **fix**: A bug fix
46+
* **docs**: Documentation only changes
47+
* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, newline, line endings, etc)
48+
* **refactor**: A code change that neither fixes a bug or adds a feature
49+
* **perf**: A code change that improves performance
50+
* **test**: Adding missing tests
51+
* **chore**: Changes to the build process or auxiliary tools and libraries such as documentation generation
52+
* **release**: Committing changes, e.g. to CHANGELOG.rst, for a new release
53+
54+
You can add additional details after a new line to describe the change in detail or automatically close a issue on Github.
55+
56+
Example:
57+
58+
```
59+
docs: create initial CONTRIBUTING
60+
61+
This closes #73
62+
```
63+
<hr>
64+
65+
# Versioning Conventions
66+
67+
This repo adheres to semantic versioning: <http://semver.org/>.
68+
Given a version number MAJOR.MINOR.PATCH, increment the:
69+
70+
- MAJOR version when you make incompatible API changes,
71+
- MINOR version when you add functionality in a backwards-compatible manner, and
72+
- PATCH version when you make backwards-compatible bug fixes.
73+
74+
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format
75+
76+
<hr>

LICENSE

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
BSD 3-Clause License
2+
3+
Copyright (c) 2025, Fraunhofer IOSB
4+
5+
Redistribution and use in source and binary forms, with or without
6+
modification, are permitted provided that the following conditions are met:
7+
8+
1. Redistributions of source code must retain the above copyright notice, this
9+
list of conditions and the following disclaimer.
10+
11+
2. Redistributions in binary form must reproduce the above copyright notice,
12+
this list of conditions and the following disclaimer in the documentation
13+
and/or other materials provided with the distribution.
14+
15+
3. Neither the name of the copyright holder nor the names of its
16+
contributors may be used to endorse or promote products derived from
17+
this software without specific prior written permission.
18+
19+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

README.md

+91
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# multisensor_calibration
2+
3+
An actively maintained universal calibration toolbox for assisted, target-based multi-sensor calibration with ROS 1 and ROS 2 support.
4+
It provides a variety of methods and applications to calibrate complex multi-sensor systems, e.g.
5+
6+
- <b>Extrinsic Camera-LiDAR Calibration</b>,
7+
- <b>Extrinsic Camera-Reference Calibration</b>,
8+
- <b>Extrinsic LiDAR-LiDAR Calibration</b>,
9+
- <b>Extrinsic LiDAR-Reference Calibration</b>, and
10+
- <b>Extrinsic LiDAR-Vehicle Calibration</b> (prototype).
11+
12+
13+
**Acknowledgement**: This software was developed as part of the projects [AKIT-PRO](https://a-kit.de) (grant no. 13N15673) and [ROBDEKON – Robotic Systems for Decontamination in Hazardous Environments](https://robdekon.de/) (grant nos. 13N14674 and 13N16538), funded by the Federal Ministry of Education and Research (BMBF) under the German Federal Government’s Research for Civil Security program.
14+
15+
------------------------
16+
17+
### Continuous Integration:
18+
19+
| Service | devel | main |
20+
| ---------- | ------- | ------ |
21+
| GitHub | | |
22+
23+
------------------------
24+
25+
### Contents:
26+
27+
- [Getting Started](#getting-started)
28+
- [Requirements](#requirements)
29+
- [Build](#build)
30+
- [Changlog](CHANGELOG.md)
31+
- [Contributing](CONTRIBUTING.md)
32+
- [License](LICENSE)
33+
34+
35+
------------------------
36+
37+
## Getting Started
38+
39+
### Requirements
40+
41+
Basic catkin requirements can be installed by calling following command from the top of the catkin workspace:
42+
43+
rosdep install -y -r --from-paths src --ignore-src
44+
45+
Further requirements:
46+
47+
- [**PCL**](https://pointclouds.org/)
48+
- [**OpenCV**](https://opencv.org/)
49+
- [**Qt**](https://www.qt.io/)
50+
- [**small_gicp**](https://github.com/koide3/small_gicp): This is included as git-submodule and will be cloned and built on the first build. It is licensed under the MIT-License.
51+
- [**OpenMP**](https://www.openmp.org/) (optional): This is used to parallelize and speed up the processing of each point in the point cloud. If not found by CMake the processing will be done sequentially.
52+
- [**Doxygen**](https://www.doxygen.nl/) (optional): If available, this Doxygen documentation will be build automatically.
53+
54+
### Build
55+
56+
1. Clone repository:
57+
58+
```bash
59+
git clone [email protected]:FraunhoferIOSB/multisensor_calibration.git
60+
```
61+
62+
2. (OPTIONAL) Clone and build 'small_gicp'.<br>If this step is omitted, it will be executed as part of the first build.
63+
64+
```bash
65+
cd multisensor_calibration && ./scripts/clone_small_gicp.sh && ./build_and_install_small_gicp.sh
66+
```
67+
68+
3. Initialize `rosdep` and install dependencies:
69+
70+
```bash
71+
sudo rosdep init
72+
rosdep update
73+
rosdep install --from-paths src -y --ignore-src
74+
```
75+
76+
4. Run `catkin` to build from source:<br>
77+
To build in 'Debug' mode add `-DCMAKE_BUILD_TYPE=Debug` to catkin command.
78+
If 'CMAKE_BUILD_TYPE' omitted, multisensor_calibration will be build in 'Release' mode.
79+
80+
```bash
81+
catkin build -j8 -DCMAKE_BUILD_TYPE=Release multisensor_calibration
82+
```
83+
84+
### Run
85+
86+
```bash
87+
rosrun multisensor_calibration multisensor_calibration
88+
```
89+
90+
See user documentation on how to use.
91+

0 commit comments

Comments
 (0)