Skip to content

Commit 3b88ed6

Browse files
updating index.md
1 parent c5dcca5 commit 3b88ed6

7 files changed

Lines changed: 92 additions & 3 deletions

File tree

docs/index.md

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,16 @@ hide:
1414
*Authors: [Daniel San Jose Pro](https://danielsanjosepro.github.io)[^1], [Oliver Hausdörfer](https://oliver.hausdoerfer.de/)[^1], [Ralf Römer](https://ralfroemer99.github.io)[^1], Maximilian Dösch[^1], [Martin Schuck](https://amacati.github.io/) [^1] and Angela Schoellig [^1]*.
1515
[^1]: The authors are with Technical University of Munich, Germany; TUM School of Computation, Information and Technology, Department of Computer Engineering, Learning Systems and Robotics Lab; Munich Institute of Robotics and Machine Intelligence.
1616

17-
> A collection of real-time, C++ controllers for compliant torque-based control for manipulators compatible with `ros2_control`. Developed for deploying high-level learning-based policies (VLA, Diffusion, ...) and teleoperation on your manipulator. It is compatible with any manipulator offering an effort interface.
17+
You want to deploy your learning-based policy to your manipulator, or collect teleoperation data? `CRISP` provides the tools for that.
18+
19+
- `CRISP` provides the `ros2_control` low-level controllers (compliant, real-time, C++, torque-based) and simple python interfaces `CRISP_PY` to interface with them. It is compatible with any manipulator offering an joint-level torque effort interface.
20+
21+
- `CRISP` provides also a Gymnasium environment `CRISP_GYM` to deploy learning-based `LeRobot` policies and collect data in `LeRobotDataset` format.
1822

1923
_If you use this work, please cite it using the [bibtex](#citing) below._
2024

21-
Check the [controllers (CRISP controllers) :simple-github:](https://github.com/utiasDSL/crisp_controllers) , robot [demos (CRISP controllers demos) :simple-github:](https://github.com/utiasDSL/crisp_controllers_demos), a simple [python interface (CRISP_PY) :simple-github:](https://github.com/utiasDSL/crisp_py), and a [Gymnasium wrapper (CRISP_GYM) :simple-github:](https://github.com/utiasDSL/crisp_gym) for real-world experiments.
25+
Check the [controllers (CRISP controllers) :simple-github:](https://github.com/utiasDSL/crisp_controllers), the simple [python interface (CRISP_PY) :simple-github:](https://github.com/utiasDSL/crisp_py), and a [Gymnasium wrapper (CRISP_GYM) :simple-github:](https://github.com/utiasDSL/crisp_gym) for real-world experiments.
26+
2227

2328
!!! info "Aloha gripper for Manipulators"
2429
Check out [aloha4franka](https://tum-lsy.github.io/aloha4franka/) for the gripper used in the videos.
@@ -98,10 +103,42 @@ While `ROS2` frameworks like `MoveIt` offer comprehensive motion planning capabi
98103
We present a set of lightweight, torque-based Cartesian and joint-space controllers implemented in C++ for `ros2_control`, compatible with any robot exposing an effort interface—a common standard among modern manipulators.
99104
Our controllers incorporate friction compensation, joint limit avoidance, and error clipping, and have been validated on the Franka Robotics FR3 on hardware, and on various platforms in simulation.
100105

101-
Designed for fast integration and real-time control, our implementation lowers the barrier to deploying learning-based algorithms on `ROS2`-compatible platforms.
106+
We provide tooling to collect data in `LeRobotDataset` format using teleoperation and deploy learning-based policies with minimal effort using `CRISP_PY` and `CRISP_GYM`.
102107

103108
**Why the name "CRISP"**? "CRISP" reflects our design philosophy behind the package: a concise, to-the-point implementation for easy deployment and integration in other software stacks.
104109

110+
## Test Robots
111+
112+
113+
Tested in real hardware with:
114+
<div class="robot-grid">
115+
<div class="robot-card">
116+
<img src="media/fr3_visual.png" alt="FR3">
117+
<div class="robot-name">FR3</div>
118+
</div>
119+
<div class="robot-card">
120+
<img src="media/panda_visual.png" alt="Panda">
121+
<div class="robot-name">Panda</div>
122+
</div>
123+
<div class="robot-card greyscale">
124+
<img src="media/ur10_visual.png" alt="UR10">
125+
<div class="robot-name">UR10 (coming soon...)</div>
126+
</div>
127+
</div>
128+
129+
Tested in simulation with:
130+
<div class="robot-grid">
131+
<div class="robot-card">
132+
<img src="media/iiwa14_visual.png" alt="IIWA">
133+
<div class="robot-name">IIWA14</div>
134+
</div>
135+
<div class="robot-card greyscale">
136+
<img src="media/kinova_visual.png" alt="Kinova">
137+
<div class="robot-name">Kinova</div>
138+
</div>
139+
</div>
140+
141+
105142
## Features
106143
- 🐍 **Python interface** to move your ROS2 robot around without having to think about topics, spinning, and more ROS2 concepts but without losing the powerful ROS2 API. Check [CRISP_PY](https://github.com/utiasDSL/crisp_py) for more information and examples.
107144
- 🔁 **Gymnasium environment** with utilities to deploy learning-based policies and record trajectories in LeRobotFormat. Check [CRISP_GYM](https://github.com/utiasDSL/crisp_gym).

docs/media/fr3_visual.png

312 KB
Loading

docs/media/iiwa14_visual.png

234 KB
Loading

docs/media/panda_visual.png

318 KB
Loading

docs/media/ur10_visual.png

238 KB
Loading

docs/stylesheets/extra.css

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,3 +241,54 @@
241241
right: 0.5rem;
242242
}
243243
}
244+
245+
/* Robot Grid Styles */
246+
.robot-grid {
247+
display: grid;
248+
grid-template-columns: repeat(3, 1fr);
249+
gap: 1rem;
250+
margin: 1rem 0;
251+
}
252+
253+
.robot-card {
254+
position: relative;
255+
overflow: hidden;
256+
border-radius: 8px;
257+
border: 1px solid #ddd;
258+
}
259+
260+
.robot-card img {
261+
width: 100%;
262+
height: auto;
263+
display: block;
264+
transition: transform 0.3s ease, filter 0.3s ease;
265+
}
266+
267+
.robot-card:hover img {
268+
transform: scale(1.05);
269+
}
270+
271+
.robot-card.greyscale img {
272+
filter: grayscale(100%);
273+
}
274+
275+
.robot-card.greyscale:hover img {
276+
filter: grayscale(0%);
277+
}
278+
279+
.robot-card .robot-name {
280+
position: absolute;
281+
bottom: 0;
282+
left: 0;
283+
right: 0;
284+
background: rgba(0, 0, 0, 0.7);
285+
color: white;
286+
text-align: center;
287+
padding: 0.5rem;
288+
opacity: 0;
289+
transition: opacity 0.3s ease;
290+
}
291+
292+
.robot-card:hover .robot-name {
293+
opacity: 1;
294+
}

zensical.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,3 +121,4 @@ markdown_extensions = [
121121

122122
[[markdown_extensions]]
123123
"pydownx.arithmatex" = { generic = true }
124+

0 commit comments

Comments
 (0)