Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
 into rolling
  • Loading branch information
CursedRock17 committed Aug 20, 2024
2 parents dd98a3b + a5c2a7a commit a6202aa
Show file tree
Hide file tree
Showing 70 changed files with 2,380 additions and 1,361 deletions.
35 changes: 34 additions & 1 deletion .github/workflows/basic-build-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
image: osrf/ros2:testing
steps:
- name: Checkout repo
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Create Workspace
run: |
mkdir src_tmp
Expand All @@ -35,3 +35,36 @@ jobs:
bash -c 'source /opt/ros/$ROS_DISTRO/setup.bash; \
colcon test; \
colcon test-result --verbose'
build-rolling-testing:
runs-on: ubuntu-latest
strategy:
fail-fast: false
container:
image: osrf/ros2:testing
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Create Workspace
run: |
mkdir src_tmp
mv `find -maxdepth 1 -not -name . -not -name src_tmp` src_tmp/
mv src_tmp/ src/
- name: Install Prerequisites
run: |
apt update -qq
apt install -qq -y lsb-release wget curl gnupg2 git
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros2-testing-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros2-testing-archive-keyring.gpg] http://packages.ros.org/ros2-testing/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | tee /etc/apt/sources.list.d/ros2.list > /dev/null
apt-get update && apt-get upgrade -q -y
bash -c 'source /opt/ros/$ROS_DISTRO/setup.bash; \
apt-get update && apt-get upgrade -y && rosdep update; \
rosdep install --from-paths src --ignore-src -y'
- name: Build Workspace
run: |
bash -c 'source /opt/ros/$ROS_DISTRO/setup.bash; \
colcon build'
- name: Run Tests
run: |
bash -c 'source /opt/ros/$ROS_DISTRO/setup.bash; \
colcon test; \
colcon test-result --verbose'
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
image_pipeline
==============

[![Build Status](https://build.ros2.org/buildStatus/icon?job=Rdev__image_pipeline__ubuntu_jammy_amd64)](https://build.ros2.org/job/Rdev__image_pipeline__ubuntu_jammy_amd64/)
[![Build Status](https://build.ros2.org/buildStatus/icon?job=Rdev__image_pipeline__ubuntu_noble_amd64)](https://build.ros2.org/job/Rdev__image_pipeline__ubuntu_noble_amd64/)

This package fills the gap between getting raw images from a camera driver and higher-level vision processing.

Expand Down
99 changes: 99 additions & 0 deletions camera_calibration/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,105 @@
Changelog for package camera_calibration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

6.0.3 (2024-08-20)
------------------
* Refactoring calibration code (`#1000 <https://github.com/ros-perception/image_pipeline/issues/1000>`_)
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
* Contributors: Myron Rodrigues

6.0.2 (2024-07-23)
------------------

6.0.1 (2024-07-22)
------------------
* Change camera info message to lower case (`#1005 <https://github.com/ros-perception/image_pipeline/issues/1005>`_)
Change camera info message to lower case since message type had been
change in rolling and humble.
[](https://github.com/ros2/common_interfaces/blob/rolling/sensor_msgs/msg/CameraInfo.msg)
* Formatting calib code before refactoring (`#999 <https://github.com/ros-perception/image_pipeline/issues/999>`_)
As discussed in `#975 <https://github.com/ros-perception/image_pipeline/issues/975>`_ and `#973 <https://github.com/ros-perception/image_pipeline/issues/973>`_
doing the linting first.
using style from
[here](https://github.com/ament/ament_lint/blob/rolling/ament_pycodestyle/ament_pycodestyle/configuration/ament_pycodestyle.ini)
* Added stereo calibration using charuco board (`#976 <https://github.com/ros-perception/image_pipeline/issues/976>`_)
From `#972 <https://github.com/ros-perception/image_pipeline/issues/972>`_
Doing this first for rolling.
This was a TODO in the repository, opening this PR to add this feature.
- The main issue why this wasn't possible imo is the way `mk_obj_points`
works. I'm using the inbuilt opencv function to get the points there.
- The other is a condition when aruco markers are detected they are
added as good points, This is fine in case of mono but in stereo these
have to be the same number as the object points to find matches although
this should be possible with aruco.
* Contributors: Myron Rodrigues, SFhmichael

6.0.0 (2024-05-27)
------------------
* fix: cv2.aruco.interpolateCornersCharuco is deprecated (`#979 <https://github.com/ros-perception/image_pipeline/issues/979>`_)
There has been API Changes in the newer releases of opencv2 (from
4.8.0). The PR addresses this by supporting both the old and new APIs.
updated Syntax
```
charucodetector = cv2.aruco.CharucoDetector(board)
charuco_corners, charuco_ids, marker_corners, marker_ids = charucodetector.detectBoard(image)
```
before 4.8.0
```
marker_corners, marker_ids, rejectedImgPoints = cv2.aruco.detectMarkers( image, dictionary)
retval, charuco_corners, charuco_ids = cv2.aruco.interpolateCornersCharuco( marker_corners, marker_ids, image, board)
```
See the changed examples in the main opencv2 repo:
https://github.com/opencv/opencv/blob/f9a59f2592993d3dcc080e495f4f5e02dd8ec7ef/samples/python/calibrate.py#L110
* Update for compatibility with image_pipeline 4.1.0 (`#968 <https://github.com/ros-perception/image_pipeline/issues/968>`_)
This is a PR to fix:
- `#966 <https://github.com/ros-perception/image_pipeline/issues/966>`_
As noted in `#966 <https://github.com/ros-perception/image_pipeline/issues/966>`_, as of writing image_pipeline [4.1.0 has been
released](https://github.com/ros-perception/vision_opencv/releases/tag/4.1.0),
is updated on
[index.ros.org](https://index.ros.org/p/image_geometry/github-ros-perception-vision_opencv/#rolling),
but it has not yet been migrated to
[packages.ros.org](http://packages.ros.org/ros2/ubuntu/dists/noble/main/binary-amd64/Packages).
As such `camera_calibration` will also require the source of
[image_pipeline
4.1.0](https://github.com/ros-perception/vision_opencv/releases/tag/4.1.0)
or higher to successfully build.
I tested to ensure successful build with colcon build & colcon test.
Note that colcon test has the following warning that is out of scope of
this PR:
```
=============================== warnings summary ===============================
src/camera_calibration/calibrator.py:47
Warning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
```
Please let me know if there are any questions, concerns, or requested
changes.
* replace disutils with python3-semver (`#970 <https://github.com/ros-perception/image_pipeline/issues/970>`_)
Fix for
- `#969 <https://github.com/ros-perception/image_pipeline/issues/969>`_
I added a dependency for `python3-semver` to replace version parsing
with `disutils`.
Please let me know if you have any questions, concerns, or additional
requested changes.
* Contributors: Földi Tamás, Scott Monaghan

5.0.1 (2024-03-26)
------------------
* Fix spelling error for cv2.aruco.DICT from 6x6_50 to 7x7_1000 (`#961 <https://github.com/ros-perception/image_pipeline/issues/961>`_)
There was mismatch of capitalisation of "X" for OpenCV
cv2.aruco.DICT_n**X**n\_ in camera_calibration package for dicts 6x6_50
to 7x7_1000
Co-authored-by: Vishal Balaji <vishal.balaji@schanzer-racing.de>
* unified changelog, add missing image, deduplicate tutorials (`#938 <https://github.com/ros-perception/image_pipeline/issues/938>`_)
Last bit of documentation updates - putting together a single changelog
summary for the whole release (rather than scattering among packages).
Unified the camera_info tutorial so it isn't duplicated. Added a missing
image from image_rotate (was on local disk, but hadn't committed it)
* migrate camera_calibration documentation (`#937 <https://github.com/ros-perception/image_pipeline/issues/937>`_)
* install tarfile_calibration (`#923 <https://github.com/ros-perception/image_pipeline/issues/923>`_)
otherwise, it can't be run easily
* calibration: better warnings around board configuration `#713 <https://github.com/ros-perception/image_pipeline/issues/713>`_ (`#724 <https://github.com/ros-perception/image_pipeline/issues/724>`_)
* Contributors: Michael Ferguson, Vishal Balaji, jonathanTIE

5.0.0 (2024-01-24)
------------------
* ROS 2: Added more aruco dicts, fixed aruco linerror bug (`#873 <https://github.com/ros-perception/image_pipeline/issues/873>`_)
Expand Down
4 changes: 2 additions & 2 deletions camera_calibration/doc/api.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
API Documentation
=================

.. autoclass:: camera_calibration.calibrator.MonoCalibrator
.. autoclass:: camera_calibration.mono_calibrator.MonoCalibrator
:members:

.. autoclass:: camera_calibration.calibrator.StereoCalibrator
.. autoclass:: camera_calibration.stereo_calibrator.StereoCalibrator
:members:
3 changes: 2 additions & 1 deletion camera_calibration/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>camera_calibration</name>
<version>5.0.0</version>
<version>6.0.3</version>
<description>
camera_calibration allows easy calibration of monocular or stereo
cameras using a checkerboard calibration target.
Expand All @@ -27,6 +27,7 @@
<depend>rclpy</depend>
<depend>std_srvs</depend>
<depend>sensor_msgs</depend>
<depend>python3-semver</depend>

<test_depend>ament_copyright</test_depend>
<test_depend>ament_flake8</test_depend>
Expand Down
8 changes: 4 additions & 4 deletions camera_calibration/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@

setup(
name=PACKAGE_NAME,
version='5.0.0',
version='6.0.3',
packages=["camera_calibration", "camera_calibration.nodes"],
data_files=[
('share/ament_index/resource_index/packages',
['resource/' + PACKAGE_NAME]),
('share/' + PACKAGE_NAME, ['package.xml']),
('share/ament_index/resource_index/packages',
['resource/' + PACKAGE_NAME]),
('share/' + PACKAGE_NAME, ['package.xml']),
],
py_modules=[],
package_dir={'': 'src'},
Expand Down
Loading

0 comments on commit a6202aa

Please sign in to comment.