Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Noetic devel #89

Merged
merged 27 commits into from
May 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
2f15813
FindMarkerBundlesNoKinect: implement params and dynamic reconfigure
machinekoder Jul 18, 2019
bee4646
publish transform in output frame
machinekoder Jan 25, 2020
0274618
FindMarkerBundles: clear errors reported by linter
machinekoder Feb 8, 2020
24424cc
FindMarkerBundles: clear errors reported by linter
machinekoder Feb 8, 2020
69e143a
FindMarkerBundlesNoKinect: restructure
machinekoder Feb 8, 2020
43548ac
FindMarkerBundles: port features from FindMarkerBundlesNoKinect
machinekoder Feb 8, 2020
1323043
add pre-commit config
machinekoder Nov 11, 2020
d21bdbb
reformat files
machinekoder Nov 11, 2020
24b3c69
convert OpenCV C API to C++ API
machinekoder Nov 11, 2020
fc2fa79
more work on CV C to C++ port
machinekoder Nov 12, 2020
e625594
Bump CMake version to avoid CMP0048 warning
fmessmer Jan 4, 2021
890d422
fix add_dependencies
fmessmer Feb 19, 2021
188a9ee
update travis config
fmessmer Feb 19, 2021
6d1ecdd
only test noetic
fmessmer Feb 20, 2021
11eaa8e
disable rostests
fmessmer Feb 20, 2021
84652b9
fix catkin_lint
fmessmer Feb 20, 2021
602363d
Merge pull request #1 from fmessmer/fix_cmakelists
fmessmer Feb 20, 2021
3524544
added time stamp of image to header of array message
chriskeraly-rios Apr 21, 2021
704e21c
Camera: fix problem when findHomography returns empty matrix
machinekoder May 10, 2021
a74d466
Marker: copy vector on initialize
machinekoder May 10, 2021
c698c1a
fix OpenCV error
Jun 14, 2021
6d05c0f
Merge pull request #1 from Deleh/fix/opencv_error
fmessmer Jun 14, 2021
3f7f611
Merge pull request #2 from fmessmer/feature/rios_bug_fix
fmessmer Jun 14, 2021
45307b3
remove deprecated cmake_policy
fmessmer Jul 5, 2021
3b2faf1
Merge pull request #3 from fmessmer/fix_cmake_policy
fmessmer Jul 6, 2021
a857aab
Merge pull request #1 from mojin-robotics/noetic-devel
machinekoder Jul 8, 2021
2c04023
Review Changes
pmusau17 Aug 25, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 12 additions & 27 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,22 @@
sudo: required
dist: trusty
language: generic

compiler:
- gcc
services:
- docker

notifications:
email:
on_success: change
on_failure: always
recipients:
- [email protected]
env:
global:
- ROS_PARALLEL_JOBS=-j4
- CATKIN_LINT=pedantic
- CATKIN_LINT_ARGS='--ignore description_boilerplate'
- CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release
- PYLINT_ARGS='--output-format=parseable --errors-only'
- PYLINT_CHECK=true
- ROS_REPO=main
matrix:
- ROS_DISTRO="kinetic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu USE_DEB=true NOT_TEST_INSTALL=true ABICHECK_URL='github:ros-perception/ar_track_alvar/#kinetic-devel'
- ROS_DISTRO="kinetic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu USE_DEB=true NOT_TEST_INSTALL=true VERBOSE_OUTPUT='true'
- ROS_DISTRO="kinetic" PRERELEASE=true
- ROS_DISTRO="lunar" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu USE_DEB=true NOT_TEST_INSTALL=true
- ROS_DISTRO="lunar" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu USE_DEB=true NOT_TEST_INSTALL=true VERBOSE_OUTPUT='true'
- ROS_DISTRO="lunar" PRERELEASE=true
- ROS_DISTRO="melodic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu USE_DEB=true NOT_TEST_INSTALL=true ABICHECK_URL='github:ros-perception/ar_track_alvar/#kinetic-devel'
- ROS_DISTRO="melodic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu USE_DEB=true NOT_TEST_INSTALL=true VERBOSE_OUTPUT='true'
- ROS_DISTRO="melodic" PRERELEASE=true
matrix:
allow_failures:
- env: ROS_DISTRO="kinetic" PRERELEASE=true
- env: ROS_DISTRO="lunar" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu USE_DEB=true NOT_TEST_INSTALL=true
- env: ROS_DISTRO="lunar" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu USE_DEB=true NOT_TEST_INSTALL=true VERBOSE_OUTPUT='true'
- env: ROS_DISTRO="lunar" PRERELEASE=true
- env: ROS_DISTRO="melodic" PRERELEASE=true
- ROS_DISTRO=noetic
install:
- git clone https://github.com/ros-industrial/industrial_ci.git .ci_config

- git clone --quiet --depth 1 https://github.com/ros-industrial/industrial_ci.git .industrial_ci -b master
script:
- .ci_config/travis.sh
- .industrial_ci/travis.sh
177 changes: 70 additions & 107 deletions ar_track_alvar/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,151 +1,127 @@
cmake_minimum_required(VERSION 2.8.3)
cmake_minimum_required(VERSION 3.0.2)
project(ar_track_alvar)

set(MSG_DEPS
ar_track_alvar_msgs
std_msgs
sensor_msgs
geometry_msgs
visualization_msgs)

find_package(catkin COMPONENTS
genmsg
find_package(catkin REQUIRED COMPONENTS
${PROJECT_NAME}_msgs
cmake_modules
cv_bridge
dynamic_reconfigure
geometry_msgs
image_transport
message_generation
pcl_conversions
pcl_ros
resource_retriever
roscpp
sensor_msgs
std_msgs
tf
tf2
image_transport
resource_retriever
cv_bridge
pcl_ros
pcl_conversions
message_generation
${MSG_DEPS}
dynamic_reconfigure
cmake_modules
REQUIRED)
visualization_msgs)

find_package(Eigen3 REQUIRED)
find_package(OpenCV REQUIRED)
find_package(TinyXML REQUIRED)

include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
elseif(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()

cmake_policy(SET CMP0046 OLD)

# dynamic reconfigure support
generate_dynamic_reconfigure_options(cfg/Params.cfg)

catkin_package(
INCLUDE_DIRS include
LIBRARIES ar_track_alvar
LIBRARIES ${PROJECT_NAME}
CATKIN_DEPENDS
ar_track_alvar_msgs
std_msgs
${PROJECT_NAME}_msgs
cv_bridge
dynamic_reconfigure
geometry_msgs
image_transport
message_runtime
pcl_conversions
pcl_ros
resource_retriever
roscpp
sensor_msgs
std_msgs
tf
tf2
message_runtime
image_transport
sensor_msgs
geometry_msgs
visualization_msgs
resource_retriever
cv_bridge
pcl_ros
pcl_conversions
dynamic_reconfigure
)

include_directories(include
include_directories(include
${catkin_INCLUDE_DIRS}
${OpenCV_INCLUDE_DIRS}
${TinyXML_INCLUDE_DIRS}

)

set(GENCPP_DEPS ar_track_alvar_msgs_gencpp std_msgs_gencpp sensor_msgs_gencpp geometry_msgs_gencpp visualization_msgs_gencpp)

add_library(ar_track_alvar
src/Camera.cpp
src/CaptureDevice.cpp
src/Pose.cpp
src/Marker.cpp
src/MarkerDetector.cpp
add_library(${PROJECT_NAME}
src/Bitset.cpp
src/Rotation.cpp
src/CvTestbed.cpp
src/Camera.cpp
src/CaptureDevice.cpp
src/CaptureFactory.cpp
src/CaptureFactory_unix.cpp
src/FileFormatUtils.cpp
src/Threads.cpp
src/Threads_unix.cpp
src/Mutex.cpp
src/Mutex_unix.cpp
src/ConnectedComponents.cpp
src/Line.cpp src/Plugin.cpp
src/Plugin_unix.cpp
src/CvTestbed.cpp
src/DirectoryIterator.cpp
src/DirectoryIterator_unix.cpp
src/Draw.cpp
src/Util.cpp
src/FileFormatUtils.cpp
src/Filter.cpp
src/Kalman.cpp
src/kinect_filtering.cpp
src/Optimization.cpp
src/Line.cpp
src/Marker.cpp
src/MarkerDetector.cpp
src/MultiMarker.cpp
src/MultiMarkerBundle.cpp
src/MultiMarkerInitializer.cpp)
target_link_libraries(ar_track_alvar ${OpenCV_LIBS} ${TinyXML_LIBRARIES} ${catkin_LIBRARIES})
add_dependencies(ar_track_alvar ${GENCPP_DEPS})
src/MultiMarkerInitializer.cpp
src/Mutex.cpp
src/Mutex_unix.cpp
src/Optimization.cpp
src/Plugin.cpp
src/Plugin_unix.cpp
src/Pose.cpp
src/Rotation.cpp
src/Threads.cpp
src/Threads_unix.cpp
src/Util.cpp
)
target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS} ${TinyXML_LIBRARIES} ${catkin_LIBRARIES})
add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})

# Kinect filtering code
set(KINECT_FILTERING_TARGETS kinect_filtering medianFilter)

add_library(kinect_filtering src/kinect_filtering.cpp)
target_link_libraries(kinect_filtering ${catkin_LIBRARIES})
add_dependencies(kinect_filtering ${GENCPP_DEPS})
add_dependencies(kinect_filtering ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})

add_library(medianFilter src/medianFilter.cpp)
target_link_libraries(medianFilter ar_track_alvar ${catkin_LIBRARIES})
add_dependencies(medianFilter ${GENCPP_DEPS})

set(ALVAR_TARGETS ar_track_alvar individualMarkers individualMarkersNoKinect trainMarkerBundle findMarkerBundles findMarkerBundlesNoKinect createMarker ar_track_alvar)
target_link_libraries(medianFilter ${PROJECT_NAME} ${catkin_LIBRARIES})
add_dependencies(medianFilter ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})

add_executable(individualMarkers nodes/IndividualMarkers.cpp)
target_link_libraries(individualMarkers ar_track_alvar kinect_filtering ${catkin_LIBRARIES})
add_dependencies(individualMarkers ${PROJECT_NAME}_gencpp ${GENCPP_DEPS} ${PROJECT_NAME}_gencfg)
target_link_libraries(individualMarkers ${PROJECT_NAME} kinect_filtering ${catkin_LIBRARIES})
add_dependencies(individualMarkers ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})

add_executable(individualMarkersNoKinect nodes/IndividualMarkersNoKinect.cpp)
target_link_libraries(individualMarkersNoKinect ar_track_alvar ${catkin_LIBRARIES})
add_dependencies(individualMarkersNoKinect ${PROJECT_NAME}_gencpp ${GENCPP_DEPS} ${PROJECT_NAME}_gencfg)
target_link_libraries(individualMarkersNoKinect ${PROJECT_NAME} ${catkin_LIBRARIES})
add_dependencies(individualMarkersNoKinect ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})

add_executable(trainMarkerBundle nodes/TrainMarkerBundle.cpp)
target_link_libraries(trainMarkerBundle ar_track_alvar ${catkin_LIBRARIES})
add_dependencies(trainMarkerBundle ${PROJECT_NAME}_gencpp ${GENCPP_DEPS})
target_link_libraries(trainMarkerBundle ${PROJECT_NAME} ${catkin_LIBRARIES})
add_dependencies(trainMarkerBundle ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})

add_executable(findMarkerBundles nodes/FindMarkerBundles.cpp)
target_link_libraries(findMarkerBundles ar_track_alvar kinect_filtering medianFilter ${catkin_LIBRARIES})
add_dependencies(findMarkerBundles ${PROJECT_NAME}_gencpp ${GENCPP_DEPS})
target_link_libraries(findMarkerBundles ${PROJECT_NAME} kinect_filtering medianFilter ${catkin_LIBRARIES})
add_dependencies(findMarkerBundles ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})

add_executable(findMarkerBundlesNoKinect nodes/FindMarkerBundlesNoKinect.cpp)
target_link_libraries(findMarkerBundlesNoKinect ar_track_alvar ${catkin_LIBRARIES})
add_dependencies(findMarkerBundlesNoKinect ${PROJECT_NAME}_gencpp ${GENCPP_DEPS})
target_link_libraries(findMarkerBundlesNoKinect ${PROJECT_NAME} ${catkin_LIBRARIES})
add_dependencies(findMarkerBundlesNoKinect ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})

add_executable(createMarker src/SampleMarkerCreator.cpp)
target_link_libraries(createMarker ar_track_alvar ${catkin_LIBRARIES})
add_dependencies(createMarker ${PROJECT_NAME}_gencpp ${GENCPP_DEPS})
target_link_libraries(createMarker ${PROJECT_NAME} ${catkin_LIBRARIES})
add_dependencies(createMarker ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})

install(TARGETS ${ALVAR_TARGETS} ${KINECT_FILTERING_TARGETS}
install(TARGETS ${PROJECT_NAME} createMarker findMarkerBundles findMarkerBundlesNoKinect individualMarkers individualMarkersNoKinect kinect_filtering medianFilter trainMarkerBundle
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
Expand All @@ -155,29 +131,16 @@ install(DIRECTORY include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
)

install(DIRECTORY launch bundles
install(DIRECTORY bundles launch
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/
)

if (CATKIN_ENABLE_TESTING)
find_package(catkin REQUIRED COMPONENTS roslaunch rostest)

if(CATKIN_ENABLE_TESTING)
find_package(roslaunch REQUIRED)
find_package(rostest REQUIRED)

file(GLOB LAUNCH_FILES launch/*.launch test/*.test)
foreach(LAUNCH_FILE ${LAUNCH_FILES})
roslaunch_add_file_check(${LAUNCH_FILE} USE_TEST_DEPENDENCIES)
endforeach()

catkin_download_test_data(
${PROJECT_NAME}_4markers_tork.bag
http://download.ros.org/data/ar_track_alvar/ar_track_alvar_4markers_tork_2017-02-08-11-21-14.bag
# Workaround the issue http://answers.ros.org/question/253787/accessing-data-downloaded-via-catkin_download_test_data/
# by downloading into source folder.
#DESTINATION ${CATKIN_DEVEL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION}/test
DESTINATION ${CATKIN_DEVEL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION}/test
MD5 627aa0316bbfe4334e06023d7c2b4087
)
add_rostest(test/marker_arg_config-basic.test DEPENDENCIES ${PROJECT_NAME}_4markers_tork.bag)
add_rostest(test/marker_arg_config-full.test DEPENDENCIES ${PROJECT_NAME}_4markers_tork.bag)
add_rostest(test/marker_param_config-basic.test DEPENDENCIES ${PROJECT_NAME}_4markers_tork.bag)
add_rostest(test/marker_param_config-full.test DEPENDENCIES ${PROJECT_NAME}_4markers_tork.bag)
endif()
Loading