Releases
opensourceleg-v3.3.0
3.3.0 (2025-07-24)
Features
[Moteus Interface] Pi3Hat Update and Stop Feature to be Improved #258 (c3f32a9 )
ability to untrack multiple vars as a list. (5294194 )
add context manager option to profiler. Updates required docs and tests (a193f21 )
add doc for basic motion example (0c4da4c )
add docs and tutorial on softstart (3a8057c )
add docs for compiled controller (576701c )
add docs for compiled FSM controllers (1d47f63 )
add docs for fsm example walking controller python implementation (1f48651 )
add examples, tutorials, getting started docs (27c53ba )
add exception for broken load cell wire detected (21fbd7d )
add iterators and with context (0fd091c )
add methods to scale state machine (0e9fcaf )
add more logger docs (a99c33b )
add new banner (8803f4d )
add repography plots to README (7f602ae )
add sensor tutorial files (186a1e7 )
add signal generator framework (44a1035 )
add softstart tutorial (9c40cfd )
add tests and tutorials for generators module; modify data replay generator to support interpolation; allow kwargs within update calls; modify behavior of expression evaluator class to accept eval time variables (3eb287f )
add thread safety to logger (551a84e )
add time tutorials (51b2c57 )
added ability to pass multiple variables to the logger track_variable method (867d4f8 )
added docs for profiler (34c7015 )
added example docstrings to profiler.py (33a85ec )
added heirarchical structure for documentation (49792a6 )
added method for tracking attributes of object. (21e41de )
added more logger unit tests (838c96c )
added unit tests for logger methods. (5408818 )
docs for state machine (6fc6323 )
include encoder map calls to actuators (9646620 )
initial add of dephy loadcell amp via actpack (1cd56a5 )
initial commit of fsm basic tutorial (0bf0697 )
initial commit of profiling code. (b67e393 )
minor overhaul of srtl. Now includes default non original phase (841b314 )
more examples for actuators module (53340e2 )
move smbus from communication extra to native (6e0505b )
new fsm controller and a torque trajectory controller example (caeb3ec )
test fsm controller with hardware (446685b )
transition to uv for development (1860e77 )
updated docstrings in softrealtimeloop (a7ef25f )
updates to profiler unit tests. (927715d )
upgrade fsm to support general use cases (54b65b8 )
Bug Fixes
add authorship to logger (f2be55c )
add docs on softrealtimeloop for two operating modes (88d8e4b )
add gear ratio as a global var and add method to assign stream terminator (6c38e42 )
add knee trajectories to example script (82d3870 )
add methods to set update parameters separately (43bf78a )
add more info to add_transition and update methods' docstrings about transition precedence (1b76710 )
add tag and init to sensor base, add create_joint_mappings method to osl robot class (e4cd0da )
added profiler to init. (1cc76a2 )
bug in profiler t0 (4d39347 )
change type union to make tox happy (52504e8 )
clean up torque trajectory example (b36168a )
docs path fix and removed old fsm tests (dc36bd1 )
docs update (ba80c8e )
docs update and add del method to logger (2b3e16d )
docstring (e152658 )
file_name was set to empty string in set_file_name method (ecdbd77 )
fix #347 and update fsm example to include actuator tags (39a2dee )
fix #347 and update fsm example to include actuator tags (11d3f3c )
fixes #354 (74d0b2f )
handle scenario where actuator does not have a make_encoder_map func (1d2fc08 )
inherit from encoder base (3a07c5f )
line numbers in fsm example quotes (7f131cd )
lint and format updates. (3687884 )
load encoder map as polynomial object instead of raw coefficients (34bb3c1 )
make actuator deps optional in init (ddb0542 )
Microstrain IMU is only compatible with specific streaming frequencies #384 (01b2f44 )
minor changes to imu source. (093c05b )
minor doc update (419c985 )
modify tutorial scripts to follow a similar pattern across various control modes (42da482 )
move safety guidelines to getting started (d9be93e )
no more zero division error in time/srtl (abda2b9 )
patches for more unit tests (b605a28 )
prettier changed an indentation in readme (e6fc759 )
prettier doesn't modify docs' md file (8384d04 )
remove all references to knee, ankle, and impedance parameters (5ff0aa1 )
remove data and use args, kwargs--wild west approach (95c0325 )
remove duplicate LogLevel initialization and minor mypy errors (4d41ba9 )
remove excessive typecasting from loadcell (4ba1200 )
remove exit state; add warning before overwriting initial state; remove add_state and add_event methods (c1fe887 )
remove joint attributes from actuators (BREAKING CHANGE), remove redundant logic from homing routine (20bdb9c )
remove old tests (d3ac43d )
remove redundant methods and complexity within signal generator ABC (ae49c2d )
remove trailing whitespaces (4153f26 )
removed unit test for deprecated log method (ac127a1 )
removed unnecessary type directive. Fixed in other pull requests that check for the os on these lines (5b74fc6 )
rename encoder map function for clarity (71e4e8b )
rename set_zero to set_zero_position and use logger instead of print (1bbc70e )
renamed method in logger to track_function. More accurately represents what is happening. (5a9c03c )
replace self init with super, hardware test updates, and base class init fixes (99fb3c3 )
repr edits to actuator and encoder (c6ae4ee )
repr edits to actuator and encoder (09b815e )
required control modes for methods are not set via an internal mapping instead of @requires (91d1e6b )
Resolve mypy type errors (5cb1f39 )
resolve ruff and mypy errors (dd9c9d4 )
resolved issues with ne operator and _custom_data attribute (fb971f8 )
revert controllers to control (7b65813 )
revert directory rename (c0216a4 )
ruff (8500c23 )
ruff update. (c05f544 )
ruff whitespace (c8025af )
switch to command_motor_impedance for new Dephy API instead of command_motor_position (a72dc9b )
type annotations in loadcell (3b53a25 )
types in doc for compiled control (50688ca )
unit tests are now compatible with new logger setup (a0d80d7 )
unit tests for sensor classes (026bbb0 )
update contribution steps in readme. (71501fe )
update default port for imu example (e44bd29 )
update example line numbers (cd8ed40 )
update line numbers in docs quote (22226a3 )
update method signature now matches the entire library; fix #307 (8eed688 )
update softrealtime loop doc (bf2f433 )
update to demo loadcell func for i2c (c8ff5f9 )
update to docstrings in logger (3ee930f )
updated mkdocs (3301f19 )
use if conditions instead of asserts (c53e6a8 )
use soft realtime clock instead of while loops (38d216b )
wait for user input before starting to home the joint (233a6ab )
whitespace (d1d006e )
Documentation
add copy icon to code snippets, fix build and coverage badges (89bec4e )
add logger tutorial (c05b62a )
add permission denied troubleshooting note (cf55b4c )
added docstrings with examples (381b270 )
create .all-contributorsrc [skip ci] (31d341b )
finalize tutorials for time module (249abcd )
fix encoder tutorial (0eb49b9 )
fix imu tutorial (08b55d4 )
fix indentation (383fc35 )
fix installation direction (c3e5894 )
fix loadcell tutorial (5eab5de )
fix mkdocs errors (1b17151 )
fix ruff errors (ba36900 )
fixed pre-commit errors (7ff1fc9 )
fixed type: ignore error (9d0089c )
incomplete sensor tutorials (e9ac0bf )
minor fix to encoder tutorial (5d56968 )
minor modifications to actuator base guide, add class diagram (e490b88 )
modified docstrings to function with mkdocs (824d4ff )
remove examples, fix links in time tutorials, and add contributing guidelines (c0a4a69 )
remove old contributing section (72cefa9 )
removed old doc formatting (0a88760 )
update .all-contributorsrc [skip ci] (682da72 )
update .all-contributorsrc [skip ci] (6c6c238 )
update .all-contributorsrc [skip ci] (41cf5da )
update .all-contributorsrc [skip ci] (46f1de3 )
update .all-contributorsrc [skip ci] (124ec2c )
update .all-contributorsrc [skip ci] (5962fad )
update .all-contributorsrc [skip ci] (48edfba )
update .all-contributorsrc [skip ci] (1e32e77 )
update .all-contributorsrc [skip ci] (97e5151 )
update .all-contributorsrc [skip ci] (3fac0e4 )
update .all-contributorsrc [skip ci] (a29540f )
update .all-contributorsrc [skip ci] (b917841 )
update .all-contributorsrc [skip ci] (65fbf26 )
update .all-contributorsrc [skip ci] (d128ba9 )
update .all-contributorsrc [skip ci] (e502fa5 )
update .all-contributorsrc [skip ci] (35234aa )
update .all-contributorsrc [skip ci] (be90146 )
update .all-contributorsrc [skip ci] (774cee2 )
update README.md [skip ci] (7e928ee )
update README.md [skip ci] (09e7060 )
update README.md [skip ci] (61e1336 )
update README.md [skip ci] (4558a33 )
update README.md [skip ci] (a5dbc16 )
update README.md [skip ci] (4c754d6 )
update README.md [skip ci] (474c9f1 )
update README.md [skip ci] (d752ccb )
update README.md [skip ci] (82d9c43 )
update README.md [skip ci] (8fef120 )
update README.md [skip ci] (8d7ec65 )
update README.md [skip ci] (ce2043e )
update README.md [skip ci] (419ebef )
update README.md [skip ci] (cffbd57 )
update README.md [skip ci] (b76d3fa )
update README.md [skip ci] (63d3d5a )
update README.md [skip ci] (0068b02 )
update README.md [skip ci] (d666cf1 )
update README.md [skip ci] (cd41541 )
updated examples and navigation structure (52559ac )
You can’t perform that action at this time.