Skip to content

Commit 4e67d51

Browse files
Added a how to bring your own configs guide
1 parent b31c1cb commit 4e67d51

File tree

4 files changed

+55
-9
lines changed

4 files changed

+55
-9
lines changed

docs/getting_started.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -203,11 +203,8 @@ In this script you need to add a environment variables:
203203
- `ROS_DOMAIN_ID` **(Required)**: which is used to define nodes that should be able to see each other. In our [demos](misc/demos.md) they are set to 100 as default.
204204
- `CRISP_CONFIG_PATH` **(Optional)**: which should be the path to a config folder similar to [config path of CRISP_PY](https://github.com/utiasDSL/crisp_py/tree/main/config).
205205
If this environment variable is unset, the default configurations will be used.
206-
If the user wants to add configurations, simply create a folder with your own configs and make this environment variable point to that config folder.
206+
Check [how to create your own config](misc/create_own_config.md) guide for more information.
207207

208-
!!! note
209-
For `crisp_gym>=2.0.0` you can have multiple config paths separated by a colon ":" and check the config paths set using the script `scripts/check_config.py`.
210-
Check the example below.
211208

212209
=== "crisp_gym >=2.0.0"
213210

@@ -219,7 +216,7 @@ In this script you need to add a environment variables:
219216

220217
1. Required for now to install LeRobot
221218

222-
Finally check the config:
219+
Finally check the config (if using one)
223220
```bash
224221
pixi run python scripts/check_config.py
225222
```
@@ -284,8 +281,8 @@ There are two recording methods currently available:
284281
With this you can implement custom recording devices to control the recording workflow
285282

286283
??? example "Using the FR3 pilot buttons of Franka Robotics as a recording device"
287-
In our lab, we use the buttons of the leader robot as a recording device with the [franka-buttons](https://github.com/nakama-lab/franka-buttons) repository.
288-
The following script uses the circle, cross, check and up buttons as a record, delete, save and quit commands respectively:
284+
In our lab, we use the buttons of the leader robot as a recording device with a for of the [franka-buttons](https://github.com/danielsanjosepro/franka_buttons_ros2/tree/main) repository.
285+
The following script uses the circle, cross, check and up buttons as a record, delete, save and quit commands respectively (this is also part of the repository):
289286
```py
290287
"""Send recording commands for an episode recorder node to start, stop recording, save episodes and quit using the franka pulot buttons."""
291288
import rclpy

docs/misc/create_own_config.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# How to create your own config
2+
3+
You can bring your own config to CRISP, so that you are able to create your own environments, teleoperation setup, controllers...
4+
1. First create a config folder and give it the following structure (you do not need to add all config folders):
5+
6+
```bash
7+
my_crisp_configs
8+
├── envs/
9+
│ ├── my_env1.yaml
10+
│ └── my_env2.yaml
11+
├── recording/
12+
│ └── my_recording_manager.yaml
13+
├── teleop/
14+
│ └── my_teleop_setup.yaml
15+
├── control/
16+
│ ├── my_osc_controller.yaml
17+
│ ├── my_joint_controller.yaml
18+
│ └── my_cartesian_impedance_controller.yaml
19+
├── my_gripper_config.yaml
20+
├── my_second_gripper_config.yaml
21+
├── my_robot_config.yaml
22+
└── my_camera_config.yaml
23+
24+
```
25+
2. Then add it to your `CRISP_CONFIG_PATH`:
26+
```bash
27+
export CRISP_CONFIG_PATH=/path/to/my_crisp_configs
28+
```
29+
30+
3. Check that the config works.
31+
32+
```bash
33+
pixi run python scripts/check_config.py
34+
```
35+
36+
This should output your config if it can loaded properly
37+
38+
---
39+
40+
Now you can use this to create your own environments:
41+
42+
```python
43+
from crisp_gym.manipulator_env import make_env
44+
45+
env = make_env(env_type="my_env1", namespace="my_robot_namespace_if_required")
46+
```
47+
48+
Also the record and deploy scripts should be able to find your config now and allow you to load it.

docs/misc/demos.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ We also have some examples with cameras.
3636

3737
| Robots | Real Sense | Any Camera / Webcam | Orbecc |
3838
| :--- | :---: | :---: | :---: |
39-
| Camera demo ||| [^2] |
39+
| Camera demo ||| [^2] |
4040

4141

42-
[^2]: TODO, still not available in the demos
42+
[^2]: Available container at: https://github.com/danielsanjosepro/orbec_container_ros2
4343

4444

4545
## Running a demo

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ nav:
99
- Multi-machine setup: misc/multi_machine_setup.md
1010
- ROS2 Diagnostics: misc/diagnostics.md
1111
- Setting up a robot that is not available in the demos: misc/new_robot_setup.md
12+
- How to bring your own config: misc/create_own_config.md
1213

1314
# - Test: crisp_controllers/classes.md
1415

0 commit comments

Comments
 (0)