Releases: open-planning/roboplan
Release list
0.5.1
Highlights
Pinocchio 4.1.0 released, so this release primarily serves to build against it and fix version pinning for the PyPi release.
Also contains a few small bug fixes for Simple IK and package.xml files for ROS packaging.
What's Changed
- Fix version ranges for building wheels since Pinocchio 4.1.0 released by @sea-bass in #262
- Remove 'toppra' dependency conditions in package.xml by @sea-bass in #263
- Fix SimpleIk return logic on timeout by @sea-bass in #261
- Make nanobind-dev and python3-dev build dependencies in package.xml by @sea-bass in #264
- 0.5.1 by @sea-bass in #266
Full Changelog: 0.5.0...0.5.1
0.5.0
Highlights
- Infrastructure: RoboPlan is now available on PyPi, Pixi dev workflow supported on macOS.
- Core library:
- Significantly sped up collision checking with Pinocchio's broadphase manager, which in turn sped up RRT, path shortcutting, and collision-aware inverse kinematics.
- Added base frame support for forward kinematics and Jacobian calculations, thereby supporting inverse kinematics in non-world frames.
- Motion planning: New Cartesian planner implementation, added RRT* and time budget usage options.
cartesian-rounded-ur5.webm
cartesian-dual.webm
rrt-dual-speedup.webm
What's Changed
- Scene parsing and joint configuration clamping improvements by @sea-bass in #228
- Add Reachback mobile manipulator model by @stephanie-eng in #227
- Minor improvements to SimpleIK and forward kinematics by @eholum in #231
- Fix the example IK python script by @eholum in #233
- Speed up collision checking and RRT by @sea-bass in #232
- Speed up path shortcutting by @sea-bass in #236
- support accel + jerk limits in urdf>=1.2 by @muslim-adedamola in #235
- Update to Pixi v7 lock format by @sea-bass in #237
- Allow overriding joint position limits in YAML config by @sea-bass in #242
- Add documentation for sampling-based planning and path shortcutting by @sea-bass in #241
- add base frame support to Jacobian by @muslim-adedamola in #238
- Add RRT* and fast-return mode by @sea-bass in #246
- Fix Pixi package tasks and ASan stub generation by @mini-1235 in #251
- Fix RRT connect tree joining for RRT* by @eholum in #252
- Store list of link names in group info by @sea-bass in #253
- Add clang-tidy by @sjahr in #182
- Add broadphase culling to collision checking and self-collision barrier by @sea-bass in #254
- Make
ConfigurationTaskruntime tunable and addAccelerationLimitby @sea-bass in #250 - Cartesian path planner by @sea-bass in #240
- Add pixi Support for osx-arm64 and missing docs pages by @eholum in #248
- Add unit tests for roboplan_simple_ik package by @sea-bass in #257
- adding cmeel based pip installation by @TomCC7 in #247
- Enable modernize and performance clang-tidy checks by @sjahr in #258
- Fix OInK instability with failures to converge by @sea-bass in #256
- 0.5.0 by @sea-bass in #260
New Contributors
- @stephanie-eng made their first contribution in #227
- @mini-1235 made their first contribution in #251
- @TomCC7 made their first contribution in #247
Full Changelog: 0.4.0...0.5.0
0.4.0
Highlights
- Core library: Modular (per-package) Python bindings, initial support for Pinocchio 4.0.0, support planar joints for mobile manipulators.
- Optimal Inverse Kinematics (OInK): Task priorities and nullspace projection, self-collision barrier.
- Examples: New Hello Robot Stretch 4 model, new examples for action chunk tracking and keyboard teleop.
RoboPlan is fully available in conda-forge and ready to release on the ROS build farm for the Jazzy and Kilted distributions. Support for Lyrical and Rolling will happen in subsequent releases pending the resolution of a minor osqp issue on Ubuntu 26.04.
roboplan-0.4.0-oink-collision.webm
roboplan-0.4.0-stretch-rrt.webm
roboplan-0.4.0-action-chunk.webm
What's Changed
- Add SE3 low-pass filter C++ library and Python bindings by @crisiumnih in #180
- Update Python API docs by @sea-bass in #183
- Use parallel builds in vanilla CMake script by @sea-bass in #185
- Fix bugs in collision object scene operations by @sea-bass in #193
- Add OInK action chunk tracking example by @muslim-adedamola in #196
- Add contributor guide by @sea-bass in #198
- Add CartesianTrajectory type by @muslim-adedamola in #203
- Support cylinder and mesh scene collision objects by @sea-bass in #197
- Support dual end effectors in action chunk example by @muslim-adedamola in #204
- Support Pinocchio 4.0 by @sea-bass in #205
- Lazy import plyfile to not require it in all examples by @sea-bass in #194
- Add Stretch4 model by @olaghattas in #208
- Pin viser to below 1.0.25 by @sea-bass in #211
- Support planar joints by @olaghattas in #209
- Use native mimic joint functionality in Pinocchio by @olaghattas in #214
- Fix TOPPRA issues when using planar joints by @sea-bass in #216
- Keyboard teleoperation example by @muslim-adedamola in #213
- Upgrade Pinocchio to 4.0.0 in Ubuntu docker by @sea-bass in #218
- Add toppra and nanobind-dev rosdep keys by @sea-bass in #219
- Support priorities and nullspace projection in OInK tasks by @sea-bass in #206
- Pin viser to 1.0.29 or newer by @sea-bass in #222
- OInK self-collision barrier by @sea-bass in #207
- Modularize Python bindings by @sea-bass in #221
- Add missing gtest and gmock deps in package.xmls by @sea-bass in #223
- Add Ubuntu 26.04 and ROS 2 Lyrical to CI by @sea-bass in #215
- Fix failing OInK test due to dimension mismatch by @sea-bass in #225
- 0.4.0 by @sea-bass in #226
New Contributors
- @crisiumnih made their first contribution in #180
- @muslim-adedamola made their first contribution in #196
Full Changelog: 0.3.0...0.4.0
0.3.0
Highlights
- Core library: Octree support (thanks to @CihatAltiparmak), upgrade to Pinocchio 3.9.0 and official Viser visualizer.
- Optimal Inverse Kinematics (OInK): Position barrier functions (thanks to @sjahr), interface cleanups, support joint groups and continuous joints.
- Sampling-based planning: Adaptive TOPP-RA algorithm for faster trajectories, optimized RRT visualization in examples.
We are close to getting this library up on the ROS build farm! We've taken up maintenance of the toppra repository and got that pretty much ready. For RoboPlan itself, there is one straggling issue with nanobind we are working out.
oink_dual_position_barrier.webm
rrt_octree.webm
What's Changed
- Rename GSoC docs page to Project Ideas by @sea-bass in #140
- Fix stub install folder by @sea-bass in #144
- Fix roboplan_oink OSQP dependency resolution by @wengmister in #141
- Simplify oink frame task and use model joint limits for velocity constraints by @sea-bass in #143
- Ensure oink tests run in all workflows by @sea-bass in #145
- Update Docs : Add roboplan_oink to C++ and Python API reference by @kumar-sanjeeev in #155
- Fix position limits oink constraint for models with continuous joints by @sea-bass in #147
- Validate subgroup parsing order issues in SRDF by @sea-bass in #157
- return true only when a valid solution found by @Mattolo4 in #160
- Add scene methods to get joint limit vectors by @sea-bass in #162
- CI check for bindings stub files by @sea-bass in #161
- Add viser buttons to RRT example by @sea-bass in #163
- Add bisection option when checking collisions along path and optimize RRT visualization by @sea-bass in #164
- Add spline fitting options to TOPP-RA by @sea-bass in #165
- Switch to official TOPP-RA upstream by @sea-bass in #167
- Adaptive TOPP-RA trajectory generation by @sea-bass in #166
- Pixi: Add nodeenv to pypi dependencies, libtoppra on all platforms by @sea-bass in #170
- Add console_bridge to cmake by @rafaelrojasmiliani in #172
- [oink] Control Barrier Functions by @sjahr in #122
- Get toppra from binaries or FetchContent by @sea-bass in #174
- Switch to OSQP v0.6.3 for OInK by @sea-bass in #176
- Upgrade to Pinocchio 3.9 by @sea-bass in #97
- Add octree support by @CihatAltiparmak in #139
- Incorporate scene and joint groups into OInK by @sea-bass in #177
- 0.3.0 by @sea-bass in #178
New Contributors
- @wengmister made their first contribution in #141
- @Mattolo4 made their first contribution in #160
- @rafaelrojasmiliani made their first contribution in #172
- @CihatAltiparmak made their first contribution in #139
Full Changelog: 0.2.0...0.3.0
0.2.0
Highlights
- New
roboplan_oinkpackage with an experimental Optimal Inverse Kinematics (OInK) solver -- thanks to @sjahr! - Support for multiple frames in simple inverse kinematics solver.
- Improvements to build and packaging for ROS and conda workflows, enabling conda support for linux and macOS in x86_64 and arm64 architectures.
dual_arm_ik.webm
What's Changed
- Add GSoC 2026 project ideas by @sea-bass in #116
- [pixi] Rely on conda-forge versions of xacro and libtoppra by @sea-bass in #117
- Document conda workflow in getting started docs by @sea-bass in #118
- Optimal differential IK solver by @sjahr in #110
- Aggregated Init SimpleIkOptions and RRTOptions constructor bindings by @sjahr in #120
- Increase CI timeouts by @sea-bass in #121
- Remove lambdas from oink python bindings and use Eigen::Ref by @sjahr in #119
- Fix usage of tinyxml2 and tl_expected dependencies by @sea-bass in #124
- Update .pyi files after oink addition by @sea-bass in #127
- Support multiple tip frames in simple IK by @sea-bass in #125
- Separates 6D IK error tolerance into linear (meters) and angular (radians) components by @kumar-sanjeeev in #128
- Simplify FrameTask interface and allow modifying target transforms at runtime by @sea-bass in #131
- Upgrade viser in pixi setup by @sea-bass in #134
- Expose oink solver regularization as argument by @sjahr in #136
- Fix oink bindings by @sjahr in #137
- Add cmake option to generate Python stubs by @sea-bass in #133
- Use nanobind from pip install for ament workflows by @eholum in #138
- 0.2.0 by @sea-bass in #135
New Contributors
- @kumar-sanjeeev made their first contribution in #128
Full Changelog: 0.1.0...0.2.0
0.1.0
This is the initial release of RoboPlan.
Still experimental until a 1.0.0 is released, but it's about to go up on conda-forge.
Full Changelog: https://github.com/open-planning/roboplan/commits/0.1.0