Add Hope Jr (#935)
* Fix imports
* Add feetech write tests
* Nit
* Add autoclosing fixture
* Assert ping stub called
* Add CalibrationMode
* Add Motor in dxl robots
* Simplify split_int_bytes
* Rename read/write -> sync_read/write, refactor, add write
* Rename tests
* Refactor dxl tests by functionality
* Add dxl write test
* Refactor _is_comm_success
* Refactor feetech tests by functionality
* Add feetech write test
* Simplify _is_comm_success & _is_error
* Move mock_serial patch to dedicated file
* Remove test skips & fix docstrings
* Nit
* Add dxl operating modes
* Add is_connected in robots and teleops
* Update Koch
* Add feetech operating modes
* Caps dxl OperatingMode
* Update ensure_safe_goal_position
* Update so100
* Privatize methods & renames
* Fix dict
* Add _configure_motors & move ping methods
* Return models (str) with pings
* Implement feetech broadcast ping
* Add raw_values option
* Rename idx -> id_
* Improve errors
* Fix feetech ping tests
* Ensure motors exist at connection time
* Update tests
* Add test_motors_bus
* Move DriveMode & TorqueMode
* Update Koch imports
* Update so100 imports
* Fix visualize_motors_bus
* Fix imports
* Add calibration
* Rename idx -> id_
* Rename idx -> id_
* (WIP) _async_read
* Add new calibration method for robot refactor (#896)
Co-authored-by: Simon Alibert <simon.alibert@huggingface.co>
* Remove deprecated scripts
* Rename CalibrationMode -> MotorNormMode
* Fix calibration functions
* Remove todo
* Add scan_port utility
* Add calibration utilities
* Move encoding functions to encoding_utils
* Add test_encoding_utils
* Rename test
* Add more calibration utilities
* Format baudrate tables
* Implement SO-100 leader calibration
* Implement SO-100 follower calibration
* Implement Koch calibration
* Add test_scan_port (TODO)
* Fix calibration
* Hack feetech firmware bug
* Update tests
* Update Koch & SO-100
* Improve format
* Rename SO-100 classes
* Rename Koch classes
* Add calibration tests
* Remove old calibration tests
* Revert feetech hack and monkeypatch instead
* Simplify motors mocks
* Add is_calibrated test
* Update viperx & widowx
* Rename viperx & widowx
* Remove old calibration
* feat(teleop): thread-safe keyboard teleop implementation (#869)
Co-authored-by: Simon Alibert <75076266+aliberts@users.noreply.github.com>
* Add support for feetech scs series + various fixes
* Update dynamixel with motors bus & tables changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* (WIP) Add Hope Jr
* Rename arm -> hand
* (WIP) Add homonculus arm & glove
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add Feetech protocol version
* Implement read
* Use constants from sdks
* (nit) move write
* Fix broadcast ping type hint
* Add protocol 1 broadcast ping
* Refactor & add _serialize_data
* Add feetech sm8512bl
* Make feetech broadcast ping faster in protocol 1
* Cleanup
* Add support for feetech protocol 1 to _split_into_byte_chunks
* Fix unormalize
* Remove test_motors_bus fixtures
* Add more segmented tests (base motor bus & feetech), add feetech protocol 1 support
* Add more segmented tests (dynamixel)
* Refactor tests
* Add handshake, fix feetech _read_firmware_version
* Fix tests
* Motors config & disconnect fixes
* Add torque_disabled context
* Update branch & fix pre-commit errors
* Fix hand & glove readings
* Update feetech tables
* Move read/write_calibration implementations
* Add setup_motor
* Fix calibration msg display
* Fix setup_motor & add it to robots
* Fix _find_single_motor
* Remove deprecated configure_motor
* Remove deprecated dynamixel_calibration
* Remove names
* Remove deprecated import
* refactor/lekiwi robot (#863)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Simon Alibert <simon.alibert@huggingface.co>
Co-authored-by: Simon Alibert <75076266+aliberts@users.noreply.github.com>
* fix(teleoperators): use property is_connected (#1075)
* Remove deprecated manipulator
* Update robot features & naming
* Update teleop features & naming
* Add make_teleoperator_from_config
* Rename find_port
* Fix config parsing
* Remove app script
* Add setup_motors
* Add teleoperate
* Add record
* Add replay
* Fix test_datasets
* Add mock robot & teleop
* Add new test_control_robot
* Add test_record_and_resume
* Remove deprecated scripts & tests
* Add calibrate
* Add docstrings
* Fix tests (no-extras install)
* Add SO101
* Remove pynput from optional deps
* Rename example 7
* Remove unecessary id
* Add MotorsBus docstrings
* Rename arm -> bus
* Remove Moss arm
* Fix setup_motors & calibrate configs
* Fix test_calibrate
* Add copyrights
* Update hand & arm
* Update homonculus hand & arm
* Fix dxl _find_single_motor
* Update glove
* Add setup_motors for lekiwi
* Fix glove calibration
* Complete docstring
* Add check for same min and max during calibration
* Move MockMotorsBus
* Add so100_follower tests
* (WIP) add calibration gui
* Fix test
* Add setup_motors
* Update calibration gui
* Remove old .cache folder
* Replace deprecated abc.abstractproperty
* Fix feetech protocol 1 configure
* Cleanup gui & add copyrights
* Anatomically precise joint names
* (WIP) Add glove to hand joints translation
* Move make_robot_config
* Add drive_mode & norm_mode in glove calibration
* Fix joints translation
* Fix normalization drive_mode
* nit
* Fix glove to hand conversion
* Adapt feetech calibration
* Remove pygame prompt
* Implement arm calibration (hacks)
* Better MotorsBus error messages
* Update feetech read_calibration
* Fix feetech test_is_calibrated
* Cleanup glove
* (WIP) Update arm
* Add changes from #1117
* refactor(cameras): cameras implementations + tests improvements (#1108)
Co-authored-by: Simon Alibert <simon.alibert@huggingface.co>
Co-authored-by: Simon Alibert <75076266+aliberts@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Fix arm joints order
* Add timeout/event logic
* Fix arm & glove
* Fix predict_action from record
* fix(cameras): update docstring + handle sn when starts with 0 + update timeouts to more reasonable value (#1154)
* fix(scripts): parser instead of draccus in record + add __get_path_fields__() to RecordConfig (#1155)
* Left/Right sides + other fixes
* Arm fixes and add config
* More hacks
* Add control scripts
* Fix merge errors
* push changes to calibration, teleop and docs
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Move readme to docs
* update readme
Signed-off-by: Martino Russi <77496684+nepyope@users.noreply.github.com>
* Add files via upload
Signed-off-by: Martino Russi <77496684+nepyope@users.noreply.github.com>
* Update image sources
* Symlink doc
* Compress image
* Move image
* Update docs link
* fix docs
* simplify teleop scripts
* fix variable names
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Address code review
* add EMA to glove
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate teleoperation for hand
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update docs
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* import hopejr/homunculus in teleoperate
* update docs for teleoperate, record, replay, train and inference
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(hopejr): address comments
* chore(hopejr): address coments 2
* chore(docs): update teleoperation instructions for the hand/glove
* fix(hopejr): calibration int + update docs
---------
Signed-off-by: Martino Russi <77496684+nepyope@users.noreply.github.com>
Signed-off-by: Simon Alibert <75076266+aliberts@users.noreply.github.com>
Co-authored-by: Pepijn <138571049+pkooij@users.noreply.github.com>
Co-authored-by: Steven Palma <imstevenpmwork@ieee.org>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: nepyope <nopyeps@gmail.com>
Co-authored-by: Martino Russi <77496684+nepyope@users.noreply.github.com>
Co-authored-by: Steven Palma <steven.palma@huggingface.co>