All notable changes to this project will be documented in this file.
- Add an example for recording joint angle data to the simulation documentation
- Add the JointRecorder process to record and plot joint trajectories
- Document joint acceleration limits in inverse kinematics
- Examples are now part of the documentation
- Updated VHIP stabilization example to match ICRA 2020 video
- Body:
pos
,rotation_matrix
andtransform
aliases - Body: compute the adjoint matrix in
body.adjoint_matrix
- Contact:
contact.normal
alias - Contact:
set_wrench()
function that switches a contact to managed mode - Contact:
wrench_at()
function to get wrench at a given point in the world frame - Contact:
wrench
,force
andmoment
attributes - Example: external force acting on the right hand of the humanoid
- Example: stabilization with height variations
- InvertedPendulum: draw center of pressure by
draw_point
- Manipulator:
wrench
,force
andmoment
attributes - Robot: stance binding creates a new
robot.wrench_distributor
process - Simulation: can now
unschedule()
a process - StanceWrenchDistributor class to distribute contact wrenches of a stance
- CameraRecorder:
wait_for()
does not requiresim
argument any more - InvertedPendulum: clamping is enabled/disabled by
self.clamp
- InvertedPendulum: clamping is now the default behavior for
set_cop
andset_lambda
- RobotWrenchDrawer became RobotDiscWrenchDrawer (discrete velocity differentiation)
- RobotWrenchDrawer now fetches results from stance wrench distributor
- License: switched to GPL as cddlib (and thus pypoman) is GPLv2
- Updated qpsolvers submodule to v1.0.7
- GUI: don't draw zero wrenches
- Video recording and conversion script
- Example: horizontal walking by linear model predictive control
- IK: can now take joint acceleration limits into account
- IK: upgraded with Levenberg-Marquardt damping
- IK: warm-start parameter to
solve()
- Point: new attribute
point.pdd
for the acceleration - Point: new function
point.integrate_constant_jerk()
- Robot model gets a
get_link()
function - Simulation gets
set_camera_transform()
function - SwingFoot type: a polynomial swing foot interpolator
- This change log
- ZMP support areas can now take optional contact pressure limits
- Contact:
copy()
now takes optionalhide
keyword argument - GUI: default point size is now 1 cm
- GUI: renamed
draw_polyhedron()
todraw_polytope()
- IK: task strings now print both weight and gain coefficients
- MPC: can now pass optional arguments to the QP solver in
solve()
- MPC: no need to call the
build()
function any more - Removed outdated Copra wrapper
- Stance: now bind end-effector links as well
- Stance: simplified prototype of
compute_zmp_support_area
- IK: singularity fix from Pfeiffer et al.
- Knee joint names in JVRC-1 model
- Python 3 compatibility
- Restore initial settings in IK solve()
- Initial release of the project. Let's take it from there.