136 Commits

Author SHA1 Message Date
Oleg Kalachev
f0eacfc0f7 aruco_pose: make dynamic reconfigure generator work with newer versions of OpenCV (#495) 2023-10-14 17:28:37 +03:00
Oleg Kalachev
7b591d350c aruco_map: fix publishing detected markers count 2023-08-01 17:09:10 +07:00
Oleg Kalachev
2f8915ce31 aruco_map: add ability to pass number of detected markers to Pose covariance field 2023-07-30 14:04:59 +07:00
Oleg Kalachev
bf4f680164 aruco_detect: don't convert image to bgr8 as this is not needed 2023-07-18 17:47:13 +03:00
Oleg Kalachev
cac6b59a56 Set the version to 0.24.0 in ROS packages 2023-04-11 15:28:38 +03:00
Oleg Kalachev
08bda736e9 aruco_detect: fix drawing markers axis 2023-01-26 18:16:24 +03:00
Oleg Kalachev
95db8ba1b1 aruco_pose: known_tilt => known_vertical, add flip_vertical parameter (#476)
* aruco_pose: rename parameter known_tilt to known_vertical

* More clean variable names

* aruco_pose: add flip_vertical parameter and get rid of map_flipped

* selfcheck.py: support flip_vertical parameter

* aruco_pose: document flip_vertical parameter

* selfcheck.py: fix known_vertical description

* Fix editorconfig
2022-11-12 01:33:15 +06:00
Oleg Kalachev
8fe34e90e6 Depend on docopt in package.xml instead of requirements.txt 2022-11-08 16:07:36 +06:00
Oleg Kalachev
99fad312c5 aruco_detect: wait util map is published to avoid race condition 2022-10-31 01:37:06 +06:00
Oleg Kalachev
2c07bbffe3 aruco_map: fix visualization markers' orientation
Was by mistake uninitialized
2022-10-30 23:16:03 +06:00
Oleg Kalachev
0b62f677af aruco_detect: consider markers size from markers map
`use_map_markers` parameter added
2022-10-30 22:28:33 +06:00
Oleg Kalachev
43037f515d aruco_detect: check for duplicates in marker transforms, send all transforms in one message 2022-09-14 12:55:27 +03:00
Oleg Kalachev
2ea848721c aruco_pose: add duplicate test to CMakeLists.txt 2022-09-14 12:46:04 +03:00
Oleg Kalachev
d06b0a0cd2 aruco_pose: implement test for TF_REPEATED_DATA when multiple markers with the same ID 2022-09-14 12:35:16 +03:00
Oleg Kalachev
5325017a77 Implement dynamic reconfiguration for aruco_map (#448) 2022-07-19 03:30:43 +03:00
Oleg Kalachev
d9a547a3e5 Document aruco_map/image_axis parameter 2022-06-07 15:15:29 +03:00
Oleg Kalachev
07cac29937 aruco_pose: make aruco_detect/length parameter dynamic 2022-05-26 12:47:32 +03:00
Oleg Kalachev
80730fd7b3 aruco_pose: include SetMarkers service file to CMakeLists 2022-05-24 06:08:06 +03:00
Oleg Kalachev
031c8b5305 aruco_detect: implement ~/set_length_override service
For changing individual markers length dynamically
2022-05-24 05:15:53 +03:00
Oleg Kalachev
4562bf3b57 aruco_detect: document ~map_markers topic 2022-05-17 20:16:44 +03:00
Oleg Kalachev
00aef350ea aruco_map: rename published map topic from '~markers' to '~map'
The previous name markers was overlapped with the subscribed recognized
markers topic
2022-05-17 20:00:02 +03:00
Oleg Kalachev
1cb257b6a1 Typo 2022-05-13 00:31:58 +03:00
Oleg Kalachev
16d29fed80 aruco_detect: add transform_timeout parameter 2022-05-13 00:29:28 +03:00
Oleg Kalachev
88c1b85608 Put column names to all marker map files 2022-04-08 20:41:16 +04:00
Oleg Kalachev
826f631b97 Fix version in package.xml files 2022-02-10 13:49:14 +03:00
Oleg Kalachev
455d52007e Update version in package.xml files 2022-02-10 13:31:12 +03:00
Oleg Kalachev
7717461631 genmap.py: use -o flag in example 2022-02-01 08:30:59 +03:00
Oleg Kalachev
84d685469a aruco_pose: minor fix in readme 2021-07-14 20:33:49 +03:00
Oleg Kalachev
c247c75d17 aruco_pose, clover, clover_blocks: fix install sections 2021-06-09 15:40:24 +03:00
Oleg Kalachev
f77843f4a5 Move ROS Noetic (#327)
* builder: Use 64-bit Raspberry Pi OS

* travis: Use 64-bit builder

* builder: Don't try to install Melodic packages on Noetic

* clover: Use package version 3, update dependencies

* travis: Enable Noetic build

* standalone_install: Auto-select Python, ROS distro

* builder: Use variable substitution for ROS_DISTRO

* builder: Add Noetic package definitions

* builder: Use variable substitution for validation

* aruco_pose, clover: Allow compiling against OpenCV 3 and 4

* builder: Add proper Noetic repository

* builder: Don't force Tornado version

Assume rosbridge_suite depends on the right one.

* builder: Install packages for Python 3

* builder/test: Use Python3 interpreter for ROS tests

TODO (?): add tests for Python2?

* builder: Use Python 3 syntax for Python 3 tests

* builder: Install rpi_ws281x for Python3

* standalone_install: Use proper Python for pytest

* builder: Install espeak for python3

* builder: Use proper path for roscore

* builder: Install rosdep, etc. for python3

* builder: Run Clever/Clover test with Python3

* builder: Use Python3 for Clever compat layer

* builder: Enable OpenCV 4.2 repository

* builder: Force versions for ROS packages that use OpenCV

Also, hold their versions so that they don't get updated for no reason.

* aruco_pose/draw: Replace OpenCV projection code with a rewrite

* builder: Don't try to install compressed_transport twice

* clover: Fix importing urllib for Python3

* aruco_pose, clover: Expose Python scripts through CMake

* clover/selfcheck: Be more python3-compatible

This is basically commit a01d199890 from buster-python3, not sure if it aged well.

* roswww_static: Add python script installation

* clover_blocks: Use Python3 syntax for exec

* aruco_pose: Remove unused code

* Melodic => Noetic in some docs

* docs: add 0.22 migration article

* docs: remove unneeded comment

* docs: python 3 updates

* docs: python 3 update in auto_setup article

* docs: add ROS Noetic transition note

* aruco.launch: add placement, length and map arguments

* genmap.py: add -o argument for output file name

* docs: use -o argument of genmap.py

* simple_offboard: correctly check manual control timeout, separate it from kill switch check

* blocks: force led_leds index to int

* docs: update and fix 0.22 migration articles

* blocks: fix set_leds with color-typed argument

* aruco_gen: Open file in binary mode for Python3 compatibility

* clover: Use proper variable in aruco.launch

* led: change default number of leds to 72

* aruco_pose: Make sure there are no undefined symbols

Also, compile in apriltag_quad_thresh.cpp - it contains some of the functions referenced
in aruco.cpp, which would otherwise be undefined.

* aruco_pose: Make vendored library compatible with older OpenCVs

* aruco_pose, clover: Reduce the amount of OpenCV libs requested

* aruco_pose, clover: Move subscriptions to the end of init

* aruco_pose: Don't expose vendored library symbols

* aruco_pose: Simplify dynamic parameter callback setting

* builder: Build with debug symbols

* clover: Attempt to respawn dying nodelets

* Change Raspberry Pi OS to latest armhf, use packages.coex.tech as a source

* Add CRYPTOGRAPHY_DONT_BUILD_RUST=1

* Fix Node.js installation

* image: use older CMake (3.13.4-1)
Fixing https://travis-ci.org/github/CopterExpress/clover/jobs/764367665#L6984

* image: update Raspberry Pi OS to 2021-03-04

* image: bring back moving ld.so.preload out of the way while building

* Fix pthreads ld error

* Try to fix pthreads ld error

* Another attempt to fix pthreads ld error

* Yet another attempt to fix pthreads ld error

* Try to fix

* Be verbose

* Temporarily disable rc and camera_markers building

* Fix standalone-install

* Revert "Temporarily disable rc and camera_markers building"

This reverts commit e119220e91.

* Try to fix

* Try to fix

* Revert "image: use older CMake (3.13.4-1)"

This reverts commit df28da0060.

* Revert "Revert "image: use older CMake (3.13.4-1)""

This reverts commit a28c774e8f.

* Verbosity

* Debugging

* More debugging

* Display all CMake variables

* Try to fix

* Another try to fix

* Revert "Another try to fix"

This reverts commit 5a4c3a0da7.

* Another try to fix

* And another

* And yet another

* Continue...

* Cleanup

* Sources lists cleanup

* More cleanup

* Restore .git directory in clover repo

* Fix building documentation

* Fix documentation building in image

* Trigger build to update ws281x package

* Test

* Disable unneeded hack

* Disable hack

* image: add cmake-modules package

* www: add viewing clover.err file from web interface

* Remove hacks

* Show nodelet version

* docs: add packages article

* image: add image-view package for recording video from topics

* Minor fix

* CI: add Docker authentication on image build

* CI: fix Bash syntax

* CI: fix authentication in Docker

* CI: move Melodic build and editorconfig-lint to GitHub Actions (#331)

* Create main.yml

* Update main.yml

* Disable native Melodic build in Travis

* Run editorconfig-lint in Actions

* Let wget be less verbose

* Test

* Test ok

* Disable editorconfig-lint in Travis

* docs: add links to hardware sources

* CI: move image building to GitHub actions (#335)

* Start working on building image in GitHub actions

* Trigger GitHub on push to any branch

* Fix TRAVIS_TAG

* Add compress image step

* Disable image build in Travis

* Add upload image step

* Fix compress image

* Fix

* Fix

* Minor fix

* Trigger build on tag

* Show images sizes not in human format

* Upload only built image

* Make prerelease

* Upload assets on release not on tags

* readme: change build badge to GitHub Actions

* readme: add support chat badge

* CI: move documentation building to GitHub Actions (#337)

* CI: change docs target branch to actions

* CI: change docs target branch to master

* CI: use gh-pages target branch for docs

* CI: split up to several workflows

* CI: remove .travis.yml

* CI: change apt to apt-get

* CI: push documentation site to the main repo

* builder: less verbosity

* CI: add new key for apt
Fixing https://github.com/CopterExpress/clover/runs/2700356960#step:3:74

* Add Noetic building to CI

* Add test for QR recognition

* Fix

* Move QR recognition test to a separate file

* Fix QR recognition code for Python 3

* Import SetLEDs, LEDStateArray, LEDState in tests

* Add more imports to tests
(from documentation)

* Fix permissions

* Fix standalone-install for Python 2

* Fix QR recognition test

* Don’t use ROS for QR recognition test

* docs: remove non-working example

* Make v4l2 device file an argument in main_camera.launch

* Wait for v4l2 device before launching the camera driver

* Use exec in waitfile

* Transfer main camera nodelet manager to main_camera.launch

* Update cv_camera version to 0.5.1

* docs: minor fix

* Revert cv_camera to 0.5.0

* Update Raspberry Pi OS to 2021-05-07

* docs: add link to the last ROS Melodic version.

Co-authored-by: Alexey Rogachevskiy <sfalexrog@gmail.com>
2021-06-08 20:13:46 +03:00
Oleg Kalachev
fa1db1d90b genmap.py: add -o argument for output file name 2021-06-08 19:28:09 +03:00
Alexey Rogachevskiy
1a2e87bb6a aruco_pose, clover: Move subscriptions to the end of init 2021-06-08 19:23:39 +03:00
deadln
cdd6000c58 Fix packages installation (#326)
* Catkin install testing

* Update standalone-install.sh

* Fix aruco_pose DetectorParams generating

* Update builder/standalone-install.sh

* Fix

* Fix

Co-authored-by: Oleg Kalachev <okalachev@gmail.com>
2021-05-07 10:23:54 +03:00
Oleg Kalachev
5eb9b4acbe Revert "docs: add COEX GPS article"
This reverts commit 1dea541df2.
2021-03-12 10:01:04 +03:00
Oleg Kalachev
1dea541df2 docs: add COEX GPS article 2021-03-09 17:35:18 +03:00
deadln
e252a1cddc Update package versions (#302)
* Update version in clover_blocks package.xml

* Changed all packages versions to 0.21.1
2021-02-21 22:20:43 +03:00
deadln
25dd17c286 Add packages changelogs (#301)
* Generated changelogs

* Cleared aruco_pose changelog

* Cleared clover changelog

* Cleared clover_blocks changelog

* Cleared clover_description changelog

* Cleared clover_simulation changelog

* Cleared roswww_static changelog

* Fixed typo in roswww_static changelog

* Simplify changelogs

Co-authored-by: Oleg Kalachev <okalachev@gmail.com>
2021-02-19 23:37:36 +03:00
Oleg Kalachev
3d5c51a42e aruco_detect: add 'enabled' dynamic param 2020-11-24 22:34:12 +03:00
Arthur Golubtsov
b713b49f3f genmap.py: Add x0 and y0 shift for markers coordinates 2020-06-25 00:31:56 +03:00
Alexey Rogachevskiy
998796045c aruco_pose nodelet cleanup (#239)
* aruco_pose: Unhardcode contour refinement

Besides, this was basically a no-op anyway, since dynamic parameters
overwrote that anyway.

* aruco_pose: Late-construct objects that use ROS

* aruco_map: Don't create/store node handle

* aruco_pose: Don't assume dist_coeffs size

* aruco_pose: more const == more better

* aruco_pose: Be more obvious about changing variables

* aruco_pose: Fix building for Kinetic

* aruco_pose: Remove global add_definitions
2020-05-30 01:59:51 +03:00
Alexey Rogachevskiy
98d5d50607 aruco_pose: Prevent OpenCV from crashing (#238)
* aruco_pose: Add tests that crash OpenCV

* aruco_pose: Don't try to interpolate single points
2020-05-30 01:57:14 +03:00
Oleg Kalachev
a480ebe80a Continue renaming to Clover 2020-04-30 03:41:14 +03:00
Oleg Kalachev
b474f99665 genmap.py: print column names in output 2020-03-11 13:21:24 +03:00
Oleg Kalachev
60b0059ef1 genmap.py: make <first> argument not required 2020-03-11 13:21:05 +03:00
Oleg Kalachev
8d37c424eb genmap.py: add example usage 2020-03-10 17:06:17 +03:00
Oleg Kalachev
351b33cc5f genmap.py: make top-left by default (#220)
* genmap.py: make top-left by default

* docs: make top left by default in genmap

* genmap.py: fix usage string
2020-03-06 02:04:19 +03:00
Oleg Kalachev
2cd334c474 aruco_pose: dynamic reconfiguration of aruco detector (#180)
* aruco_detect: dynamic reconfiguration

* aruco_pose: Depend on dynamic_reconfigure

* aruco_pose: Use c++11 features instead of Boost

* aruco_pose: Rearrange parameters, reset to OpenCV defaults

* Update constrains for some parameters

* aruco_pose: don’t hard-cord defaults for dynamic reconfigure

* aruco_pose: add missing parameters

* aruco_pose: fix tests

* aruco_pose: typo

* aruco_pose: fix

* aruco_pose: fix test

* aruco_pose: hardcode some new dynamic reconfigure parameters

Co-authored-by: Alexey Rogachevskiy <sfalexrog@gmail.com>
Co-authored-by: Arthur Golubtsov <goldartt@gmail.com>
2020-01-29 05:17:39 +03:00
Alexey Rogachevskiy
1447e73fed aruco_pose, clever: Minor cleanups 2019-12-24 19:52:41 +03:00
Alexey Rogachevskiy
4a23a9274a Move to Raspbian Buster (#193)
* builder: Build against Buster

* builder: Use correct repository specifications

* builder: Move ld.so.preload to have less errors

* builder: Use coex repo to install Monkey

* builder: Search for buster ROS packages

* aruco_pose: Vendor in aruco library from OpenCV 3.4.6

* builder: Move to ROS Melodic

* builder: Update kernel version

* aruco_pose, clever: Remove opencv3 ROS dependency

* builder: Update rosdep

* travis: Disable eclint for vendored aruco library

* tests: Don't try to locate opencv in ros

* roscore: Use melodic distribution

* Revert "aruco_pose: Vendor in aruco library from OpenCV 3.4.6"

This reverts commit 9c14a8c002bb3396f9a7d9b2ba39969207f066ba.

* aruco_pose: Vendor opencv_contrib/aruco again

* builder: Add led packages

* builder: Remove unused builder code

* travis: Add native tests

* builder: Set permissions for standalone-install

* builder: Use -y for package installation

* builder: Add repo for standalone build

* builder: Use correct file types for standalone install

* aruco_pose: Accept rgb8 map images

* builder: Disable mjpg_streamer test

* aruco_pose: Allow rgb8 map images (again)

* builder: Re-add mjpgstreamer

* builder: Install tornado==4.2.1 for rosbridge_suite

* builder: Use more recent base image

* builder: Use default kernel

* builder: Move ld.so.preload back after tests

* builder: Disable catkin tests

These tests fail on a remote machine but seem to pass just fine on real hardware. Something must have changed between Kinetic and Melodic, and we must investigate more, but for now we just need a working image.

* aruco_pose: Remove unused vendored code

* selfcheck: Update systemd-analyze regex

* builder: Add opencv repository

* rosdep: Update package definitions for Melodic

* rosdep: Use proper yaml formatting

* travis: Remove unnecessary space

* docs: Reference Melodic wherever possible
2019-12-06 21:25:19 +03:00
Alexey Rogachevskiy
e1a11bd70a aruco_pose: Allow rgb8 map images 2019-09-11 23:10:36 +03:00