Browse Source

Merge pull request #32 from NVlabs/gear-sonic

Crawling keyboard + docs update
main
Zhengyi "Zen" Luo 1 month ago
committed by GitHub
parent
commit
c3562ef0c3
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 16
      docs/source/getting_started/vr_teleop_setup.md
  2. 4
      docs/source/tutorials/keyboard.md
  3. 2
      docs/source/tutorials/vr_wholebody_teleop.md
  4. 4
      gear_sonic_deploy/src/g1/g1_deploy_onnx_ref/include/input_interface/keyboard_handler.hpp

16
docs/source/getting_started/vr_teleop_setup.md

@ -98,21 +98,6 @@ source .venv_teleop/bin/activate # prompt: (gear_sonic_teleop)
## Step 4: Connect the PICO to Your Workstation ## Step 4: Connect the PICO to Your Workstation
:::{important}
Before connecting the PICO, you must first launch the teleop streamer on your workstation so the PC Service has something to connect to:
```bash
source .venv_teleop/bin/activate
python gear_sonic/scripts/pico_manager_thread_server.py --manager \
--vis_vr3pt --vis_smpl
```
Leave this running in a terminal throughout the setup steps below. This is part of the [VR Whole-Body Teleop tutorial](../tutorials/vr_wholebody_teleop.md).
If the PICO cannot reach your workstation, check your firewall — disable it or add a rule to allow the XRoboToolkit port.
:::
1. Open the Wi-Fi settings on both the laptop/PC and PICO and ensure they are on the **same Wi-Fi network**. Take note of the Wi-Fi IPv4 address. 1. Open the Wi-Fi settings on both the laptop/PC and PICO and ensure they are on the **same Wi-Fi network**. Take note of the Wi-Fi IPv4 address.
- To find the PICO's Wi-Fi, select the control center on the bottom right of the menu. - To find the PICO's Wi-Fi, select the control center on the bottom right of the menu.
@ -139,7 +124,6 @@ If the PICO cannot reach your workstation, check your firewall — disable it or
:align: center :align: center
``` ```
--- ---
## Next Steps ## Next Steps

4
docs/source/tutorials/keyboard.md

@ -186,8 +186,8 @@ Height adjustable with **`-`** / **`=`** (0.2–0.8 m). Initial height defaults
| **1** | Squat | static | | **1** | Squat | static |
| **2** | Kneel (Two Legs) | static | | **2** | Kneel (Two Legs) | static |
| **3** | Kneel (One Leg) | static | | **3** | Kneel (One Leg) | static |
| **4** | Hand Crawling | 0.4–1.5 m/s |
| **5** | Elbow Crawling | 0.7–1.5 m/s |
| **4** | Hand Crawling | 0.4–1.0 m/s |
| **5** | Elbow Crawling | 0.7–1.0 m/s |
<div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1em; margin: 1em 0;"> <div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1em; margin: 1em 0;">
<figure style="margin: 0;"> <figure style="margin: 0;">

2
docs/source/tutorials/vr_wholebody_teleop.md

@ -66,7 +66,7 @@ python gear_sonic/scripts/pico_manager_thread_server.py --manager \
# python gear_sonic/scripts/pico_manager_thread_server.py --manager # python gear_sonic/scripts/pico_manager_thread_server.py --manager
``` ```
When you turn on the visualization, wait for a window to pop up showing a Unitree G1 mesh with all joints at the default angles. If no window shows up, double-check the PICO's XRoboToolKit IP configuration in the [VR Teleop Setup](../getting_started/vr_teleop_setup.md). If no window shows up and the script says "Waiting for body tracking data" and you have trackers on, then recalibrate your pico trackers.
When you turn on the visualization, wait for a window to pop up showing a Unitree G1 mesh with all joints at the default angles. If no window shows up, double-check the PICO's XRoboToolKit IP configuration in the [VR Teleop Setup](../getting_started/vr_teleop_setup.md).
### Your First Teleop Session ### Your First Teleop Session

4
gear_sonic_deploy/src/g1/g1_deploy_onnx_ref/include/input_interface/keyboard_handler.hpp

@ -272,10 +272,10 @@ class SimpleKeyboard : public InputInterface {
planner_use_movement_speed = std::min(planner_use_movement_speed, 3.0); planner_use_movement_speed = std::min(planner_use_movement_speed, 3.0);
} else if (planner_use_movement_mode == LocomotionMode::CRAWLING) { } else if (planner_use_movement_mode == LocomotionMode::CRAWLING) {
planner_use_movement_speed = std::max(planner_use_movement_speed, 0.4); planner_use_movement_speed = std::max(planner_use_movement_speed, 0.4);
planner_use_movement_speed = std::min(planner_use_movement_speed, 1.5);
planner_use_movement_speed = std::min(planner_use_movement_speed, 1.0);
} else if (planner_use_movement_mode == LocomotionMode::ELBOW_CRAWLING) { } else if (planner_use_movement_mode == LocomotionMode::ELBOW_CRAWLING) {
planner_use_movement_speed = std::max(planner_use_movement_speed, 0.7); planner_use_movement_speed = std::max(planner_use_movement_speed, 0.7);
planner_use_movement_speed = std::min(planner_use_movement_speed, 1.5);
planner_use_movement_speed = std::min(planner_use_movement_speed, 1.0);
} else if (planner_use_movement_mode == LocomotionMode::WALK_BOXING || } else if (planner_use_movement_mode == LocomotionMode::WALK_BOXING ||
planner_use_movement_mode == LocomotionMode::LEFT_PUNCH || planner_use_movement_mode == LocomotionMode::LEFT_PUNCH ||
planner_use_movement_mode == LocomotionMode::RIGHT_PUNCH || planner_use_movement_mode == LocomotionMode::RIGHT_PUNCH ||

Loading…
Cancel
Save