Martino Russi
885ef91892
fix(unitree_g1): correct SDK detection and update installation docs ( #3115 )
...
* update docs
* update toml / docs
* update docs
* fix joystick
* Update pyproject.toml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: Martino Russi <77496684+nepyope@users.noreply.github.com >
* update toml and docs
* update docs
* clarify robot
* update docs
* update docs
* update pinocchio deps
* final touches
* Update docs/source/unitree_g1.mdx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: Martino Russi <77496684+nepyope@users.noreply.github.com >
* move envhub dependencies to docs
* point to unitree_sdk docs
* upper bound on onnx
* chore(docs): small details unitree docs
* chore(deps): add version pin and unitree_sdk hint
---------
Signed-off-by: Martino Russi <77496684+nepyope@users.noreply.github.com >
Co-authored-by: Steven Palma <steven.palma@huggingface.co >
2026-03-09 18:47:12 +01:00
Martino Russi
4f2ef024d8
feat(robots): Unitree G1 WBC implementation ( #2876 )
...
* move locomotion from examples to robot, move controller to teleoperator class
* modify teleoperate to send back actions to robot
* whole body controller
* add holosoma to locomotros
* various updates
* update joint zeroing etc
* ensure safefail with locomotion
* add unitree locomotion
* launch camera from g1 server
* publish at varying framerates
* fix async read in camera
* attempting to fix camera lag
* test camera speedup
* training
* inference works
* remove logging from pi0
* remove logging
* push local changes
* testing
* final changes
* revert control_utils
* revert utils
* revert
* revert g1
* revert again:
* revert utils
* push recents
* remove examples
* remove junk
* remove mjlog
* revergt edit_dataset
* Update lerobot_edit_dataset.py
Signed-off-by: Martino Russi <77496684+nepyope@users.noreply.github.com >
* undo teleop changes
* revert logging
* remove loggings
* remove loogs
* revert dataset tools
* Update dataset_tools.py
Signed-off-by: Martino Russi <77496684+nepyope@users.noreply.github.com >
* move gravity to utils
* revert changes
* remove matplotlib viewer (rerun works fine)
* factory revert
* send policy action directly
* recent changes
* implement flexible action space
* send empty command if arms are missing
* rename locomotion to controller
* add init
* implement feedback
* add feedback for teleoperator
* fix ruff
* fix ruff
* use read_latest
* fix zmq camera
* revert exo_serial
* simplify PR
* revert exo_changes
* revert camera_zmq
* Update camera_zmq.py
Signed-off-by: Martino Russi <77496684+nepyope@users.noreply.github.com >
* remove frame duplication from zmq server
* revert channerfactoryinitialize
* keep channelfactoryinitialize
* remove zeroing out logic
* fix typo
* refactor teleop class
* simplify teleop further
* import armindex at the top
* fix visualizer again
* revert ik helper
* push stuff
* simplify image_server
* update image_server
* asd
* add threading logic
* simplify ik helper stuff
* simplify holosoma
* fix names
* fix docs
* revert leg override
* clean connect
* fix controller
* fix ruff
* clean teleoperator
* set_from_wireless
* avoid double initializations
* refactor robot class
* fix pre-commit
* update docs
* update docs format
* add teleop instructions
* unitree_g1 specific exception in record/teleoperate
* add thumbnail to docs
* add thumbnail to doc
* refactor(unitree): multiple improvements (#3103 )
* refactor(unitree): multiple improvements
* test(unitree): added tests + improved installation instructions
* refactor(robots): minor changes unitree robot kinematic
* chore(robots): rename g1 kinematics file
---------
Signed-off-by: Martino Russi <77496684+nepyope@users.noreply.github.com >
Signed-off-by: Steven Palma <imstevenpmwork@ieee.org >
Co-authored-by: Steven Palma <imstevenpmwork@ieee.org >
Co-authored-by: Steven Palma <steven.palma@huggingface.co >
2026-03-08 11:33:24 +01:00
Steven Palma
e489ba24fc
feat(dependencies): require Python 3.12+ as minimum version ( #3023 )
...
* feat(dependecies): upgrade to python3.12
* fix(test): processor regex message
* fix(test): processor regex message
* fix(dependecies): resolve all tags in python 3.12
* fix(dependecies): add more hints to faster resolve
* chore(dependecies): remove cli tag huggingface-hub dep
* refactor(policy): update eagle for python3.12
* chore(docs): update policy creation for python 3.12
* chore(test): skip failing tests in macos
2026-03-06 10:15:13 +01:00
Steven Palma
e96339a3b4
feat(dataset): add streaming video encoding + HW encoder support ( #2974 )
...
* feat(dataset): init stream encoding
* feat(dataset): use threads to fix frame pickle latency
* refactor(dataset): remove HW encoded related changes
* add lp (#2977 )
* feat(dataset): add Hw encoding + log drop frames (#2978 )
* chore(docs): add streaming video encoding guide
* fix(dataset): style docs + testing
* chore(docs): simplify sttreaming video encoding guide
* chore(dataset): add commands + streaming encoding default false + print note if false + queue default is now 30
* chore(docs): add verification note advice
* chore(dataset): adjusting defaults & docs for streaming encoding
* docs(scripts): improve docstrings
* test(dataset): polish streaming encoding tests
* chore(dataset): move FYI log related to streaming
* chore(dataset): add arg vcodec to suggestions
* refactor(dataset): better handling for auto and available vcodec
* chore(dataset): change log level
* docs(dataset): add note related to training performance vcodec
* docs(dataset): add more notes to streaming encoding
---------
Co-authored-by: Caroline Pascal <caroline8.pascal@gmail.com >
Co-authored-by: Pepijn <pepijn@huggingface.co >
2026-02-23 13:57:43 +01:00
Steven Palma
5f15232271
chore: remove usernames + use entrypoints in docs, comments & sample commands ( #2988 )
2026-02-18 22:46:12 +01:00
Martino Russi
149628dfd5
add g1 teleoperation ( #2791 )
...
* add gravity compensation
* add g1 teleoperation
---------
Co-authored-by: Michel Aractingi <michel.aractingi@huggingface.co >
2026-01-28 15:17:38 +01:00
Martino Russi
6b8d4c75a6
Feat/g1 improvements record sim ( #2765 )
...
This PR extends the integration of Unitree g1 with the LeRobot codebase. By converting robot state to a flat dict we can now record and replay episodes (example groot/holosoma scripts need to be adjusted as well). We also improve the simulation integration by calling .step @ _subscribe_motor_state instead of it running in a separate thread. We also add ZMQ camera to lerobot, streaming base64 images over json
2026-01-12 17:31:39 +01:00
Martino Russi
7e9d05a799
add holosoma locomotion ( #2669 )
...
Add holosoma locomotion from Amazon-FAR
Add reset method to unitree_g1
Format actions as dict
Update docs
2026-01-07 16:05:31 +01:00
Martino Russi
a6c3a0fa09
Feat/add mj env ( #2613 )
...
* add sim support
* close fix threading issues
2025-12-15 16:22:27 +01:00
Martino Russi
37f43df88a
Feat/add unitree g1 robot ( #2530 )
...
* add unitree_g1_robot_class
* finish locomotion loading code
* precommit
* separate groot locomotion logic
* remove leftover locomotion variable, unify kp kd
* format config
* properly comment config, example locomotion and unitree_g1 class
* ready to review
* download policy from the hub in `examples/unitree_g1/gr00t_locomotion`
* fix linter
* make precommit happy, add ignore flags
* linter pt3
* linter pt4
* [done] make precommit happy
* fix linter 5
* add docs
* push utils
* feat(robots): add Unitree G1 humanoid support with ZMQ bridge (#2539 )
* feat(robots): add Unitree G1 humanoid support with ZMQ bridge
- Use JSON + base64 serialization for secure communication instead of pickle
- Add documentation section
- Rename robot_server to run_g1_server
- Add dependecies to pyproject.toml
* nit in docs
* remove globals use
* cast robot data to int/float
* ensure robot is connected before changing mode
* temperature can be list, average in such case
---------
Co-authored-by: Martino Russi <nopyeps@gmail.com >
* style nit
* remove transform_imu_data
* remove scipy dependency
* modify toml, add external unitree_sdk2py dep
* return actions from send_action
* cleaning
* add instructions for local deployment
* Update src/lerobot/robots/unitree_g1/unitree_g1.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: Martino Russi <77496684+nepyope@users.noreply.github.com >
* update config and readme
* update docs
* update docs
* remove torch import
* fix docs
* remove ip from docs
* add licence header
---------
Signed-off-by: Martino Russi <77496684+nepyope@users.noreply.github.com >
Co-authored-by: Michel Aractingi <michel.aractingi@huggingface.co >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-01 16:10:13 +01:00