Skip to content

Commit 4261f2f

Browse files
Merge remote-tracking branch 'origin/main' into docs/presentation-slides
2 parents f8180cd + ccbead4 commit 4261f2f

17 files changed

Lines changed: 55725 additions & 31953 deletions

.github/workflows/jazzy_ros2_ci.yml

Lines changed: 0 additions & 29 deletions
This file was deleted.

.github/workflows/kilted_ros2_ci.yml

Lines changed: 0 additions & 29 deletions
This file was deleted.

.github/workflows/rolling_ros2_ci.yml

Lines changed: 0 additions & 29 deletions
This file was deleted.
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# This config uses industrial_ci (https://github.com/ros-industrial/industrial_ci.git).
22
# For troubleshooting, see README (https://github.com/ros-industrial/industrial_ci/blob/master/README.rst)
3-
name: ROS2 humble - CI
3+
name: ROS 2 CI
44

55
on: [push, pull_request]
66

@@ -11,13 +11,13 @@ jobs:
1111
strategy:
1212
fail-fast: false
1313
matrix:
14-
ROS_DISTRO: [humble]
14+
ROS_DISTRO: [humble, jazzy, kilted, lyrical]
1515
ROS_REPO: [main]
1616
env:
17-
CCACHE_DIR: "${{ github.workspace }}/.ccache" # directory for ccache (and how we enable ccache in industrial_ci)
17+
CCACHE_DIR: "${{ github.workspace }}/.ccache" # directory for ccache (and how we enable ccache in industrial_ci)
1818
steps:
19-
- uses: actions/checkout@v4 # clone target repository
20-
- uses: actions/cache@v4 # fetch/store the directory used by ccache before/after the ci run
19+
- uses: actions/checkout@v4 # clone target repository
20+
- uses: actions/cache@v4 # fetch/store the directory used by ccache before/after the ci run
2121
with:
2222
path: ${{ env.CCACHE_DIR }}
2323
key: ccache-${{ matrix.ROS_DISTRO }}-${{ matrix.ROS_REPO }}-${{github.run_id}}

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,32 @@
11
# Changelog
22

3+
## [2.4.1](https://github.com/learnsyslab/crisp_controllers/compare/v2.4.0...v2.4.1) (2026-07-25)
4+
5+
6+
### Bug Fixes
7+
8+
* remove rolling form industrial_ci and update readme badges ([#63](https://github.com/learnsyslab/crisp_controllers/issues/63)) ([0062739](https://github.com/learnsyslab/crisp_controllers/commit/0062739d752e76f2c0361e0ac423aeb414505b04))
9+
10+
## [2.4.0](https://github.com/learnsyslab/crisp_controllers/compare/v2.3.1...v2.4.0) (2026-06-13)
11+
12+
13+
### Features
14+
15+
* decouple translation from rotation in admittance MSD integration ([#57](https://github.com/learnsyslab/crisp_controllers/issues/57)) ([2df8954](https://github.com/learnsyslab/crisp_controllers/commit/2df8954a3a5f729913b9332f8d46b12f4b5917ea))
16+
* parameterize controller and broadcaster topics ([#60](https://github.com/learnsyslab/crisp_controllers/issues/60)) ([b39afea](https://github.com/learnsyslab/crisp_controllers/commit/b39afeaa60c9a046cfcbc46824e6ca8c91cb88ac))
17+
18+
19+
### Bug Fixes
20+
21+
* negative nullspace damping not handled correctly ([#56](https://github.com/learnsyslab/crisp_controllers/issues/56)) ([c3af67e](https://github.com/learnsyslab/crisp_controllers/commit/c3af67e45e1940bcc557cca218657cdd1b0c5add))
22+
23+
## [2.3.1](https://github.com/learnsyslab/crisp_controllers/compare/v2.3.0...v2.3.1) (2026-05-29)
24+
25+
26+
### Bug Fixes
27+
28+
* validate end_effector_frame in cartesian/admittance controllers and broadcasters, drop redundant on_activate check ([#53](https://github.com/learnsyslab/crisp_controllers/issues/53)) ([4b91853](https://github.com/learnsyslab/crisp_controllers/commit/4b918539d475f72512895e418e9d0a0b2c84cc9f))
29+
330
## [2.3.0](https://github.com/utiasDSL/crisp_controllers/compare/v2.2.0...v2.3.0) (2026-04-09)
431

532

CMakeLists.txt

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -127,19 +127,31 @@ target_link_libraries(${PROJECT_NAME}
127127
)
128128

129129

130-
ament_target_dependencies(${PROJECT_NAME}
130+
target_link_libraries(${PROJECT_NAME}
131131
PUBLIC
132-
controller_interface
133-
hardware_interface
134-
pluginlib
135-
rclcpp
136-
rclcpp_lifecycle
137-
pinocchio
138-
generate_parameter_library
139-
realtime_tools
140-
std_msgs
132+
pluginlib::pluginlib
133+
rclcpp::rclcpp
134+
rclcpp_lifecycle::rclcpp_lifecycle
135+
pinocchio::pinocchio
136+
realtime_tools::realtime_tools
137+
${std_msgs_TARGETS}
141138
)
142139

140+
# ros2_control did not export namespaced targets until after humble
141+
if(TARGET controller_interface::controller_interface)
142+
target_link_libraries(${PROJECT_NAME}
143+
PUBLIC
144+
controller_interface::controller_interface
145+
hardware_interface::hardware_interface
146+
)
147+
else()
148+
ament_target_dependencies(${PROJECT_NAME}
149+
PUBLIC
150+
controller_interface
151+
hardware_interface
152+
)
153+
endif()
154+
143155
pluginlib_export_plugin_description_file(
144156
controller_interface crisp_controllers.xml)
145157

README.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
<img src="media/crisp_logo.webp" alt="CRISP Controllers Logo"/>
22

3-
<a href="https://github.com/utiasDSL/crisp_controllers/actions/workflows/humble_ros2_ci.yml"><img src="https://github.com/utiasDSL/crisp_controllers/actions/workflows/humble_ros2_ci.yml/badge.svg"/></a>
4-
<a href="https://github.com/utiasDSL/crisp_controllers/actions/workflows/jazzy_ros2_ci.yml"><img src="https://github.com/utiasDSL/crisp_controllers/actions/workflows/jazzy_ros2_ci.yml/badge.svg"/></a>
5-
<a href="https://github.com/utiasDSL/crisp_controllers/actions/workflows/kilted_ros2_ci.yml"><img src="https://github.com/utiasDSL/crisp_controllers/actions/workflows/kilted_ros2_ci.yml/badge.svg"/></a>
6-
<a href="https://github.com/utiasDSL/crisp_controllers/actions/workflows/rolling_ros2_ci.yml"><img src="https://github.com/utiasDSL/crisp_controllers/actions/workflows/rolling_ros2_ci.yml/badge.svg"/></a>
3+
<a href="https://github.com/utiasDSL/crisp_controllers/actions/workflows/ros2_ci.yml"><img src="https://github.com/utiasDSL/crisp_controllers/actions/workflows/ros2_ci.yml/badge.svg"/></a>
74
<a href="https://danielsanjosepro.github.io/crisp_controllers/"><img alt="Static Badge" src="https://img.shields.io/badge/docs-passing-blue?style=flat&link=https%3A%2F%2Fdanielsanjosepro.github.io%2Fcrisp_controllers%2F"></a>
8-
<a href="https://utiasDSL.github.io/crisp_controllers#citing"><img alt="Static Badge" src="https://img.shields.io/badge/arxiv-cite-b31b1b?style=flat"></a>
5+
<a href="https://ieeexplore.ieee.org/document/11505755"><img alt="Static Badge" src="https://img.shields.io/badge/IEEE-RAP%202026-blue?style=flat&link=https%3A%2F%2Fieeexplore.ieee.org%2Fabstract%2Fdocument%2F11505755"></a>
96

107
CRISP is a collection of real-time, C++ controllers for compliant torque-based control for manipulators compatible with `ros2_control`, including **Cartesian Impedance Control** and **Operational Space Control**. Developed for deploying high-level learning-based policies (VLA, Diffusion, ...) and teleoperation on your manipulator. It is robot-agnostic and compatible with any manipulator offering and effort interface. Check the [project website](https://utiasdsl.github.io/crisp_controllers/) for guides, getting started, demos and more!
118

0 commit comments

Comments
 (0)