-
Notifications
You must be signed in to change notification settings - Fork 390
Add omni_wheel_drive_controller #1535
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
Merged
christophfroehlich
merged 55 commits into
ros-controls:master
from
Amronos:add-multi_omni_wheel_drive_controller
Jul 26, 2025
Merged
Changes from 10 commits
Commits
Show all changes
55 commits
Select commit
Hold shift + click to select a range
de0725f
Add multi_omni_wheel_drive_controller
Amronos cddfb9c
Fix typo
Amronos 82b6d87
Update package.xml
Amronos ff32b2d
Remove ament_lint test dependencies in package.xml
Amronos a5d581a
Update mobile_robot_kinematics.rst
Amronos ed119f4
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos d9b8547
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos 4b26153
Update in accordance to #1534
Amronos 249c6f9
Fix pre-commit for omni_wheel_omnidirectional_drive.svg
Amronos da3c9ce
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos 363ebe4
Apply suggestions from code review
Amronos 3b574bc
Apply suggestions from code review
Amronos bece933
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos 57059bf
Update diagram according to review
Amronos 8c0c3ec
Update mobile_robot_kinematics.rst
Amronos 077eba5
Do some code cleanup and fixes
Amronos fb3a77f
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos c487fa8
Fix a comment
Amronos a67ac1f
Update integration in odometry
Amronos 15fbe3d
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos b64a869
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos cb7fa77
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos 4d2a788
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos ad3eda7
Fix incorrect merge
Amronos 1789bb4
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos 80e2c91
Merge `master` into add-multi_omni_wheel_drive_controller
Amronos fb75835
Cleanup code and fix deprecation warnings
Amronos d4f7630
Cleanup includes
Amronos d3411d6
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos c7e619d
Merge `upstream/master` into `add-multi_omni_wheel_drive_controller`
Amronos dd8e0a5
Merge `upstream/master` into `add-multi_omni_wheel_drive_controller`
Amronos a70960e
Fix exported interface naming and use global cmake macros
Amronos 57034d8
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos 797ed79
Merge `upstream/master` into `add-multi_omni_wheel_drive_controller`
Amronos 5f84437
Fixes for pre-commit
Amronos c228218
Apply suggestions from code review
Amronos 54a9e3d
Remove ``default_value`` for ``wheel_offset``
Amronos 96c4aa1
Apply suggestions from code review
Amronos 162f06e
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos 4128004
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos 86b351e
Add more tests for different robot configurations
Amronos 44a735a
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos 739a755
Align with recent ros2_control changes and best practices
Amronos 2e0bada
Fix pre-commit
Amronos 467c9b7
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos f07064e
Fix incorrect merge
Amronos a4f8024
Fix published messages
Amronos d4b90e0
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos 674c118
Fix transform messages
Amronos b626c5f
Change all parameters to read_only
Amronos 91bc4bb
Merge branch 'master' into add-multi_omni_wheel_drive_controller
Amronos 4a21732
Rename to omni_wheel_drive_controller
Amronos 8348072
Rename in external files also
Amronos 31f52cd
Fix CI failures
Amronos 76bb670
Apply suggestion from @saikishor
Amronos File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,148 @@ | ||
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.0.9 Chrome/128.0.6613.186 Electron/32.2.5 Safari/537.36" version="26.0.9"> | ||
<diagram name="Page-1" id="oXK_xTiI5W0cO1z_g1WC"> | ||
<mxGraphModel dx="398" dy="233" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="1" shadow="0"> | ||
<root> | ||
<mxCell id="0" /> | ||
<mxCell id="1" parent="0" /> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-35" value="" style="whiteSpace=wrap;html=1;shape=mxgraph.basic.octagon2;align=center;verticalAlign=middle;dx=15;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1"> | ||
<mxGeometry x="360" y="400" width="110" height="100" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="ChEq4ZLzQJYhXQesgG-w-1" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="680" y="600" as="sourcePoint" /> | ||
<mxPoint x="680" y="520" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="ChEq4ZLzQJYhXQesgG-w-2" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="680" y="600" as="sourcePoint" /> | ||
<mxPoint x="600" y="600" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-1" value="$$x_w$$" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> | ||
<mxGeometry x="630" y="520" width="60" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-2" value="$$y_w$$" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> | ||
<mxGeometry x="590" y="600" width="60" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-39" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;rotation=-45;direction=north;" parent="1" vertex="1"> | ||
<mxGeometry x="450" y="380" width="20" height="60" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-26" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="420" y="450" as="sourcePoint" /> | ||
<mxPoint x="420" y="320" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-27" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="420" y="450" as="sourcePoint" /> | ||
<mxPoint x="280" y="450" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-28" value="$$x_b$$" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> | ||
<mxGeometry x="370" y="320" width="60" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-30" value="$$y_b$$" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> | ||
<mxGeometry x="270" y="450" width="60" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-37" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;rotation=-45;" parent="1" vertex="1"> | ||
<mxGeometry x="338.54" y="400" width="60" height="20" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-47" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#e51400;strokeColor=#B20000;" parent="1" edge="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="470" y="420" as="sourcePoint" /> | ||
<mxPoint x="490" y="440" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-48" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;rotation=-225;" parent="1" vertex="1"> | ||
<mxGeometry x="430" y="480" width="60" height="20" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-49" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#e51400;strokeColor=#B20000;" parent="1" edge="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="450" y="500" as="sourcePoint" /> | ||
<mxPoint x="430" y="520" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-50" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#e51400;strokeColor=#B20000;" parent="1" edge="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="380" y="400" as="sourcePoint" /> | ||
<mxPoint x="400" y="380" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-53" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;rotation=-135;" parent="1" vertex="1"> | ||
<mxGeometry x="338.54" y="480" width="60" height="20" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-54" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#e51400;strokeColor=#B20000;" parent="1" edge="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="360" y="480" as="sourcePoint" /> | ||
<mxPoint x="340" y="460" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-58" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.arc;startAngle=0.7182744825694465;endAngle=0.12992074927787245;strokeWidth=2;fillColor=none;strokeColor=#0e8088;" parent="1" vertex="1"> | ||
<mxGeometry x="360" y="355" width="70" height="60" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-59" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.005;exitY=0.57;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#b1ddf0;strokeColor=#0E8088;strokeWidth=2;" parent="1" source="rHnyt-oSxQMcdHQplmVE-58" edge="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="260" y="400" as="sourcePoint" /> | ||
<mxPoint x="365" y="400" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-60" value="$$\gamma$$" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0E8088;" parent="1" vertex="1"> | ||
<mxGeometry x="330" y="340" width="60" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-62" value="" style="endArrow=classic;startArrow=classic;rounded=0;strokeColor=#6c8ebf;fillColor=#dae8fc;fontColor=none;noLabel=1;strokeWidth=2;" parent="1" edge="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="420" y="430" as="sourcePoint" /> | ||
<mxPoint x="420" y="390" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-63" value="<font>$$v_b,_x$$</font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#6C8EBF;fontSize=12;" parent="1" vertex="1"> | ||
<mxGeometry x="385" y="400" width="40" height="15" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-64" value="" style="endArrow=classic;startArrow=classic;rounded=0;strokeColor=#6C8EBF;fontColor=none;noLabel=1;fillColor=#d5e8d4;strokeWidth=2;" parent="1" edge="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="350" y="450" as="sourcePoint" /> | ||
<mxPoint x="390" y="450" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-65" value="<font>$$v_b,_y$$</font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#6C8EBF;fontSize=12;" parent="1" vertex="1"> | ||
<mxGeometry x="358.54" y="450" width="40" height="15" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-69" value="" style="verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.basic.arc;startAngle=0.5737918088252166;endAngle=0.1;noLabel=1;fillColor=none;strokeColor=#6C8EBF;strokeWidth=2;" parent="1" vertex="1"> | ||
<mxGeometry x="405" y="440" width="25" height="20" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-73" value="" style="endArrow=classic;rounded=0;exitX=0.248;exitY=0.91;exitDx=0;exitDy=0;exitPerimeter=0;strokeColor=#6C8EBF;fillColor=#d5e8d4;fontColor=none;noLabel=1;" parent="1" source="rHnyt-oSxQMcdHQplmVE-69" edge="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="420" y="490" as="sourcePoint" /> | ||
<mxPoint x="418" y="460" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-75" value="<font>$$w_b,_z$$</font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#6C8EBF;fontSize=12;" parent="1" vertex="1"> | ||
<mxGeometry x="380" y="425" width="40" height="15" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-76" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeColor=#0E8088;strokeWidth=2;" parent="1" target="rHnyt-oSxQMcdHQplmVE-48" edge="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="420" y="450" as="sourcePoint" /> | ||
<mxPoint x="470" y="420" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-77" value="$$R$$" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0E8088;" parent="1" vertex="1"> | ||
<mxGeometry x="410" y="440" width="60" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-78" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.arc;startAngle=0.38408468867550993;endAngle=0.02988324191219446;rotation=-165;fillColor=none;strokeColor=#0E8088;strokeWidth=2;" parent="1" vertex="1"> | ||
<mxGeometry x="460" y="410" width="64.77" height="81.33" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="rHnyt-oSxQMcdHQplmVE-80" value="$$\theta$$" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0E8088;" parent="1" vertex="1"> | ||
<mxGeometry x="510" y="430" width="60" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="xJ0_dUwsu9lpXLYQ-wWM-2" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.722;exitY=0.945;exitDx=0;exitDy=0;exitPerimeter=0;strokeColor=#0E8088;entryX=0.224;entryY=0.912;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="rHnyt-oSxQMcdHQplmVE-78" target="rHnyt-oSxQMcdHQplmVE-39" edge="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="488" y="411" as="sourcePoint" /> | ||
<mxPoint x="476" y="420" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
</root> | ||
</mxGraphModel> | ||
</diagram> | ||
</mxfile> |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
cmake_minimum_required(VERSION 3.16) | ||
project(multi_omni_wheel_drive_controller) | ||
|
||
if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)") | ||
add_compile_options(-Wall -Wextra -Werror=conversion -Werror=unused-but-set-variable | ||
-Werror=return-type -Werror=shadow -Werror=format -Werror=range-loop-construct | ||
-Werror=missing-braces) | ||
endif() | ||
|
||
# Find dependencies | ||
set(THIS_PACKAGE_INCLUDE_DEPENDS | ||
ament_cmake | ||
controller_interface | ||
generate_parameter_library | ||
geometry_msgs | ||
hardware_interface | ||
nav_msgs | ||
pluginlib | ||
rclcpp | ||
rclcpp_lifecycle | ||
realtime_tools | ||
tf2 | ||
tf2_msgs | ||
Eigen3 | ||
) | ||
foreach(Dependency IN ITEMS ${THIS_PACKAGE_INCLUDE_DEPENDS}) | ||
find_package(${Dependency} REQUIRED) | ||
endforeach() | ||
|
||
generate_parameter_library( | ||
${PROJECT_NAME}_parameters | ||
src/${PROJECT_NAME}_parameters.yaml | ||
) | ||
|
||
add_library(${PROJECT_NAME} SHARED | ||
src/${PROJECT_NAME}.cpp | ||
src/odometry.cpp | ||
) | ||
target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17) | ||
target_include_directories(${PROJECT_NAME} | ||
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> | ||
$<INSTALL_INTERFACE:include/${PROJECT_NAME}> | ||
) | ||
target_link_libraries(${PROJECT_NAME} PRIVATE | ||
${PROJECT_NAME}_parameters | ||
Eigen3::Eigen | ||
) | ||
ament_target_dependencies(${PROJECT_NAME} PUBLIC ${THIS_PACKAGE_INCLUDE_DEPENDS}) | ||
pluginlib_export_plugin_description_file(controller_interface multi_omni_wheel_drive_plugin.xml) | ||
|
||
# Install | ||
install( | ||
DIRECTORY include/ | ||
DESTINATION include/${PROJECT_NAME}/ | ||
) | ||
install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_parameters | ||
EXPORT export_${PROJECT_NAME} | ||
RUNTIME DESTINATION bin | ||
ARCHIVE DESTINATION lib | ||
LIBRARY DESTINATION lib | ||
) | ||
|
||
if(BUILD_TESTING) | ||
find_package(ament_cmake_gmock REQUIRED) | ||
find_package(controller_manager REQUIRED) | ||
find_package(ros2_control_test_assets REQUIRED) | ||
|
||
ament_add_gmock(test_${PROJECT_NAME} test/test_${PROJECT_NAME}.cpp) | ||
target_link_libraries(test_${PROJECT_NAME} | ||
${PROJECT_NAME} | ||
${PROJECT_NAME}_parameters | ||
Eigen3::Eigen | ||
) | ||
ament_target_dependencies(test_${PROJECT_NAME} | ||
geometry_msgs | ||
hardware_interface | ||
nav_msgs | ||
rclcpp | ||
rclcpp_lifecycle | ||
realtime_tools | ||
tf2 | ||
tf2_msgs | ||
Eigen3 | ||
) | ||
|
||
add_definitions(-DTEST_FILES_DIRECTORY="${CMAKE_CURRENT_SOURCE_DIR}/test") | ||
ament_add_gmock(test_load_${PROJECT_NAME} test/test_load_${PROJECT_NAME}.cpp) | ||
ament_target_dependencies(test_load_${PROJECT_NAME} | ||
controller_manager | ||
ros2_control_test_assets | ||
) | ||
|
||
find_package(ament_lint_auto REQUIRED) | ||
ament_lint_auto_find_test_dependencies() | ||
endif() | ||
|
||
ament_export_targets(export_${PROJECT_NAME} HAS_LIBRARY_TARGET) | ||
ament_export_dependencies(${THIS_PACKAGE_INCLUDE_DEPENDS}) | ||
ament_package() |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.