Tags: o-Oscar/jiminy
Tags
[gym/toolbox] Add dedicated gym toolbox for rllib (duburcqa#350) * [python/viewer] Refactor panda3d backend screen refresh to avoid edge cases. Refactor Qt widget to factorize code. * [python/simulator] Replay extra logs/trajectories with current simulation. * [gym/toolbox/rllib] Add dedicated rllib toolbox. Add PPO CAPS implementation. * [gym/toolbox/rllib] Do not provide default log dir since it is error prone Co-authored-by: Alexis Duburcq <alexis.duburcq@wandercraft.eu>
[gym/toolbox] Add dedicated gym toolbox for rllib (duburcqa#350) * [python/viewer] Refactor panda3d backend screen refresh to avoid edge cases. Refactor Qt widget to factorize code. * [python/simulator] Replay extra logs/trajectories with current simulation. * [gym/toolbox/rllib] Add dedicated rllib toolbox. Add PPO CAPS implementation. * [gym/toolbox/rllib] Do not provide default log dir since it is error prone Co-authored-by: Alexis Duburcq <alexis.duburcq@wandercraft.eu>
[gym/common/envs] Enhanced interactive mode. (duburcqa#348) * [python/robot] Fix external forces not properly shared with viewer. * [python/viewer] Display freeflyer external forces by default. * [python/viewer] Add getter for camera pose. * [python/viewer] Mix busy loop and timer sleep in precise sleep to release the GIL. * [python/viewer] Add option to not lock camera pose when travelling is enabled using Panda3d. * [python/viewer] Fix interactive loop CPU throttle by adding short sleep in deamon reading stdin. * [python/viewer] Improve viewer refresh efficientcy by only forcing display update whenever necessary. * [python/viewer] Add support of frame index to define relative lookup and camera pose. * [python/viewer] Add repeat capability to 'jiminy_replay' entrypoint. * [gym/common/envs] More versatile interactive loop helper. * [gym/common/envs] Add support of gym.wrappers to 'play_interactive'. Fix simulation not stopped after playing ends. * [gym/common/envs] Add 'pause' key by default to play interactive mode. * [gym/examples/rllib] Provide helper to wrap policy as callable[[observation, reward], action]. Co-authored-by: Alexis Duburcq <alexis.duburcq@wandercraft.eu>
[misc] Jiminy release 1.6.18 (duburcqa#345) * [core] Provide robust initial guess to 'impulse' contact solver. * [python] Various minor improvements. * [python/viewer] Fix clicking on node for panda3d Qt widget. * [python/viewer] Fix seldom lock issues when displaying many robots simultaneously. * [gym/common] 'sample' now supports providing both 'shape' and vector 'low'/'high'/'mean'/'scale' if broadcastable. * [gym/examples/rllib] More robust obs flattening. * [gym/examples/rllib] Do not replay if recording is disable during training. * [gym/examples/rllib] Add option to use custom logger. Interrupt learning gracefully in case of ray task exception. * [gym/examples/rllib] Add option to save checkpoint every given number of training iterations. * [gym/examples/rllib] Start ray backend in local mode in debug. * [misc] Fix easy-install script. Co-authored-by: Alexis Duburcq <alexis.duburcq@wandercraft.eu>
[core] 'EngineMultiRobot.Start' no longer reset the engine automatica… …lly. (duburcqa#342) * [core] 'EngineMultiRobot.Start' no longer reset the engine automatically. * [core] Biases for random model generation are now relative instead of absolute. * [core] Fix computation of center of mass positions and velocities. * [python/viewer] Fix log replay without velocity and external forces data available. * [python/viewer] Log replay now support overwriting mesh package dir. * [gym/example] Add option to specify log subdirectory name interactively. * [misc] Fix CI numpy version issues. Co-authored-by: Alexis Duburcq <alexis.duburcq@wandercraft.eu>
[python/viewer] Add options to display Capture Point and external for… …ces. (duburcqa#341) * [core] Compute velocity of the center of mass of each subtree systematically. * [core] Fix internal update period computation when defined control and sensor update period of the engine without robot. * [core] Add option to register external forces to the telemetry. * [python/robot] Add fallback if 'dynamics' fields 'damping'/'friction' are partially defined in URDF file. * [python/processing] Add efficient convex hull tools. Improve efficiency and versatility of 'interpolate_zoh'. * [python/log] Extract external forces from log if recorded. * [python/viewer] Add option to display DCM in viewer. * [python/viewer] Fix default display marker value if backend is not Panda3d. * [python/viewer] Add option to display external linear forces at joint level in viewer. Improve efficiency of markers update. * [python/viewer] 'jiminy_replay' entrypoint can now be used to record video. * [gym/examples] Improve RLlib utilities to be more flexible. * [gym/examples] Fix logging performance issues of RLlib. * [gym/examples] Improve documentation of RLlib tools. * [gym/examples] Add monitoring of actually episode duration. Co-authored-by: Alexis Duburcq <alexis.duburcq@wandercraft.eu>
[python/viewer] Add support of CoM and contact forces display. (dubur… …cqa#340) * [core] Add public setter 'AbstractSensorBase.set' for sensor data. * [core] Make sensor setter 'AbstractSensorBase.setAll' private. * [core/python] 'result_converter' now supports Eigen::Ref. * [core/python] Expose setter of 'AbstractSensorBase.data'. * [python/viewer] Fix error when using exotic matplotlib backends. * [python/viewer] Fix 'Viewer.add_marker' and 'Panda3dApp.move_node' node placement. * [python/viewer] Fix 'append_group' when 'remove_if_exits=False'. * [python/viewer] Do not add legend if replay of the single log. * [python/viewer] Hide node if scale is too small. * [python/viewer] Add option to place cylinder anchor at bottom in Panda3d. * [python/viewer] Add option to always display node at foreground in Panda3d, and use it for markers. * [python/viewer] Add method to show/hide a single node in Panda3d. * [python/viewer] Custom 'update_hook' can be provided to 'display' and 'replay' methods. * [python/viewer] 'add_marker' now supports passing callables. * [python/viewer] Make objects clickable in Panda3d. * [python/viewer] Add helper to emulate sensor update from log, and use it in 'play_log_data' method. * [python/viewer] Add top-level options to enable/disable display of com/contacts. Co-authored-by: Alexis Duburcq <alexis.duburcq@wandercraft.eu>
[python] Add CLI to replay log files. (duburcqa#334) * [core/python] Fix 'buildGeomFromUrdf' module interoperability. * [python/simulator] 'simulate' now supports writing log in any available format. * [python/log] Add generic utility to reconstruct robot from log. * [python/viewer] Fix default legend when replaying multiple trajectories at once. * [python/viewer] Add method to replay log file, only requiring the original meshes to be available. * [python/viewer] Add 'jiminy_replay' CLI entrypoint to replay Jiminy log files. * [python/viewer] Add option to not remove widgets after replaying trajectories. * [python/viewer] Reorder default colors cycle. * [python/viewer] Switch device notifications from 'error' to 'fatal' for Panda3d. * [python/viewer] Fix colors of Panda3d legend. * [python/viewer] Fix legend in panda3d when using identical labels. * [misc] Remove dual ABI support for Python bindings since it is unstable and may cause segfault. * [misc] Provide cmake config version file in wheel. Co-authored-by: Alexis Duburcq <alexis.duburcq@wandercraft.eu>
[core/python] Custom return policy to avoid conflits with external mo… …dules. (duburcqa#332) * [core] Fix bug at Robot initialization when defining default flexible joints in the model. * [core/python] Fix wrong keyword arguments for 'EngineMultiRobot.reset' method. * [core/python] Add new Boost.Python return policy that can be used to by-pass converter registry if 'convertToPython' has been specified. * [python] Add some missing typing return types. Co-authored-by: Alexis Duburcq <alexis.duburcq@wandercraft.eu>
[core] Improve code quality. * [core] Allow arbitrary larger controller update period. * [core] Fix deprecation and unused variable warnings. * [core] Improve error reporting by printing fully qualified function name without arguments. * [core] Remove irrelevant virtual keywords. * [core] Use randomPermutationPeriod=0 to disable random permutation of 'PGSSolver' iterative solver, instead of 'isfinite', which is ill-defined for integers. * [core] Do NOT shuffle first iteration cycle of 'PGSolver', and initialize indices in reverse order to make convergence (hopefully) faster. * [core] Enable implicit conversion warnings. * [core] More consistent coding style. * [core] Avoid static_cast if possible and use safer conversion if possible. * [core] Remove all C-style cast and enable warning to disallow them. * [core] Replace (u)int32_t by std::size_t/ptrdiff_t when appropriate for clarity and portability. * [core] Fix visco-elastic coupling forces. * [core] Remove all dependencies to jsoncpp in core headers. * [core/python] Add fallback to completary unsigned/signed type for integers for 'convertFromPython'. * [gym/common/envs] Refresh action space before observation space since action could be part of observation but not conversely. * [gym/common/wrappers] Relax argument type of 'FilteredFrameStack' for convenience. * [gym/common/wrappers] Rename 'FilterFrameStack' in 'FilteredFrameStack' for clarity. * [gym/examples] Automatically monitor env step 'info' on Tensorboard's histograms when using RLlib backend. * [gym/examples] Only log data in Tensorboard format when RLlib is used, to dramatically reduce log folder size. * [misc] Minor update of easy install dependencies. * [misc] RLlib 'evaluate' helper method now returns agregated info over episode. * [misc] Relax Ubuntu version check for easy install script since it should work on any release in practice. * [misc] Do NOT install robotpkg-urdfdom binaries since 'liburdom-dev' is already installed by other easy-install dependencies. * [misc] More robust Python library finding in provided CMake configuration file. * [misc] Check compatibility with required jiminy version if any in provided CMake configuration file. * [misc] Detect Numpy headers in provided CMake configuration file. * [misc] Add missing boost definitions in CMake configuration file.
PreviousNext