Skip to content

Commit 5e7e29b

Browse files
committed
Public release
1 parent 4c7915f commit 5e7e29b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+7876
-0
lines changed

.github/workflows/main.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: CI
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
industrial_ci:
7+
strategy:
8+
matrix:
9+
env:
10+
- {ROS_DISTRO: melodic, ROS_REPO: main, UPSTREAM_WORKSPACE: 'github:nobleo/mobile_robot_simulator#fix/install'}
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v1
14+
- uses: 'ros-industrial/industrial_ci@master'
15+
env: ${{matrix.env}}

CHANGELOG.rst

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2+
Changelog for package tracking_pid
3+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4+
5+
Forthcoming
6+
-----------
7+
8+
1.0.0 (2019-04-19)
9+
------------------
10+
* Add Apache 2.0 as license as per ROSIN
11+
* Add backwards compatibility to ROS-Kinetic by overloading planner initialize function.
12+
* Add ~loop param to make interpolator loop
13+
* Deal with 0.0 velocity in Python path_interpolator
14+
* Ported path_interpolator.py/PathInterpolator itself to path_interpolator.cpp and integrating it
15+
* Re-format code according to ROS standard (https://github.com/davetcoleman/roscpp_code_format)
16+
* Contributors: Alaa Alassi, Ferry Schoenmakers, Jasper Verhoeven, Loy van Beek, Mukunda Bharatheesha, Tim Clephas
17+
18+
0.6.4 (2019-01-03)
19+
------------------
20+
* Drive backwards when control point is behind robot (negative)
21+
* Deal with paths that have duplicate poses
22+
* Contributors: Loy van Beek, Tim Clephas
23+
24+
0.6.3 (2018-08-24)
25+
------------------
26+
* Added dynamic reconfigure parameter for velocity
27+
* Add options for different start-time than current time to allow for faster resuming after paused state
28+
* Do not re-initialise interpolator on every pause callback but only when paused
29+
* Contributors: Tim Clephas
30+
31+
0.6.2 (2018-07-19)
32+
------------------
33+
* Publish when the path is done tracking
34+
* The functionality of the Interpolator would also be suitable for an ActionServer, called with a path
35+
* Add node to interpolate nav_msgs/Path and send that to the tracking_pid node
36+
* Added interpolation between data points to allow for paths with data points further apart in time and space
37+
* Add parameter to allow chosing controller frames
38+
* Contributors: Loy van Beek, Tim Clephas, Yuri Steinbuch
39+
40+
0.1.0 (2017-10-16)
41+
------------------
42+
* Added backwards driving compatibility to the controller
43+
* Fixed feedforward issue and some improvements in the perf_logger
44+
* Added performance logger wrt to future lifetime tests
45+
* Added general launch file in which desired trajectory can be set. Added dynamic reconfigure for the global_planner to change trajectories online easily
46+
* Bugfixes and dynamic reconfigure of local planner
47+
* Added feedforward actions, improved overall performance, bug fixes
48+
* Contributors: Michiel Francke, Tim Clephas, Yuri Steinbuch

CMakeLists.txt

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
cmake_minimum_required(VERSION 3.0.2)
2+
project(tracking_pid)
3+
add_compile_options(-std=c++11)
4+
5+
## Find catkin and any catkin packages
6+
find_package(catkin REQUIRED
7+
COMPONENTS
8+
actionlib
9+
actionlib_msgs
10+
angles
11+
dynamic_reconfigure
12+
geometry_msgs
13+
message_generation
14+
nav_msgs
15+
pluginlib
16+
roscpp
17+
roslib
18+
roslint
19+
rostest
20+
std_msgs
21+
std_srvs
22+
tf
23+
tf2
24+
tf2_geometry_msgs
25+
tf2_ros
26+
visualization_msgs
27+
)
28+
29+
catkin_python_setup()
30+
31+
add_message_files(
32+
FILES
33+
PidDebug.msg
34+
traj_point.msg
35+
trajectory.msg
36+
)
37+
38+
add_action_files(
39+
DIRECTORY
40+
action
41+
FILES
42+
FollowPath.action
43+
)
44+
45+
generate_dynamic_reconfigure_options(
46+
cfg/Pid.cfg
47+
cfg/TargetVelocity.cfg
48+
)
49+
50+
generate_messages(
51+
DEPENDENCIES
52+
actionlib_msgs
53+
geometry_msgs
54+
nav_msgs
55+
std_msgs
56+
)
57+
58+
## Declare a catkin package
59+
catkin_package(
60+
INCLUDE_DIRS
61+
include
62+
LIBRARIES
63+
${PROJECT_NAME}
64+
CATKIN_DEPENDS
65+
actionlib
66+
actionlib_msgs
67+
angles
68+
dynamic_reconfigure
69+
geometry_msgs
70+
message_runtime
71+
nav_msgs
72+
roscpp
73+
std_msgs
74+
tf
75+
tf2_geometry_msgs
76+
tf2_ros
77+
visualization_msgs
78+
)
79+
80+
add_executable(controller src/controller.cpp src/controller_node.cpp)
81+
add_dependencies(controller ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS} ${${PROJECT_NAME}_EXPORTED_TARGETS})
82+
target_link_libraries(controller ${catkin_LIBRARIES})
83+
84+
add_library(${PROJECT_NAME} src/controller.cpp)
85+
add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS} ${PROJECT_NAME})
86+
target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES})
87+
88+
include_directories(
89+
include
90+
${catkin_INCLUDE_DIRS}
91+
)
92+
93+
# Configure roslint for nodes
94+
95+
# Roslint cpp
96+
set(ROSLINT_CPP_OPTS "--filter=-legal/copyright")
97+
roslint_cpp()
98+
99+
install(
100+
TARGETS
101+
controller
102+
${PROJECT_NAME}
103+
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
104+
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
105+
)
106+
107+
install(
108+
DIRECTORY
109+
include/controller
110+
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
111+
)
112+
113+
install(
114+
FILES
115+
${PROJECT_NAME}_plugin.xml
116+
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
117+
)
118+
119+
catkin_install_python(
120+
PROGRAMS
121+
nodes/path_interpolator
122+
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
123+
)
124+
125+
if (CATKIN_ENABLE_TESTING)
126+
catkin_add_gtest(test_controller test/test_controller.cpp src/controller.cpp)
127+
add_dependencies(test_controller ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
128+
target_link_libraries(test_controller ${catkin_LIBRARIES})
129+
130+
catkin_add_nosetests(test/test_interpolator.py)
131+
132+
add_rostest(test/${PROJECT_NAME}/test_${PROJECT_NAME}.test)
133+
endif()

0 commit comments

Comments
 (0)