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.28.0] 2023-05-10
Added
Added
Forward Kinematics
GH component.
Changed
Updated install process of GH components.
Added caching to the GH component that visualizes scene, to avoid retrieving the whole scene too often.
Fixed
Fixed pre-Noetic support on the MoveIt planner when a tool is attached to the robot.
0.27.0
Added
Added support for attached and non-attached collision mesh visualization to the
Robot Visualize
GH component.Added a prefix to all GH components.
Added
append
to the operations of theCollision Mesh
GH component.
Changed
Changed behavior of
Attach Tool
GH component to only attach the tool but not add it to the planning scene state.Duration class takes floats as
sec
variable.Changed the behavior of
forward_kinematics
,inverse_kinematics
,iter_inverse_kinematics
,plan_cartesian_motion
and constraints construction methods (orientation_constraint_from_frame
,position_constraint_from_frame
,constraints_from_frame
) inRobot
class to use the frame of the attached tool if a tool is attached. This behavior can be reverted back (ie. only calculate T0CF) using the flaguse_attached_tool_frame
of all these methods.Fixed usage of
tangent_points_to_circle_xy
in Spherical Wrist solver to work with COMPAS v1.16 and older.
Fixed
Fixed DH params for analytical IK solver of UR3e and UR10e.
Fixed Kinetic support on IK, FK, and motion planning calls.
Fixed
Publish to topic
Grasshopper component when theros_client
has been replaced (eg. disconnected and reconnected).
Deprecated
Removed
0.26.0
Added
Added a new GH component -
ConstraintsFromTargetConfiguration
Added some missing information to GH and V-REP docs.
Added a
Robot().attached_tools
property to allow attaching tools to multiple planning groups simultaneously.
Changed
Replaced icon for GH component -
ConstraintsFromPlane
Robot().attached_tool
now points to the tool attached to therobot.main_group_name
.Added parameter
group
to theAttachToolComponent
Fixed
Attaching a tool to a planning group doesn’t overwrite the tool attached to other groups.
Changed
Trajectory
to inherit fromcompas.data.Data
class to fix a serialization error that expects guid to be present.
Deprecated
Removed
0.25.0
Changed
Changed Grasshopper components to default to icon display.
Changed to use
compas_rhino.conversions
to coerce frames.
Fixed
Fixed link parameter name when doing FK inside the GH component to display attached collision meshes.
Fixed transform of the attached collision mesh frame inside the GH component.
Fixed uninstall process not removing GH components.
0.24.0
Added
Added
compas_fab.robots.ReachabilityMap
Added
compas_fab.robots.DeviationVectorsGenerator
Added
compas_fab.robots.OrthonormalVectorsFromAxisGenerator
Changed
Fixed
Fixed
ROSmsg
import on GH components for publish/subscribe.
Deprecated
Removed
0.23.0
Added
Added
compas_fab.backends.PyBulletClient.load_ur5()
method to simplify some examples.Added Grasshopper components to get a zero configuration and to merge two configurations.
Changed
Moved all public API classes in
compas_fab.backends
to second-level imports.Updated to COMPAS 1.14.
Simplified call to remove an attached tool by also removing the remaining collision mesh from the world automatically.
Fixed
Fixed PyBullet loading of meshes.
Fixed missing flag in reset planning scene call.
Fixed issue on cartesian and kinematic planning when model contains passive joints.
Fixed pose of collision mesh in ROS Noetic being ignored.
Deprecated
Deprecated
compas_fab.utilities.write_data_to_json
in favor ofcompas.data.json_dump
.Deprecated
compas_fab.utilities.read_data_from_json
in favor ofcompas.data.json_load
.
Removed
0.22.0
Added
Added
Attach Tool
GH component: crowd-coded at McNeel’s Robotic Fabrication Workshop!
Changed
Fixed
Deprecated
Removed
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
AttachedCollisionMesh
inAnalyticalInverseKinematics
.
0.20.1
Removed
Removed the bundled binary files for the
VrepClient
remote API. To use V-REP, use theremoteApi
binaries provided with the software.
0.20.0
Added
Added
PoseArray
,MultiArrayDimension
,MultiArrayLayout
,Int8MultiArray
,Float32MultiArray
,Int32
tocompas_fab.backends.ros.messages
Added
unordered_disabled_collisions
attribute toPyBulletClient
andRobotSemantics
Added better support for concave meshes in the
PyBulletClient
Added
Robot.iter_inverse_kinematics
to allow iterating over all IK solutions provided by a solver
Changed
Changed the backend feature
InverseKinematics.inverse_kinematics
to be a generator. As a consequence of this,ClientInterface.inverse_kinematics
andPlannerInterface.inverse_kinematics
have changed to generators as wellStandardized the yielded type of
InverseKinematics.inverse_kinematics
across the PyBullet, MoveIt and V-REP plannersAdded iterative accurate IK resolution for PyBullet
Fixed
Fixed
UnsupportedOperation
error when usingPyBulletClient
in Jupyter notebook (raised byredirect_stdout
)Fixed
JointTrajectoryPoint.from_data
to be backward-compatible with JSON data generated beforecompas_fab
0.18Fixed
JointTrajectory.from_data
to be backward-compatible with JSON data generated beforecompas_fab
0.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-components
taskUpdated to COMPAS 1.7
Fixed
Deprecated
Removed
0.18.3
Added
Changed
Made consistent use of
repr
in nested objects
Fixed
Fixed bug in
compas.backends.PyBulletClient.convert_mesh_to_body
circumventing 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
Configuration
class has moved tocompas.robots
, but is still aliased withincompas_fab.robots
Lazily load
V-REP remoteApi
library
Fixed
Fixed
repr()
ofROSmsg
classFixed data type of secs and nsecs in
Time
ROS messageFixed
CollisionObject.to_collision_meshes
Fixed serialization of joint names for
compas_fab.robots.JointTrajectoryPoint
Fixed deserialization of
AttachedCollisionMesh
Deprecated
compas_fab.robots.Configuration
is being deprecated in favor ofcompas.robots.Configuration
0.17.0
Added
Added python components library for Grasshopper
Added
compas_fab.robots.PyBulletClient.get_robot_configuration
Added
compas_fab.robots.Robot.ensure_geometry
Added serialization methods to
compas_fab.robots.CollisionMesh
andcompas_fab.robots.AttachedCollisionMesh
Added
attached_collision_meshes
attribute tocompas_fab.robots.JointTrajectory
Added
compas_fab.backends.PlanningSceneComponents.__ne__
Added dictionary behavior to
compas_fab.robots.JointTrajectoryPoint.merge
Added length limitations to attributes of
compas_fab.robots.JointTrajectoryPoint.merge
Changed
Updated to
COMPAS 1.1
Configuration
&JointTrajectoryPoint
: the attributesvalues
andtypes
changed tojoint_values
andjoint_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_mesh
added collision objects to the scene, but did not attached them to the robotFixed bug when keys with
None
values 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
ResetPlanningScene
Added
MoveItResetPlanningScene
Changed
Updated to
COMPAS 0.18
Use
compas.IPY
to check for IronPython
Fixed
Fixed bug in
remove_attached_tool
ofPlanningScene
0.13.1
Added
Added
name
property toTool
class.
Fixed
Fixed bug in
add_attached_tool
ofPlanningScene
Fixed
frame_id
generation 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
,PlannerInterface
and various backend feature interfacesAdded implementations of these interfaces for ROS and V-REP
Added
attributes
dictionary toRobot
classAdded
compas_fab.robots.Tool.from_t0cf_to_tcf
Added
compas_fab.robots.Tool.from_tcf_to_t0cf
Added
joint_names
as optional parameter for allcompas_fab.robots.Configuration
constructorsAdded
compas_fab.robots.Configuration.iter_differences
Added
compas_fab.robots.Configuration.max_difference
Added
compas_fab.robots.Configuration.close_to
Added
compas_fab.robots.Configuration.merge
Added
compas_fab.robots.JointTrajectoryPoint.merge
Added
compas_fab.robots.Semantics.group_states
Added
compas_fab.robots.Robot.get_configuration_from_group_state
Changed
Updated to
COMPAS 0.16.9
Renamed
compas_fab.robots.Robot.to_local_coords
tocompas_fab.robots.Robot.to_local_coordinates
Renamed
compas_fab.robots.Robot.to_world_coords
tocompas_fab.robots.Robot.to_world_coordinates
Backend clients have been restructured according to the new interfaces
Parameter
backend
of forward kinematics has been renamed tosolver
The signatures of all kinematics, motion planning and planning scene management methods have been homogenized across backend clients and within
Robot
All examples have been updated to reflect these changes
The installer to Rhino has been unified with COMPAS core. Now running
python -m compas_rhino.install
will also detect and install COMPAS FAB and its dependencies.Renamed all
RobotArtist
implementations toRobotModelArtist
to reflect the fact they depend oncompas.robots.RobotModel
.Renamed
compas_fab.robots.Robot.from_tool0_to_attached_tool
tocompas_fab.robots.Robot.from_t0cf_to_tcf
Renamed
compas_fab.robots.Robot.from_attached_tool_to_tool0
tocompas_fab.robots.Robot.from_tcf_to_t0cf
Changed 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_motion
andplan_motion
ofRobot
class have been refactored, but a backwards-compatible deprecated version with the old signatures still exists suffixed by_deprecated
, e.g.forward_kinematics_deprecated
.RobotArtist
are deprecated in favor ofRobotModelArtist
.
Removed
0.11.0
Added
Added optional
joint_names
toConfiguration
Added
Configuration.scaled
Added
full_joint_state
toRobot.inverse_kinematics
Added
Semantics.get_all_configurable_joints
Changed
Updated to
COMPAS 0.15
Construct
full_configuration
withvalues
,types
,joint_names
inRobot
rather than inMoveItPlanner
MoveItPlanner
returnsstart_configuration
with setjoint_names
Removed parameter
names
fromRobotArtist.update
Updated Grasshopper examples
Robot
:forward_kinematics
returns nowframe_WCF
MoveItPlanner
:forward_kinematics
takes now instance ofConfiguration
androbot
MoveItPlanner
:inverse_kinematics
takes now instance ofConfiguration
androbot
Property
compas_fab.robots.Robot.artist
does not try to scale robot geometry if links and/or joints are not defined.In
compas_fab.robots.constraints.JointConstraint
, addedtolerance_above
andtolerance_below
for allowing asymmetrical constraints.In
compas_fab.robots.Robot
, changed theconstraints_from_configuration
function withtolerances_above
andtolerances_below
.compas_fab.robots.CollisionMesh.scale()
now takes a scale factor instead of acompas.geometry.Scale
instance 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
polylist
meshesBumped
roslibpy
dependency to0.7.1
to fix blocking service call issue on Mac OS
0.10.0
Added
Added
attach_tool
,detach_tool
,draw_attached_tool
,from_tool0_to_attached_tool
andfrom_attached_tool_to_tool0
toRobot
Added
attach_tool
anddetach_tool
toArtist
Added
add_attached_tool
andremove_attached_tool
toPlanningScene
Added redraw/clear layer support to
RobotArtist
for RhinoAdded material/color support for DAE files on ROS file loader
Changed
Changed
inverse_kinematics
,plan_cartesian_motion
andplan_motion
to use the attached_tool’sAttachedCollisionMesh
if set
Fixed
Fixed mutable init parameters of
Configuration
,JointTrajectoryPoint
,JointTrajectory
andRobot.basic
.Fixed interface of
RobotArtist
for BlenderFixed DAE parsing of meshes with multiple triangle sets
0.9.0
Added
Added
load_robot
method 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.10
Add 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.sensors
moduleChanged 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 test
Renamed
compas_fab.backends.CancellableTask
tocompas_fab.backends.CancellableFutureResult
ROS client: changed joint trajectory follower (
follow_joint_trajectory
) to support genericJointTrajectory
arguments.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.FutureResult
class 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
COMPAS
dependency to0.8.1
Base robot artist functionality moved to
compas.robots.RobotModel
Robot
:inverse_kinematics
returns now group configurationRobot
:forward_kinematics
has new parameterbackend
to select eitherclient
FK ormodel
FK.Robot
:forward_kinematics
returns nowframe_RCF
Robot
:forward_kinematics
doesn’t need full configuration anymoreFixed delays when modifying the planning scene of ROS.
Added
Added
jump_threshold
parameter toplan_cartesian_motion
Added
action_name
parameter 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_path
toplan_cartesian_motion
ROS Client: renamed
motion_plan_goal_frame
andmotion_plan_goal_configuration
toplan_motion
ROS Client: removed methods from
Robot
that are now handled withPlanningScene
, e.g.add_collision_mesh
andadd_attached_collision_mesh
ROS Client: change the return type of
plan_motion
andplan_cartesian_motion
to the new trajectory classes.ROS File Server Loader: moved to
compas_fab.backends
packageROS File Server Loader: renamed
load
toload_urdf
and sync’d API to other loaders.V-REP Client: renamed
get_end_effector_pose
toforward_kinematics
V-REP Client: renamed
find_robot_states
toinverse_kinematics
V-REP Client: renamed
find_path_plan_to_config
toplan_motion_to_config
V-REP Client: renamed
find_path_plan
toplan_motion
V-REP Client: changed
is_connected
to become a propertyMade
robot_artist
defaultNone
onRobot
constructorChanged
PathPlan
class to use the new trajectory classes
Added
Added
scale
method toConfiguration
Implemented Constraints (
OrientationConstraint
,PositionConstraint
,JointConstraint
) to use withplan_motion
Implemented
PlanningScene
,CollisionMesh
andAttachedCollisionMesh
Added generic representations for motion planning requests (
JointTrajectory
,JointTrajectoryPoint
,Duration
)Added UR5 robot model data for example purposes
Added several doc examples
Removed
Aliases for
Frame
andTransformation
. Import fromcompas.geometry
instead.
0.4.1
Fixed
Fixed missing library for V-REP on macOS
Deprecated
The aliases for
Frame
andTransformation
will be removed, in the future, import directly fromcompas
core.
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
UrdfImporter
toRosFileServerLoader
Updated 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