Skip to content

Commit

Permalink
Feature/melodic rebase (#2242)
Browse files Browse the repository at this point in the history
* Feature/edit typo (#1769)

Fix language.

* Update README.md

* Update contact details

* Feature/update autoware launcher (#2056)

* Add prototype of plugin file editor

* Change logger level

* Support command line options

* Update gazebo simulator panel

* Add plugin edit tool and update plugins

* Fix a bug of transform edit

* Fix setup.py to install all packages

* Update the code for compatibility with python3

* Update the code for colcon build

* updated plugin for lane_rule, lane_stop, and voxel_grid_filter

* Fix that the plugin_description is not installed

* Fix launch file error

* Fix test failed

* Skip test of unbuilt packages

* Add run script

* Add profile description

* Fix launch file install path of point_downsampler

* Update README file

* Update README file for plugin file

* Fix README file

* Add notice to run script

* Update CHANGELOGs

* Replace URI in CHANGELOGs

* Set version 1.10.0

* Creanup rst format

* 1.11.0

* Change RTM default topic to match UKF node launch file (#2142)

* Remove old issue and PR templates (#2148)

* Update repository info files (#2149)

* Add missing info files

* Update contributing info file

* Merge left over features from around the 1.11 release (#2151)

* Fix deceleration value bug in following state

inv_time will be negatived when forward object too close, but deceleration_critical will be smaller than max_deceleration

* fix bug of max split size

* change conversion formula from GB to Byte

* Update twist_filter.cpp (#1932)

* Feature/edit typo (#1769)

Fix language.

* Update twist_filter.cpp

* Fix/compare map filter squared distance (#1896)

* fix squared distance

* update default param

* update default param

* update launch file

* update interface.yaml

* Added AW Lexus model (#2117)

* Added AW Lexus model

* Adapt urdf to match mesh orientation

* Replace IV texture with AW (#2119)

* Update rect_class_score.h (#1825)

fixed typo for class label for OVEN - 'over' should be 'oven'

* Fixed wrong assignement of message type to package (#1706)

The message type ConfigWaypointLoader has been assigned to autoware_config_msgs in 8bf1c47.
This fixes the issue https://github.com/CPFL/Autoware/issues/1705.

* fix RuntimeManager on lxterminal #1203 (#1204)

* fix RuntimeManager on lxterminal #1203

* Modify the different behavior in gnome-terminal environment

* Set OPTION_TITLE in meta-terminal and xfce4-terminal environment

* Update run

* Add missing install for image resources on camera calibrator (#2137)

* Add missing install for image resources

* Switched to share

* Add .repos file for setting up an Autoware workspace using vcs (#2161)

* Add .repos file for setting up an Autoware workspace using vcs

Signed-off-by: Geoffrey Biggs <geoff.biggs@tier4.jp>

* Use https protocol for git repositories

Signed-off-by: Geoffrey Biggs <geoff.biggs@tier4.jp>

* Use lgsvl_msgs from binaries

Signed-off-by: Geoffrey Biggs <geoff.biggs@tier4.jp>

* Use American English for repository names

Signed-off-by: Geoffrey Biggs <geoff.biggs@tier4.jp>

* Break spelling

Signed-off-by: Geoffrey Biggs <geoff.biggs@tier4.jp>

* Remove enablePlannerDynamicSwitch (#1919)

* Remove enablePlannerDynamicSwitch from lane_select.launch

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Remove enablePlannerDynamicSwitch from lane_select_core.cpp

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Remove enablePlannerDynamicSwitch from velocity_set.launch

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Remove enablePlannerDynamicSwitch from velocity_set.cpp

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Remove enablePlannerDynamicSwitch from dp_planner_core.h

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Remove enablePlannerDynamicSwitch from dp_planner.launch

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Remove enablePlannerDynamicSwitch from dp_planner_core.cpp

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Remove enablePlannerDynamicSwitch from autoware_launcher

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Updated paths in quick_start launch files and parameters in default.rviz (#2206)

Signed-off-by: sgermanserrano <servando.german.serrano@linaro.org>

* Fix bug that limits the data rate of DataRateCheckerPlugin (#2205)

* Repair bug that limits the data rate of DataRateCheckerPlugin

- A larger message buffer was added to message callbacks of the topic subscribers in DataRateCheckerPlugin
- Handling of timing was changed from std::chrono to ros::Time
- Maximum frequency selection from the Min. Hz option was increased
- Exception handling was improved to be more similar to the Python tool rostopic hz

Signed-off-by: David <david@lifecyclist.co.nz>

* Remove unused variable in header file

Signed-off-by: David <david@lifecyclist.co.nz>

* Apply ROS clang format

Signed-off-by: David <david@lifecyclist.co.nz>

* Revert "Apply ROS clang format"

This reverts commit 88563f1.

Signed-off-by: David <david@lifecyclist.co.nz>

* Adding install directive for node (#2195)

Issue: executable is not found/built with colcon_release, added install targets.
Signed-off-by: snehagn <sganesh@autonomoustuff.com>

* fix install directive for waypoint extractor (#2219)

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Remove points2costmap (#2248)

* remove points2costmap

Signed-off-by: Kosuke Murakami <kosuke.murakami@tier4.jp>

* remove reaadme description and launch file

Signed-off-by: Kosuke Murakami <kosuke.murakami@tier4.jp>

* [fix]: make sure cost is set with expanding_polygon_size (#2245)

Signed-off-by: Kosuke Murakami <kosuke.murakami@tier4.jp>

* ekf_localizer (#2247)

* kalman_filter: add all commits for signoff

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* kalman_filter: change const to constexpr

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* kalman_filter: modify xml format & license format

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* kalman_filter: add figures for kalman filter quation

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* kalman_filter: move kalman_filter libraries from kalman_filter_localizer pkg to amathutils_lib

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* kalman_filter: fix CMakelists for colcon build error & change initial covariance from 1e3 to 1e15

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* kalman_filter: modify yaw calc functiuon

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* kalman_filter: update readme

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* ekf_localizer: change package name from kalman filter localozer

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* twist_generator: add pkg

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* ekf_localizer: add use_ndt_pose_with_covariance option

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* twist_generator: modify in runtime_manager.yaml

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* ekf_localizer: bug fix of yaw error > 2*pi & add debug messages

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* twist_generator: add runtime_manager & change node name

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* ekf_localizer: change params & default values

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* ekf_localizer: remove config file & modify readme

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* ekf_localizer: change parameters

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* ekf_locakizer: change initial param values

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* ekf_localizer: remove ndt name, change to pose

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* elf_localozer: use doxygen format for kalman filter library & change file name to time_delay_kalman_filter

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* ekf_localizer: change comments for test code

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* amathutils: change error msg from prntf to std::cerr

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* twist_generator: split codes into .hpp & .cpp

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* ekf_localizer: modify readme, add parameters in runtime_manager

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* ekf_localizer: use docygen format for ekf_localizer.hpp

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* ekf_localizer: modify readme (ekf parameter turning)

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* amathutils_lib: add comments & remove unnecessary variable in kalman filter

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* ekf_localizer:

 * add test code
 * move main() to core for test
 * add valid check for update functions in ekf_localizer.cpp
 * align default parameter values to be same in node, launch, readme, runtime_manager

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* Added grid_map_msgs from grid_map@1.6.0

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added grid_map_cv from grid_map@1.6.0

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added grid_map_ros from grid_map@1.6.0

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added grid_map_core from grid_map@1.6.0

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added jsk_recognition_msgs from jsk_recognition@1.2.6

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added jsk_recognition_util from jsk_recognition@1.2.6

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added jsk_rviz_plugins from jsk_visualization@2.1.4

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added grid_map_visualization from grid_map@1.6.0

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Depend on cmake_modules and tinyxml

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Upgrade GStreamer dependency to 1.0 from 0.10

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Remove ROS_DISTRO checks and assume the target ROS distribution is at least Kinetic

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Disable ymc for ROS Melodic and later

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added dependency for jsk_recognition_msgs to jsk_recognition_utils

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added pipeline for ROS Melodic

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added gnupg2

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Install tzdata non-interactivelly

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added jsk_rviz_plugins as a dependency

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added jsk_rviz_plugins as a dependency to lidar_localizer

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added jsk_rviz_plugins as a dependency to lidar_euclidean_cluster_detect

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Use /usr/bin/python3 for PYTHON_EXECUTABLE

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Update dependencies

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Backport jsk-ros-pkg/jsk_recognition#2389

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added numpy to the Docker image for jsk_recognition_utils

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added Cython and Numpy paths to CMake toolchains

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Update build scripts

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added autoware_msgs_generate_messages_cpp to the list of target dependencies

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added missing dependency (#1933)

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added support for Melodic

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added Docker image for crosscompiling for Melodic

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Update image for Melodic

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Added pipeline for crosscompiling for melodic

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Fix merge

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Removed jsk_recognition_msgs and jsk_recognition_utils, which are now available in Melodic

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Revert "Removed jsk_recognition_msgs and jsk_recognition_utils, which are now available in Melodic"

This reverts commit 698cbd1.

Re-add jsk_recognition_msgs and jsk_recognition_utils. To be removed
once they become available in the main ROS .deb repositories.

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Revert "Added grid_map_visualization from grid_map@1.6.0"

This reverts commit e83e4ce.

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Revert "Added grid_map_ros from grid_map@1.6.0"

This reverts commit e11da00.

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Revert "Added grid_map_msgs from grid_map@1.6.0"

This reverts commit 3bc7633.

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Revert "Added grid_map_cv from grid_map@1.6.0"

This reverts commit 26c4e8a.

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Revert "Added grid_map_core from grid_map@1.6.0"

This reverts commit 7162edd.

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Revert "Revert "Removed jsk_recognition_msgs and jsk_recognition_utils, which are now available in Melodic""

This reverts commit 96b5620.

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Re-added grid_map and jsk_* to the crossbuild Docker image

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* fix bug of max split size

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* change conversion formula from GB to Byte

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Fixed wrong assignement of message type to package (#1706)

The message type ConfigWaypointLoader has been assigned to autoware_config_msgs in 8bf1c47.
This fixes the issue https://github.com/CPFL/Autoware/issues/1705.

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Revert "Added jsk_rviz_plugins from jsk_visualization@2.1.4"

This reverts commit ef1b7a2.

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Made build script slightly more verbose

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Increase verbosity for colcon test-result

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Add OpenCV libraries to the linker (#2090)

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Add missing numeric header (#2089)

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Update Docker image timestamps

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* Fix CI syntax

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* YMC library for Melodic (#2135)

* Replace library to -fPIC compiled binary (x86/aarch64)

(cherry picked from commit 849f623)

* Added melodic support

* Fix typo in CMake file

Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>

* GPU support on Melodic (#2173)

* Feature/edit typo (#1769)

Fix language.

* Update README.md

* Update contact details

* Feature/update autoware launcher (#2056)

* Add prototype of plugin file editor

* Change logger level

* Support command line options

* Update gazebo simulator panel

* Add plugin edit tool and update plugins

* Fix a bug of transform edit

* Fix setup.py to install all packages

* Update the code for compatibility with python3

* Update the code for colcon build

* updated plugin for lane_rule, lane_stop, and voxel_grid_filter

* Fix that the plugin_description is not installed

* Fix launch file error

* Fix test failed

* Skip test of unbuilt packages

* Add run script

* Add profile description

* Fix launch file install path of point_downsampler

* Update README file

* Update README file for plugin file

* Fix README file

* Add notice to run script

* Update CHANGELOGs

* Replace URI in CHANGELOGs

* Set version 1.10.0

* Creanup rst format

* 1.11.0

* Change RTM default topic to match UKF node launch file (#2142)

* Remove old issue and PR templates (#2148)

* Update repository info files (#2149)

* Add missing info files

* Update contributing info file

* Merge left over features from around the 1.11 release (#2151)

* Fix deceleration value bug in following state

inv_time will be negatived when forward object too close, but deceleration_critical will be smaller than max_deceleration

* fix bug of max split size

* change conversion formula from GB to Byte

* Update twist_filter.cpp (#1932)

* Feature/edit typo (#1769)

Fix language.

* Update twist_filter.cpp

* Fix/compare map filter squared distance (#1896)

* fix squared distance

* update default param

* update default param

* update launch file

* update interface.yaml

* Added AW Lexus model (#2117)

* Added AW Lexus model

* Adapt urdf to match mesh orientation

* Replace IV texture with AW (#2119)

* Update rect_class_score.h (#1825)

fixed typo for class label for OVEN - 'over' should be 'oven'

* Fixed wrong assignement of message type to package (#1706)

The message type ConfigWaypointLoader has been assigned to autoware_config_msgs in 8bf1c47.
This fixes the issue https://github.com/CPFL/Autoware/issues/1705.

* fix RuntimeManager on lxterminal #1203 (#1204)

* fix RuntimeManager on lxterminal #1203

* Modify the different behavior in gnome-terminal environment

* Set OPTION_TITLE in meta-terminal and xfce4-terminal environment

* Update run

* Add missing install for image resources on camera calibrator (#2137)

* Add missing install for image resources

* Switched to share

* Add CMake, CUDA, Eigen version checks for the CUDA accelerated nodes
Add CUDA enabled CI

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* Remove deprecated vision_detector DPM

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* Switch CI to use colcon insead of catkin tools

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* Fix travis ci syntax file

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* switch from colcon to catkin tools on kinetic(not supported on industrial_ci)

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* CUDA CMake checks for lidar_localizer

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* CUDA CMake checks for lidar_apollo_cnn_seg_detect

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* CUDA CMake checks for vision_segment_enet_detect

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* CUDA CMake checks for vision_ssd_detect

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* CUDA CMake checks for lidar_point_pillars

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* Add .repos file for setting up an Autoware workspace using vcs (#2161)

* Add .repos file for setting up an Autoware workspace using vcs

Signed-off-by: Geoffrey Biggs <geoff.biggs@tier4.jp>

* Use https protocol for git repositories

Signed-off-by: Geoffrey Biggs <geoff.biggs@tier4.jp>

* Use lgsvl_msgs from binaries

Signed-off-by: Geoffrey Biggs <geoff.biggs@tier4.jp>

* Use American English for repository names

Signed-off-by: Geoffrey Biggs <geoff.biggs@tier4.jp>

* Break spelling

Signed-off-by: Geoffrey Biggs <geoff.biggs@tier4.jp>

* Remove non-required Eigen check on lidar_apollo_cnn_seg_detect package

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* Add Driveworks check on ARM64/CUDA devices for autoware_driveworks_gmsl_interface package

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* Add Driveworks check on ARM64/CUDA devices for autoware_driveworks_interface package

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* Remove enablePlannerDynamicSwitch (#1919)

* Remove enablePlannerDynamicSwitch from lane_select.launch

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Remove enablePlannerDynamicSwitch from lane_select_core.cpp

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Remove enablePlannerDynamicSwitch from velocity_set.launch

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Remove enablePlannerDynamicSwitch from velocity_set.cpp

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Remove enablePlannerDynamicSwitch from dp_planner_core.h

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Remove enablePlannerDynamicSwitch from dp_planner.launch

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Remove enablePlannerDynamicSwitch from dp_planner_core.cpp

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Remove enablePlannerDynamicSwitch from autoware_launcher

Signed-off-by: Kenji Funaoka <kfunaoka@gmail.com>

* Updated paths in quick_start launch files and parameters in default.rviz (#2206)

Signed-off-by: sgermanserrano <servando.german.serrano@linaro.org>

* Fix bug that limits the data rate of DataRateCheckerPlugin (#2205)

* Repair bug that limits the data rate of DataRateCheckerPlugin

- A larger message buffer was added to message callbacks of the topic subscribers in DataRateCheckerPlugin
- Handling of timing was changed from std::chrono to ros::Time
- Maximum frequency selection from the Min. Hz option was increased
- Exception handling was improved to be more similar to the Python tool rostopic hz

Signed-off-by: David <david@lifecyclist.co.nz>

* Remove unused variable in header file

Signed-off-by: David <david@lifecyclist.co.nz>

* Apply ROS clang format

Signed-off-by: David <david@lifecyclist.co.nz>

* Revert "Apply ROS clang format"

This reverts commit 88563f1.

Signed-off-by: David <david@lifecyclist.co.nz>

* Adding install directive for node (#2195)

Issue: executable is not found/built with colcon_release, added install targets.
Signed-off-by: snehagn <sganesh@autonomoustuff.com>

* Remove unnecesary gstreamer1.0-plugins-good dependency from pointgrey_drivers

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* fix install directive for waypoint extractor (#2219)

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>
Signed-off-by: Joshua Whitley <jwhitley@autonomoustuff.com>
  • Loading branch information
Joshua Whitley authored and amc-nu committed May 16, 2019
1 parent 67c1433 commit 421d3ca
Show file tree
Hide file tree
Showing 30 changed files with 2,651 additions and 353 deletions.
9 changes: 9 additions & 0 deletions ros/src/common/libs/amathutils_lib/CMakeLists.txt
Expand Up @@ -4,6 +4,7 @@ project(amathutils_lib) # autoware math utility
find_package(autoware_build_flags REQUIRED)

find_package(autoware_msgs REQUIRED)
find_package(Eigen3 REQUIRED)
find_package(catkin REQUIRED COMPONENTS
roscpp
autoware_msgs
Expand All @@ -25,6 +26,8 @@ include_directories(amathutils_lib

add_library(amathutils_lib
src/Amathutils.cpp
src/kalman_filter.cpp
src/time_delay_kalman_filter.cpp
)
target_link_libraries(amathutils_lib
${catkin_LIBRARIES}
Expand All @@ -49,4 +52,10 @@ if(CATKIN_ENABLE_TESTING)
find_package(rostest REQUIRED)
add_rostest_gtest(amathutils-test test/test_amathutils_lib.test test/src/test_amathutils_lib.cpp)
target_link_libraries(amathutils-test ${catkin_LIBRARIES} amathutils_lib)
add_rostest_gtest(test-kalman_filter
test/test_kalman_filter.test
test/src/test_kalman_filter.cpp
src/kalman_filter.cpp
src/time_delay_kalman_filter.cpp)
target_link_libraries(test-kalman_filter ${catkin_LIBRARIES})
endif()
@@ -0,0 +1,201 @@
/*
* Copyright 2018-2019 Autoware Foundation. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#pragma once

#include <eigen3/Eigen/Core>
#include <eigen3/Eigen/LU>

/**
* @file kalman_filter.h
* @brief kalman filter class
* @author Takamasa Horibe
* @date 2019.05.01
*/

class KalmanFilter
{
public:

/**
* @brief No initialization constructor.
*/
KalmanFilter();

/**
* @brief constructor with initialization
* @param x initial state
* @param A coefficient matrix of x for process model
* @param B coefficient matrix of u for process model
* @param C coefficient matrix of x for measurement model
* @param Q covariace matrix for process model
* @param R covariance matrix for measurement model
* @param P initial covariance of estimated state
*/
KalmanFilter(const Eigen::MatrixXd &x, const Eigen::MatrixXd &A,
const Eigen::MatrixXd &B, const Eigen::MatrixXd &C,
const Eigen::MatrixXd &Q, const Eigen::MatrixXd &R,
const Eigen::MatrixXd &P);

/**
* @brief destructor
*/
~KalmanFilter();

/**
* @brief initialization of kalman filter
* @param x initial state
* @param A coefficient matrix of x for process model
* @param B coefficient matrix of u for process model
* @param C coefficient matrix of x for measurement model
* @param Q covariace matrix for process model
* @param R covariance matrix for measurement model
* @param P initial covariance of estimated state
*/
bool init(const Eigen::MatrixXd &x, const Eigen::MatrixXd &A,
const Eigen::MatrixXd &B, const Eigen::MatrixXd &C,
const Eigen::MatrixXd &Q, const Eigen::MatrixXd &R,
const Eigen::MatrixXd &P);

/**
* @brief initialization of kalman filter
* @param x initial state
* @param P initial covariance of estimated state
*/
bool init(const Eigen::MatrixXd &x, const Eigen::MatrixXd &P0);

/**
* @brief set A of process model
* @param A coefficient matrix of x for process model
*/
void setA(const Eigen::MatrixXd &A);

/**
* @brief set B of process model
* @param B coefficient matrix of u for process model
*/
void setB(const Eigen::MatrixXd &B);

/**
* @brief set C of measurement model
* @param C coefficient matrix of x for measurement model
*/
void setC(const Eigen::MatrixXd &C);

/**
* @brief set covariace matrix Q for process model
* @param Q covariace matrix for process model
*/
void setQ(const Eigen::MatrixXd &Q);

/**
* @brief set covariance matrix R for measurement model
* @param R covariance matrix for measurement model
*/
void setR(const Eigen::MatrixXd &R);

/**
* @brief get current kalman filter state
* @param x kalman filter state
*/
void getX(Eigen::MatrixXd &x);

/**
* @brief get current kalman filter covariance
* @param P kalman filter covariance
*/
void getP(Eigen::MatrixXd &P);

/**
* @brief get component of current kalman filter state
* @param i index of kalman filter state
* @return value of i's component of the kalman filter state x[i]
*/
double getXelement(unsigned int i);

/**
* @brief calculate kalman filter state and covariance by prediction model with A, B, Q matrix. This is mainly for EKF with variable matrix.
* @param u input for model
* @param A coefficient matrix of x for process model
* @param B coefficient matrix of u for process model
* @param Q covariace matrix for process model
* @return bool to check matrix operations are being performed properly
*/
bool predict(const Eigen::MatrixXd &u, const Eigen::MatrixXd &A,
const Eigen::MatrixXd &B, const Eigen::MatrixXd &Q);

/**
* @brief calculate kalman filter covariance with prediction model with x, A, Q matrix. This is mainly for EKF with variable matrix.
* @param x_next predicted state
* @param A coefficient matrix of x for process model
* @param Q covariace matrix for process model
* @return bool to check matrix operations are being performed properly
*/
bool predict(const Eigen::MatrixXd &x_next, const Eigen::MatrixXd &A,
const Eigen::MatrixXd &Q);

/**
* @brief calculate kalman filter covariance with prediction model with x, A, Q matrix. This is mainly for EKF with variable matrix.
* @param x_next predicted state
* @param A coefficient matrix of x for process model
* @return bool to check matrix operations are being performed properly
*/
bool predict(const Eigen::MatrixXd &x_next, const Eigen::MatrixXd &A);

/**
* @brief calculate kalman filter state by prediction model with A, B and Q being class menber variables.
* @param u input for the model
* @return bool to check matrix operations are being performed properly
*/
bool predict(const Eigen::MatrixXd &u);

/**
* @brief calculate kalman filter state by measurement model with y_pred, C and R matrix. This is mainly for EKF with variable matrix.
* @param y measured values
* @param y output values expected from measurement model
* @param C coefficient matrix of x for measurement model
* @param R covariance matrix for measurement model
* @return bool to check matrix operations are being performed properly
*/
bool update(const Eigen::MatrixXd &y, const Eigen::MatrixXd &y_pred,
const Eigen::MatrixXd &C, const Eigen::MatrixXd &R);

/**
* @brief calculate kalman filter state by measurement model with C and R matrix. This is mainly for EKF with variable matrix.
* @param y measured values
* @param C coefficient matrix of x for measurement model
* @param R covariance matrix for measurement model
* @return bool to check matrix operations are being performed properly
*/
bool update(const Eigen::MatrixXd &y, const Eigen::MatrixXd &C,
const Eigen::MatrixXd &R);

/**
* @brief calculate kalman filter state by measurement model with C and R being class menber variables.
* @param y measured values
* @return bool to check matrix operations are being performed properly
*/
bool update(const Eigen::MatrixXd &y);

protected:
Eigen::MatrixXd x_; //!< @brief current estimated state
Eigen::MatrixXd A_; //!< @brief coefficient matrix of x for process model x[k+1] = A*x[k] + B*u[k]
Eigen::MatrixXd B_; //!< @brief coefficient matrix of u for process model x[k+1] = A*x[k] + B*u[k]
Eigen::MatrixXd C_; //!< @brief coefficient matrix of x for measurement model y[k] = C * x[k]
Eigen::MatrixXd Q_; //!< @brief covariace matrix for process model x[k+1] = A*x[k] + B*u[k]
Eigen::MatrixXd R_; //!< @brief covariance matrix for measurement model y[k] = C * x[k]
Eigen::MatrixXd P_; //!< @brief covariance of estimated state
};
@@ -0,0 +1,84 @@
/*
* Copyright 2018-2019 Autoware Foundation. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#pragma once

#include <iostream>
#include <eigen3/Eigen/Core>
#include <eigen3/Eigen/LU>
#include "amathutils_lib/kalman_filter.hpp"

/**
* @file time_delay_kalman_filter.h
* @brief kalman filter with delayed measurement class
* @author Takamasa Horibe
* @date 2019.05.01
*/

class TimeDelayKalmanFilter : public KalmanFilter
{
public:

/**
* @brief No initialization constructor.
*/
TimeDelayKalmanFilter();


/**
* @brief initialization of kalman filter
* @param x initial state
* @param P0 initial covariance of estimated state
* @param max_delay_step Maximum number of delay steps, which determines the dimension of the extended kalman filter
*/
void init(const Eigen::MatrixXd &x, const Eigen::MatrixXd &P, const int max_delay_step);

/**
* @brief get latest time estimated state
* @param x latest time estimated state
*/
void getLatestX(Eigen::MatrixXd &x);

/**
* @brief get latest time estimation covariance
* @param P latest time estimation covariance
*/
void getLatestP(Eigen::MatrixXd &P);

/**
* @brief calculate kalman filter covariance by predicion model with time delay. This is mainly for EKF of nonlinear process model.
* @param x_next predicted state by prediction model
* @param A coefficient matrix of x for process model
* @param Q covariace matrix for process model
*/
bool predictWithDelay(const Eigen::MatrixXd &x_next, const Eigen::MatrixXd &A,
const Eigen::MatrixXd &Q);

/**
* @brief calculate kalman filter covariance by measurement model with time delay. This is mainly for EKF of nonlinear process model.
* @param y measured values
* @param C coefficient matrix of x for measurement model
* @param R covariance matrix for measurement model
* @param delay_step measurement delay
*/
bool updateWithDelay(const Eigen::MatrixXd &y, const Eigen::MatrixXd &C,
const Eigen::MatrixXd &R, const int delay_step);

private:
int max_delay_step_; //!< @brief maximum number of delay steps
int dim_x_; //!< @brief dimension of latest state
int dim_x_ex_; //!< @brief dimension of extended state with dime delay
};

0 comments on commit 421d3ca

Please sign in to comment.