Changelog
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.
0.21.1
Added
Changed
Changed default wire visibility to hidden in some GH components for cleaner Grasshopper files.
Fixed
Deprecated
Removed
0.21.0
Added
Added a new backend: analytical kinematics for spherical-wrist and offset-wrist robots.
Fixed
Consider
AttachedCollisionMeshinAnalyticalInverseKinematics.
0.20.1
Removed
Removed the bundled binary files for the VrepClient remote API. To use V-REP, use the remoteApi binaries provided with the software.
0.20.0
Added
Added
PoseArray,MultiArrayDimension,MultiArrayLayout,Int8MultiArray,Float32MultiArray,Int32tocompas_fab.backends.ros.messagesAdded
unordered_disabled_collisionsattribute toPyBulletClientandRobotSemanticsAdded better support for concave meshes in the
PyBulletClientAdded
Robot.iter_inverse_kinematicsto allow iterating over all IK solutions provided by a solver
Changed
Changed the backend feature
InverseKinematics.inverse_kinematicsto be a generator. As a consequence of this,ClientInterface.inverse_kinematicsandPlannerInterface.inverse_kinematicshave changed to generators as wellStandardized the yielded type of
InverseKinematics.inverse_kinematicsacross the PyBullet, MoveIt and V-REP plannersAdded iterative accurate IK resolution for PyBullet
Fixed
Fixed
UnsupportedOperationerror when usingPyBulletClientin Jupyter notebook (raised byredirect_stdout)Fixed
JointTrajectoryPoint.from_datato be backward-compatible with JSON data generated beforecompas_fab0.18Fixed
JointTrajectory.from_datato be backward-compatible with JSON data generated beforecompas_fab0.17
Deprecated
Removed
0.19.1
Added
Changed
Fixed
Fixed bundling of ghuser components
Deprecated
Removed
0.19.0
Added
Added documentation for Grasshopper components.
Added Grasshopper components to publish and subscribe to ROS topics.
Changed
Updated
build-ghuser-componentstaskUpdated to COMPAS 1.7
Fixed
Deprecated
Removed
0.18.3
Added
Changed
Made consistent use of
reprin nested objects
Fixed
Fixed bug in
compas.backends.PyBulletClient.convert_mesh_to_bodycircumventing PyBullet’s propensity to cache
Deprecated
Removed
0.18.2
Added
Changed
Fixed
Deprecated
Removed
0.18.1
Fixed
Fix error message during uninstall of Grasshopper components
0.18.0
Added
Grasshopper components now also for Mac
Added support for MoveIt on ROS Noetic
Added support for Python 3.9
Changed
The
Configurationclass has moved tocompas.robots, but is still aliased withincompas_fab.robotsLazily load
V-REP remoteApilibrary
Fixed
Fixed
repr()ofROSmsgclassFixed data type of secs and nsecs in
TimeROS messageFixed
CollisionObject.to_collision_meshesFixed serialization of joint names for
compas_fab.robots.JointTrajectoryPointFixed deserialization of
AttachedCollisionMesh
Deprecated
compas_fab.robots.Configurationis being deprecated in favor ofcompas.robots.Configuration
0.17.0
Added
Added python components library for Grasshopper
Added
compas_fab.robots.PyBulletClient.get_robot_configurationAdded
compas_fab.robots.Robot.ensure_geometryAdded serialization methods to
compas_fab.robots.CollisionMeshandcompas_fab.robots.AttachedCollisionMeshAdded
attached_collision_meshesattribute tocompas_fab.robots.JointTrajectoryAdded
compas_fab.backends.ros.PlanningSceneComponents.__ne__Added dictionary behavior to
compas_fab.robots.JointTrajectoryPoint.mergeAdded length limitations to attributes of
compas_fab.robots.JointTrajectoryPoint.merge
Changed
Updated to
COMPAS 1.1Configuration&JointTrajectoryPoint: the attributesvaluesandtypeschanged tojoint_valuesand joint_types respectively.
Fixed
Fixed bug in the PyBullet client where one could not update the configuration of a robot with an attached collision mesh
Fixed bug existing since version 0.12 where
compas_fab.backends.RosClient.add_attached_collision_meshadded collision objects to the scene, but did not attached them to the robotFixed bug when keys with
Nonevalues were passed to the planner.
Deprecated
Removed
Remove
compas_fab.robots.JointTrajectoryPoint.merge
0.16.0
Changed
Updated to
COMPAS 1.0
0.15.0
Added
Changed
Updated to
COMPAS 0.19
Fixed
Deprecated
Removed
0.14.0
Added
Added new backend feature
ResetPlanningSceneAdded
MoveItResetPlanningScene
Changed
Updated to
COMPAS 0.18Use
compas.IPYto check for IronPython
Fixed
Fixed bug in
remove_attached_toolofPlanningScene
0.13.1
Added
Added
nameproperty toToolclass.
Fixed
Fixed bug in
add_attached_toolofPlanningSceneFixed
frame_idgeneration when tool name changesFixed freeze with some sync planning scene methods on Grasshopper/IronPython
0.13.0
Changed
Updated to
COMPAS 0.17
0.12.0
Added
PyBullet integration: added support for PyBullet client and forward/inverse kinematic solver
Added
ClientInterface,PlannerInterfaceand various backend feature interfacesAdded implementations of these interfaces for ROS and V-REP
Added
attributesdictionary toRobotclassAdded
compas_fab.robots.Tool.from_t0cf_to_tcfAdded
compas_fab.robots.Tool.from_tcf_to_t0cfAdded
joint_namesas optional parameter for allcompas_fab.robots.ConfigurationconstructorsAdded
compas_fab.robots.Configuration.iter_differencesAdded
compas_fab.robots.Configuration.max_differenceAdded
compas_fab.robots.Configuration.close_toAdded
compas_fab.robots.Configuration.mergeAdded
compas_fab.robots.JointTrajectoryPoint.mergeAdded
compas_fab.robots.Semantics.group_statesAdded
compas_fab.robots.Robot.get_configuration_from_group_state
Changed
Updated to
COMPAS 0.16.9Renamed
compas_fab.robots.Robot.to_local_coordstocompas_fab.robots.Robot.to_local_coordinatesRenamed
compas_fab.robots.Robot.to_world_coordstocompas_fab.robots.Robot.to_world_coordinatesBackend clients have been restructured according to the new interfaces
Parameter
backendof forward kinematics has been renamed tosolverThe signatures of all kinematics, motion planning and planning scene management methods have been homogenized across backend clients and within
RobotAll examples have been updated to reflect these changes
The installer to Rhino has been unified with COMPAS core. Now running
python -m compas_rhino.installwill also detect and install COMPAS FAB and its dependencies.Renamed all
RobotArtistimplementations toRobotModelArtistto reflect the fact they depend oncompas.robots.RobotModel.Renamed
compas_fab.robots.Robot.from_tool0_to_attached_tooltocompas_fab.robots.Robot.from_t0cf_to_tcfRenamed
compas_fab.robots.Robot.from_attached_tool_to_tool0tocompas_fab.robots.Robot.from_tcf_to_t0cfChanged ROS planning scene methods to be synchronous.
Fixed
Attached collision meshes are included in inverse kinematics calculations in ROS
Deprecated
The methods
forward_kinematics,inverse_kinematics,plan_cartesian_motionandplan_motionofRobotclass have been refactored, but a backwards-compatible deprecated version with the old signatures still exists suffixed by_deprecated, e.g.forward_kinematics_deprecated.RobotArtistare deprecated in favor ofRobotModelArtist.
Removed
0.11.0
Added
Added optional
joint_namestoConfigurationAdded
Configuration.scaledAdded
full_joint_statetoRobot.inverse_kinematicsAdded
Semantics.get_all_configurable_joints
Changed
Updated to
COMPAS 0.15Construct
full_configurationwithvalues,types,joint_namesinRobotrather than inMoveItPlannerMoveItPlannerreturnsstart_configurationwith setjoint_namesRemoved parameter
namesfromRobotArtist.updateUpdated Grasshopper examples
Robot:forward_kinematicsreturns nowframe_WCFMoveItPlanner:forward_kinematicstakes now instance ofConfigurationandrobotMoveItPlanner:inverse_kinematicstakes now instance ofConfigurationandrobotProperty
compas_fab.robots.Robot.artistdoes not try to scale robot geometry if links and/or joints are not defined.In
compas_fab.robots.constraints.JointConstraint, addedtolerance_aboveandtolerance_belowfor allowing asymmetrical constraints.In
compas_fab.robots.Robot, changed theconstraints_from_configurationfunction withtolerances_aboveandtolerances_below.compas_fab.robots.CollisionMesh.scale()now takes a scale factor instead of acompas.geometry.Scaleinstance as an argument.
Fixed
Convert constraints on inverse kinematics and cartesian planner to ROS messages
Fix support for trajectory constraints on kinematic planner
0.10.2
Added
Added Python 3.8 support
Changed
Updated to
COMPAS 0.13
0.10.1
Fixed
Fix DAE parser to handle
polylistmeshesBumped
roslibpydependency to0.7.1to fix blocking service call issue on Mac OS
0.10.0
Added
Added
attach_tool,detach_tool,draw_attached_tool,from_tool0_to_attached_toolandfrom_attached_tool_to_tool0toRobotAdded
attach_toolanddetach_tooltoArtistAdded
add_attached_toolandremove_attached_tooltoPlanningSceneAdded redraw/clear layer support to
RobotArtistfor RhinoAdded material/color support for DAE files on ROS file loader
Changed
Changed
inverse_kinematics,plan_cartesian_motionandplan_motionto use the attached_tool’sAttachedCollisionMeshif set
Fixed
Fixed mutable init parameters of
Configuration,JointTrajectoryPoint,JointTrajectoryandRobot.basic.Fixed interface of
RobotArtistfor BlenderFixed DAE parsing of meshes with multiple triangle sets
0.9.0
Added
Added
load_robotmethod to ROS client to simplify loading robots from running ROS setup.Added
compas_fab.robots.Wrench: a Wrench class representing force in free space, separated into its linear (force) and angular (torque) parts.Added
compas_fab.robots.Inertia: a Inertia class representing spatial distribution of mass in a rigid body
Changed
Updated to
COMPAS 0.11
0.8.0
Changed
Updated to
COMPAS 0.10Add better support for passive joints on IK, Cartesian and Kinematic planning
Fixed
Use WorldXY’s origin as default for robots that are have no parent join on their base
Fixed parsing of semantics (SRDF) containing nested groups
Fixed DAE support on ROS File loader
0.7.0
Changed
Fixed Python 2 vs Python 3 incompatibilities in
compas_fab.sensorsmoduleChanged example for loading PosConCM (includes parity argument, differs from PosCon3D)
Changed format
compas_fab.sensors.baumer.PosConCM.set_flex_mount()Changed tasks.py to run
invoke testRenamed
compas_fab.backends.CancellableTasktocompas_fab.backends.CancellableFutureResultROS client: changed joint trajectory follower (
follow_joint_trajectory) to support genericJointTrajectoryarguments.ROS client: changed return type of trajectory execution methods to
CancellableFutureResult
Added
Added
compas_fab.sensors.baumer.PosCon3D.reset()Added
compas_fab.sensors.baumer.PosConCM.reset()ROS client: added support for MoveIt! execution action via
client.execute_joint_trajectory.Added
compas_fab.backends.FutureResultclass to deal with long-running async tasks
Removed
Removed
compas_fab.sensors.baumer.PosConCM.get_live_monitor_data()Removed non-implemented methods from
compas_fab.robots.Robot:send_frame,send_configuration,send_trajectory
Fixed
Fixed missing planner initialization when used without context manager.
0.6.0
Changed
Updated
COMPASdependency to0.8.1Base robot artist functionality moved to
compas.robots.RobotModelRobot:inverse_kinematicsreturns now group configurationRobot:forward_kinematicshas new parameterbackendto select eitherclientFK ormodelFK.Robot:forward_kinematicsreturns nowframe_RCFRobot:forward_kinematicsdoesn’t need full configuration anymoreFixed delays when modifying the planning scene of ROS.
Added
Added
jump_thresholdparameter toplan_cartesian_motionAdded
action_nameparameter to reconfigure joint trajectory follower action.Added support to retrieve the full planning scene.
Removed
Removed
compas_fab.Robot.get_configuration
0.5.0
Changed
ROS Client: renamed
compute_cartesian_pathtoplan_cartesian_motionROS Client: renamed
motion_plan_goal_frameandmotion_plan_goal_configurationtoplan_motionROS Client: removed methods from
Robotthat are now handled withPlanningScene, e.g.add_collision_meshandadd_attached_collision_meshROS Client: change the return type of
plan_motionandplan_cartesian_motionto the new trajectory classes.ROS File Server Loader: moved to
compas_fab.backendspackageROS File Server Loader: renamed
loadtoload_urdfand sync’d API to other loaders.V-REP Client: renamed
get_end_effector_posetoforward_kinematicsV-REP Client: renamed
find_robot_statestoinverse_kinematicsV-REP Client: renamed
find_path_plan_to_configtoplan_motion_to_configV-REP Client: renamed
find_path_plantoplan_motionV-REP Client: changed
is_connectedto become a propertyMade
robot_artistdefaultNoneonRobotconstructorChanged
PathPlanclass to use the new trajectory classes
Added
Added
scalemethod toConfigurationImplemented Constraints (
OrientationConstraint,PositionConstraint,JointConstraint) to use withplan_motionImplemented
PlanningScene,CollisionMeshandAttachedCollisionMeshAdded generic representations for motion planning requests (
JointTrajectory,JointTrajectoryPoint,Duration)Added UR5 robot model data for example purposes
Added several doc examples
Removed
Aliases for
FrameandTransformation. Import fromcompas.geometryinstead.
0.4.1
Fixed
Fixed missing library for V-REP on macOS
Deprecated
The aliases for
FrameandTransformationwill be removed, in the future, import directly fromcompascore.
0.4.0
Added
Color parameter to Rhino robot artist
Changed
Updated to
COMPAS 0.4.10
0.3.0
Added
Deeper integration with MoveIt! motion planning services
Added sync and async versions of many ROS service calls
Added support for cancellable tasks/actions
Changed
Renamed
UrdfImportertoRosFileServerLoaderUpdated to
COMPAS 0.4.8
0.2.1
Added
Robot artist for Blender
0.2.0
Added
First open source release!
V-REP and ROS clients
Updated to
COMPAS 0.3.2
0.1.0
Added
Initial version