All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Added
Changed
Fixed * Fixed clone_body bug when input links contains BASE_LINK * Fixed inverse_kinematics_helper to use target_quat when null_space is used
Deprecated
Removed
- get_body_collision_vertices does not support cloned body now. We don't have a good way to do catch-throw for this now.
- Cloning body from an already cloned body introduces unexpected result (visual or collision data erased etc).
Added * Added distance_threshold to pairwise_link_collision_info and pairwise_link_collision to allow collision checking given a penetration threshold * Added sweep_collision_fn to birrt to allow sweep collision check in edge expansion * Added coarse_waypoints to the smooth_path function to give options for use refined shortcut to ensure collision-free results. * LOGGER introduced to replace print * Added get_data_filename_and_height to include cached mesh filename and scale from get_model_info * Added CreateVisualArray and CreateCollisionArray for visual_shape_from_data and visual_shape_from_data. We use the new get_data_filename_and_height when file_name is UNKNOWN_FILE. * Added load_pybullet support for stl files by create_obj. * Added get_body_collision_vertices for getting body collision vertices in its current configuration.
Changed
* Apply HideOutput to pybullet IK error printouts in inverse_kinematics_helper
* motion_planners
module up-to-date with commit e6f23053e.
* Changed the mesh reading procedure in vertices_from_data from pp.read_obj to meshio.read. This fixes #9.
* smooth_path's max_iterations argument changed to max_smooth_iterations
* 'set_color' defaulted to set the color of all the links of body.
* vertices_from_data get filename and scale from cached INFO_FROM_BODY (through get_data_filename_and_height) if the data's filename does not end with .urdf
Fixed
* Fixed read_obj returns empty dict if obj file does not start with objects (o object_name
)
* Fixed get_extend_fn(q1,q2) to include q1 in its output path. This bug was causing incorrect planning result in birrt, because the two trees will have a gap in the middle that is unchecked.
* Fixed a minor mesh vertex scaling bug in vertices_from_data
* catch get_num_joints(body) == 0 when a rigid body without joint and link are passed to clone_body
* clear INFO_FROM_DATA when disconnect or reset_simulation
Added * Added current_conf to as the single-node ladder in the ladder graph Cartesian planning plan_cartesian_motion_lg
Changed * Changed Attachment.from_data to construct parent and child bodies from body name data * Changed EdgeBuilder from using upper_tm and joint_vel_limits to directly using jump_threshold
Changed
- Changed doc theme to sphinx-rtd-theme, doc hosted on readthedocs
- Changed motion_planners to keep updated with https://github.com/caelan/motion-planners
Added
- Added SE3 floating body motion planning
- Added ladder graph cartesian planner
Removed
- Removed requirments.txt, moved dependencies into setup.py
Fixed
- Fixed Windows OS "Display not in os.environ" issue in connect
Added
- diagnosis collision checking function to help visualizing the collision bodies' information
- add workspace_bodies to the get_collision_fn to check collisions with the obstacles specified in a URDF file.
- move ik_interface module from application side to this repo, since it's "universal" for fixed-end robot. Might need to add a separete one for robots with moving base later.
- enable travis ci unit test, collision_fn well tested
- get_floating_body_collision_fn to check a body without joints's collision. Associated test added.
- Added snap_sols to kinematics.ik_utils
Changed
- add extra_disabled_collisions parameter to get_collision_fn, plan_joint_motion
- Changed get_name to return name without index if name is not ''
Removed
- get_collision_diagnosis_fn removed, integrated into the get_collision_fn
Fixed
- utils.numeric_sample.randomize: random.shuffle cannot operate on a range in py 3.x. Enforced conversion to list to fix it.
- Fixed get_collision_fn to ignore checking between bodies both specified in attachment and obstacles (prioritize its role as attachment)
Deprecated
TODO
- add body name for bodies from create_obj
Requested features
- clone_body work for bodies from create_obj
Added
- Initial version
- Divide the original utils.py file into separate modules
- Modules cycle dependency resolved.