You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Isaac Sim 5.0 compatible [hardware](https://docs.isaacsim.omniverse.nvidia.com/latest/installation/requirements.html) and [driver](https://docs.omniverse.nvidia.com/dev-guide/latest/common/technical-requirements.html)
9
-
-[`uv` package manager](https://docs.astral.sh/uv/getting-started/installation/) (Not mandatory, but the instructions below are using`uv`)
8
+
- Isaac Sim 5.0 compatible [hardware](https://docs.isaacsim.omniverse.nvidia.com/latest/installation/requirements.html) and [drivers](https://docs.omniverse.nvidia.com/dev-guide/latest/common/technical-requirements.html)
9
+
-[`uv` package manager](https://docs.astral.sh/uv/getting-started/installation/) (Not mandatory, but the instructions below use`uv`)
#create the virtual environment and install dependencies
20
+
#Create the virtual environment and install dependencies
21
21
uv sync
22
22
```
23
23
24
-
## Run teleop demo
25
-
Use **WASD** for linear motion and **QE** for turning. **R**reloads the scene and **F**jumps to the next one.
24
+
## Run Teleop Demo
25
+
Use **WASD** for linear motion and **QE** for turning. Press **R**to reload the scene and **F**to jump to the next one.
26
26
```sh
27
27
uv run dataflow --teleop
28
28
```
29
29
30
+
## Run Tests with dora-rs
31
+
This executes all the tests locally.
32
+
```sh
33
+
# Run test with dora-rs and pytest
34
+
uv run dataflow --test-all
35
+
```
36
+
See `uv run dataflow --help` for all options
30
37
31
38
## Testing with Artefacts
32
39
33
-
Follow the instructions at [docs.artefacts.com](https://docs.artefacts.com/getting-started/) to set-up the project.
40
+
### Set up the Artefacts Dashboard
41
+
Follow these steps to set up your Artefacts project. For more details, refer to the [documentation](https://docs.artefacts.com/getting-started/).
34
42
43
+
1. Install the CLI using `pipx` (other installation methods are available).
35
44
```sh
36
-
# Launch Isaac Sim and execute multiple waypoint tests
37
-
uvx --from artefacts-cli artefacts run waypoint_missions
45
+
sudo apt install pipx
46
+
pipx ensurepath
47
+
pipx install artefacts-cli
38
48
```
39
49
40
-
## Run tests with dora-rs
41
-
This will execute all the tests without parameterization in `artefacts.yaml`
50
+
2. Create an account at https://app.artefacts.com and log in.
51
+
3. Create a new project and follow the authentication instructions provided on the project page.
52
+
4. Update [artefacts.yaml](./artefacts.yaml) with your project name.
53
+
54
+
### Run Tests with Artefacts
55
+
42
56
```sh
43
-
#Run test with dora-rs and pytest
44
-
uv run dataflow --test-all
57
+
#Launch Isaac Sim and execute multiple waypoint tests
58
+
artefacts run waypoint_missions
45
59
```
46
-
See `uv run dataflow --help` for all options
60
+
Track the job status on your project page. Test outputs for each scenario will appear there upon completion.
61
+
47
62
48
63
49
64
50
-
## Project walkthrough
65
+
## Project Walkthrough
51
66
52
-
### Main tools:
67
+
### Main Tools
53
68
- Isaac Sim for simulation
54
69
-`dora-rs` as the robotics framework
55
-
- PyTorch executing the control policy
70
+
- PyTorch for executing the control policy
56
71
57
-
This repo is organized as a Python workspace with multiple Python packages.
72
+
This repository is organized as a Python workspace containing multiple packages.
58
73
59
74
### Nodes
60
-
The `dora-rs` nodes are organized as separate Python packages under `nodes/*`
75
+
`dora-rs` nodes are organized as separate Python packages located in `nodes/*`.
61
76
62
-
-[`simulation`](./nodes/simulation/) runs the Isaac Sim simulation
63
-
-It outputs observations and information about the simulation like `robot_pose`, `simulation_time`, `waypoints`.
64
-
-It listens to the low-level joint commands and applies them on the simulated robot.
65
-
-Also accepts`load_scene` input that allows the test nodes to load different scenes without restarting the simulation.
66
-
-[`navigator`](./nodes/navigator/)using the robot position and the waypoint positions, it computes and publishes the high-level 2D navigation commands.
67
-
-[`policy_controller`](./nodes/policy_controller/)takes the high-level 2D navigation commands from the `navigator`nodes and outputs the low-level joint commands to the `simulation` node
68
-
-[`tester`](./nodes/tester/) contains the test nodes that should be executed with`pytest`
69
-
-[test_waypoints_poses.py](./nodes/tester/tester/test_waypoints_poses.py) Executes multiple waypoint navigation scenarios and uses the robot and waypoint position data to determine if the waypoint mission was successful.
70
-
-[test_waypoints_report.py](./nodes/tester/tester/test_waypoints_report.py)The simplified version of the test above, that uses the internal waypoint mission state from the simulation to determine if the waypoint mission was successful.
71
-
-[`teleop`](./nodes/teleop/) implements keyboard teleop control
77
+
-[`simulation`](./nodes/simulation/) runs the Isaac Sim simulation.
78
+
-Outputs observations and simulation data, such as `robot_pose`, `simulation_time`, and`waypoints`.
79
+
-Listens for low-level joint commands and applies them to the simulated robot.
80
+
-Accepts a`load_scene` input, allowing test nodes to switch scenes without restarting the simulation.
81
+
-[`navigator`](./nodes/navigator/) computes and publishes high-level 2D navigation commands based on the robot's position and waypoints.
82
+
-[`policy_controller`](./nodes/policy_controller/)receives high-level 2D navigation commands from the `navigator`node and outputs low-level joint commands to the `simulation` node.
83
+
-[`tester`](./nodes/tester/) contains test nodes executed via`pytest`.
84
+
-[test_waypoints_poses.py](./nodes/tester/tester/test_waypoints_poses.py) Executes multiple waypoint navigation scenarios, using robot and waypoint position data to verify mission success.
85
+
-[test_waypoints_report.py](./nodes/tester/tester/test_waypoints_report.py)A simplified version of the above test that uses the simulation's internal waypoint mission state to verify success.
-[`msgs`](./msgs/)Implements the necessary messages as python classes using [`arrow-message`](https://github.com/hennzau/arrow-message)
75
-
-[`dataflow`](./dataflow/)Using the [`dora-rs dataflow builder`](https://github.com/dora-rs/dora/tree/main/examples/python-dataflow-builder) implements a CLI to configure and run `dora-rs` dataflows. Run `uv run dataflow --help`to see all options.
88
+
### Other Packages
89
+
-[`msgs`](./msgs/)implements necessary messages as Python classes using [`arrow-message`](https://github.com/hennzau/arrow-message).
90
+
-[`dataflow`](./dataflow/)implements a CLI to configure and run `dora-rs` dataflows using the [`dora-rs dataflow builder`](https://github.com/dora-rs/dora/tree/main/examples/python-dataflow-builder). Run `uv run dataflow --help`for options.
76
91
77
-
### Future nodes
78
-
-`teleop` for controlling the robot with keyboard or gamepad
79
-
-`dds-transport` for interfacing the real Unitree Go2 hardware
92
+
### Future Nodes
93
+
-`teleop`: Control the robot via keyboard or gamepad.
94
+
-`dds-transport`: Interface with real Unitree Go2 hardware.
80
95
81
96
82
97
## Training
83
98
84
-
Policy training is separated in a standard Isaac Lab project: https://github.com/art-e-fact/go2_isaac_lab_env.
99
+
Policy training is handled in a separate Isaac Lab project: [go2_isaac_lab_env](https://github.com/art-e-fact/go2_isaac_lab_env).
85
100
86
101
Steps:
87
-
- Follow the instructions in [go2_isaac_lab_env](https://github.com/art-e-fact/go2_isaac_lab_env) train the new policy
88
-
- Use `scripts/rsl_rl/play.py` to export the trained policy.
89
-
- This will generate`logs/<checkpoint>/exported/policy.pt` and `logs/<checkpoint>/params/env.yaml`.
90
-
-Override these files in the `./nodes/policy_controller/policy`of this repo.
91
-
-Try the new policy with `uv run python -m simulation`
102
+
- Follow the instructions in the [go2_isaac_lab_env](https://github.com/art-e-fact/go2_isaac_lab_env)repository to train a new policy.
103
+
- Use `scripts/rsl_rl/play.py` to export the policy.
104
+
- This generates`logs/<checkpoint>/exported/policy.pt` and `logs/<checkpoint>/params/env.yaml`.
105
+
-Overwrite the files in `./nodes/policy_controller/policy`in this repository with the newly generated files.
106
+
-Test the new policy with `uv run python -m simulation`.
0 commit comments