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.7.0] [2020-12-18]¶
Added¶
Dependency
compas_mobile_robot_relocadded as it is the broken outlocalizationmodule.
Changed¶
Bumped
compas_fabtov0.15.0.Added attribute
skiptorapid_clay_formations_fab.fab_data.PlaceElementto replace use of attributeplaced.skipis meant to be set for current run only.
Removed¶
rapid_clay_formations_fab.localizationremoved from package since it is nowRemoved
rapid_clay_formations_fab.utils.temp_change_compas_precision.
[0.5.4] [2020-11-16]¶
Added¶
Added
rhino_installandproxysubcommands to commandrcf.
Changed¶
rapid_clay_formations_fab.robots.AbbRcfClient.check_reconnectrenamed toensure_connection.ensure_connectiononly restarts docker container once, after that it tries pinging multiple times.fab_conf.robot_client.speed.pick_placesplit into two different key-values pairs.
Removed¶
Removed kwarg
station_egress distanceand corresponding propertystation_egress_framefromrapid_clay_formations_fab.robots.PickStation
[0.3.0] [2020-03-22]¶
Added¶
ABB robot control example added to grasshopper examples.
compas_rcf.abb.rundocumented under Usage in docs.
Changed¶
Second level imports implemented. So
compas_rcf.fab_data.clay_objs.ClayBulletcan be imported ascompas_rcf.fab_data.ClayBullet.Examples renamed to Usage in documentation.
compas_rcf.fabricationrenamed tocompas_rcf.fab_data.compas_rcf.fabrication.clay_objrenamed tocompas_rcf.fab_data.clay_objs.compas_rcf.fab_data.clay_objs.ClayBulletEncodernow moved tocompas_rcf.fab_data.tools.compas_rcf.utils.json_andcompas_rcf.utils.csv_reportsmerged and moved tocompas_rcf.fab_data.tools.csv_reportscan be run usingcompas_rcf.fab_data.csv_report.compas_rcf.fab_data.networkmerged withcompas_rcf.fab_data.clay_objs.compas_rcf.abb_rcf_runnermoved tocompas_rcf.abb.run.compas_rcf.abb.programsrenamed tocompas_rcf.abb.procedure.Renamed
compas_rcf.abb.connectivity.check_connectiontocompas_rcf.abb.connectivity.check_reconnectMerged
compas_rcf.abb.helpersandcompas_rcf.abb.connectivitytohelpers. SoDOCKER_COMPOSE_PATHS,ROBOT_IPS,pingandcheck_reconnectcan now be found inhelpers.compas_rcfcompas_rcf.fabrication.conf.ZONE_DICTmoved tocompas_rcf.abb.helpers.ZONE_DICTA lot of changes to package structure. Might be documented here more later.
Removed¶
sphinx_autodoc_typehintsplugin since not all of the code has type hints, but there’s annotations in docstrings for most.Unused functions in
compas_rcf.utils.util_funcs.
[0.2.4] [2020-03-13]¶
Added¶
Draft of grasshopper example showcasing robot control using
compas_rrc.Command line argument to skip writing progress while running
compas_rcf.abb_runner:--skip-progress-file.
Changed¶
Replaced
pathlibwithos.pathincompas_rcf.abb.connectivityfor Python 2 compatibility.compas_rcf.abb_runnernow writes progress to json while waiting for robot, to make sure the robot isn’t idle between loops.Some improvements to the
compas_rcf.utils.csv_reportsmodule, more data points and more informative headers.
[0.2.3] [2020-03-11]¶
Added¶
compas_rcf.abb.helpers.RapidToolDatanow takes optional tolerance for tooldata values.compas_rcf.docker.docker_cmds._runis a new helper function for docker commands that works in both Python 2 and 3.compose_uphas a new keywordcheck_outputthat toggles return code check ofsubprocesscall.compose_downadded tocompas_rcf.docker
Changed¶
base-docker-compose.ymlinsrc/compas_rcf/docker/compose_files/abbrenamed tomaster-bridge-docker-compose.ymldictkeyabb_driverincompas_rcf.abb.connectivity.DOCKER_COMPOSE_PATHSrenamed todriver.env_varsincompas_rcf.abb.connectivity.connection_checkis now a stand alone keyword argument instead of being picked up from**kwargs.RapidTooldata.from_plane_pointcreates aRapidTooldataobject without usingfrom_frame_point.
[0.2.2] [2020-03-06]¶
Added¶
Class
compas_rcf.abb.helpers.RapidToolDataadded to create Rapid tooldata from compas and Rhino geometries.Class property
weightadded tocompas_rcf.fabrication.ClayBullet.MyPy configuration so Mypy can find imports when running from Vim + Ale. Libraries without typehints set to
ignore_missing_imports.
Changed¶
compas_rcf.abb.helperssplit intohelpersandconnectivitymakehelpersimportable from IronPython.Robot instruction in
compas_rcf.abb.programs.pick_bulletto go to picking_frame now specifieszone_pickinstead ofzone_travelto make sure that the tool actuators activate at the correct time.Module
compas_rcf.utils.csv_reportsnow adds more data fromClayBulletinstances.compas_rcf.install_rhino,compas_rcf.utils.compas_to_rhinoandcompas_rcf.rhino_to_compasnow moved to new packagecompas_rcf.rhinoto more clearly show where an environment with Rhino is necessary.install_rhinois however still available fromcompas_rcf.install_rhino.Renamed
compas_rcf.utils.util_funcs.list_elem_w_index_wraptowrap_list.
[0.2.1] [2020-03-04]¶
Changed¶
compas_rcf.fabrication.abb_runnermoved tocompas_rcf.abb_runner.
[0.2.0] [2020-03-02]¶
Added¶
Prompt to confirm start of fabrication added to
compas_rcf.fabrication.abb_runner.abb_run, replacing confirmation inget_settings.
Changed¶
Docstring changes in
compas_rcf.utils.compas_to_rhinoandrhino_to_compas.Redone the reference pages in the docs and fixed import problems.
Replaced usage of
AttrDictfromconfuse.Configurationincompas_rcf.fabrication.abb_runnerto use the originalconfuse.Configurationobject. E.g.fab_conf["target"].get()instead offab_conf.target. This is to make the use of theConfigurationobject uniform across modules.ZONE_DICTmoved fromcompas_rcf.abb.helperstocompas_rcf.fabrication.conf, mainly due to weird import errors.confuse.Templateobjectconfuse.Pathvendorised from upstream master and put incompas_rcf.fabrication.conf.Renamed
loggingtologincompas_rcf.fabrication.abb_runnerto make usage of theloggingobject uniform across modules.Added logging to
compas_rcf.abb.helpers,compas_rcf.fabrication.conf,compas_rcf.abb.programs,Directories set up previously by globals in
compas_rcf.fabrication.abb_runneris now accessible using the configuration file. The old globals are now the default value in the configuration.Moved submodule
dockerfromcompas_rcf.utils.dockertocompas_rcf.dockerincluding its submodules and Docker-Compose files.Refactored connection check from
compas_rcf.fabrication.abb_runnerto its own function:compas_rcf.abb.helpers.connection_check.Refactored logging setup from
compas_rcf.fabrication.abb_runner.abb_runnerto it’s own function:compas_rcf.fabrication.abb_runner.logging_setup.Refactored fabrication data analysis and prompts for skipping or placing bullets in
compas_rcf.fabrication.abb_runner.abb_runnerto its own function:compas_rcf.fabrication.abb_runner.setup_fab_data.Refactored
compas_rcf.fabrication.abb_runner.get_setuptocompas_rcf.fabrication.conf.interactive_conf_setup.Moved
compas_rcf.fabrication.abb_runner.initial_setupto:compas_rcf.abb.programs.pre_procedure.Moved
compas_rcf.fabrication.abb_runner.shutdown_procedureto:compas_rcf.abb.programs.post_procedure.Moved
compas_rcf.fabrication.abb_runner.send_pickingto:compas_rcf.abb.programs.pick_bullet.Moved
compas_rcf.fabrication.abb_runner.send_placingto:compas_rcf.abb.programs.place_bullet.Moved
compas_rcf.fabrication.abb_runner.send_grip_releaseto:compas_rcf.abb.programs.grip_and_release.Logging setup is now run in the
if __name__ = "__main__"part ofcompas_rcf.fabrication.abb_runner.
Removed¶
Prompt to confirm settings removed in
compas_rcf.fabrication.abb_runner.get_settings" in favour of a later confirmation of the whole setup inabb_run`.
[0.1.22] [2020-02-28]¶
Added¶
Configuration option for timeout and wait times for docker commands in
compas_rcf.fabrication.runner.
Changed¶
Skip and/or place logic reworked in
compas_rcf.fabrication.abb_runner.abb_runneris now verbose by default,--verboseis removed in favour of--quiet.Removed print statements from
abb_runnerand replaced them withlogging.infocalls.Fixed
idattribute logic and renamed it tobullet_id. classmethodcompas_rcf.fabrication.clay_objs.ClayBullet.from_datais backwards compatible.
[0.1.21] [2020-02-26]¶
Changed¶
compas_rcf.fabrication.abb_runnernow prints progress updates to Flex pendant.abb_runnernow dumps list ofClayBulletsfor every bullet into file with same filename as input JSON but with IN_PROGRESS added to start.abb_runnernow checks if attributeplacedis set onClayBulletand if so asks user if it should be skipped or placed (with the option to set skip and place for all future bullets withplacedattribute). This file is deleted when script exits cleanly.compas_rcf.utils.csv_renamed tocsv_reports. Instead of a conversion tool it now creates an opinionated report from JSON file. It can also handle directories and multiple files as inputs.
[0.1.20] [2020-02-25]¶
Added¶
Settings regarding picking grid added to
compas_rcf.fabrication.conf.
Changed¶
Function
get_picking_frameincompas_rcf.fabrication.abb_runnerreworked intopick_frame_from_gridwhich reads settings from conf to return frames from a grid of picking points.JSON dump after end of
abb_runnernow dumps original list (clay_bullets) instead of a new.
[0.1.18] [2020-02-20]¶
[0.1.19] [2020-20-22]¶
Changed¶
Reworded note in method
compas_rcf.utils.rhino_to_compas.rgplane_to_cgplaneto fix encoding error in Grasshopper.
[0.1.18] [2020-02-20]¶
Added¶
Dependency
prompt-toolkitandPygments.Logging to
compas_rcf.utils.docker.docker_cmds.compas_rcf.fabrication.abb_runnernow dumps placedClayBulletsafter completed run, together with attributeplacedwith time of placement in UNIX epoch.Functions
send_picking&send_placingincompas_rcf.fabrication.abb_runnerare now timed using Watch from compas_rrc and the sum of their durations are stored asClayBullet.cycle_time.Added command line argument to
compas_rcf.fabrication.abb_runner:--skip-logfile.Module for converting JSON to CSV:
compas_rcf.utils.csv_
Changed¶
Replaced function
compas_rcf.utils.ui.print_conf_w_colorswithpygment_yaml, pretty printing yaml config using prompt_toolkit and pygments.Added check of Exception message in
compas_rcf.abb.helpersto narrow error catching.Paths in
compas_rcf.fabrication.abb_runnerare changed to be pathlib.Path objects.Changed
compas_rcf.utils.rhino_to_compas.rgplane_to_cgframeto correctly inherit X and Y axis from Rhino plane.Added a note to
rgplane_to_cgplaneto clarify that X and Y axises are note stored in compas planes.
Removed¶
Unused functions in
compas_rcf.utils.docker.docker_cmds.
[0.1.17] [2020-02-18]¶
Added¶
Docker compose integration via
compas_rcf.utils.dockerto set up needed services forcompas_rcf.fabrication.abb_runner.Added ping function to
compas_rcf.abb.helpers, sends NoOp to controller and waits for feedback.
Changed¶
Reordered functions in
abb_runnerand added comments to section of the functions.
[0.1.16] [2020-02-18]¶
Changed¶
Grasshopper example file
create_bullets_read_write_jsonupdated to handle Grasshopper trees and take vkeys as an attribute.compas_rcf.fabrication.clay_obj.ClayBulletproperty settertrajectory_toandtrajectory_fromupdated to handle list of planes.compas_rcf.utils.util_funcs.ensure_frameupdated to convert point to Frame with given point and flipped XY plane.Updated config for black to also target py2.7 so it doesn’t add trailing commas to lists. (Which IronPy 2.7 can’t handle)
[0.1.15] [2020-02-15]¶
Added¶
Attribute dictionary added to class
compas_rcf.fabrication.clay_obj.ClayBulletAttribute
vkeyadded toClayBulletto store vertex key fromcompas.datastructures.NetworkSimple import tests added
Changed¶
Property
VectorinClayBulletchanged to represent the bullets center as a line.
[0.1.14] [2020-02-14]¶
Added¶
API docs. Some modules have issues but a lot of them works.
Changed¶
More fixes of imports.
Split of Rhino dependent functions from
compas_rcf.utils.util_funcstocompas_rcf.utils.util_funcs_rhino.
[0.1.13] [2020-02-14]¶
Added¶
Properties
centroid_frame,compressed_centroid_frame,centroid_planeaddedcompressed_centroid_planetocompas_rcf.fabrication.clay_objs.ClayBullet.Classmethod
from_compressed_centroid_frame_likeadded toClayBullet.
Changed¶
compas_rcf.fabrication.abb_rcf_runnerrenamed tocompas_rcf.fabrication.abb_runner.Typos in
abb_runnerfixed.Trying to set up imports better between modules
Fixes for tkinter file dialog in
compas_rcf.utils.ui.Property
post_planesrenamed totrajectory_frominClayBullet.
[0.1.12] [2020-02-13]¶
Added¶
Logging added to
compas_rcf.fabrication.abb_rcf_runner.Makes sure needles are retracted at start and end of
abb_rcf_runner.Hardcoded compression at pickup in
abb_rcf_runner. Needs to be removed.Added note about compas to
README.mdAdded note about compatibility with Python 2 and < 3.6.
Changed¶
Whole package has had its imports sorted
Set up black formatting and formatted everything
Travis now handles build and releasing of tagged commit, using
setuptools_scmto handle version setup.setuptools_scmreplacesMANIFEST.inin handling what to include when building.Package now requires Python >= 3.6 for installation.
Removed¶
Lots of dev deps
[0.1.10] [2020-02-11]¶
Added¶
Module
compas_rcf.fabrication.confadded. Reads yaml files for fabrication settings. Provides template to validate files.Package
confusenew dependecy, (”painless YAML config files for Python”)Default config file (in YAML) added to
compas_rcf.fabricationModule
compas_rcf.abb.helpersadded, for now only a dict mapping Zone data names to absolute value
Changed¶
compas_rcf.fabrication.abb_rcf_runnerupdated to use YAML configs.docker compose dirs moved from
./dockerto.data/docker-compose
Removed¶
Hard-coded fabrication configuration removed from
compas_rcf.fabrication.abb_rcf_runner. Default values now stored incompas_rcf.fabrication.default_config.yaml
[0.1.9] [2020-02-09]¶
Added¶
Print colored dict function added to
compas_rcf.utils.ui.Packages Colorama and Questionary added to to requirements. They are used for CLI runner.
Changed¶
compas_rcf.fabrication.abb_fabrication_non_interactiverefactoredcompas_rcf.fabrication.abb_fabrication_non_interactiverenamed toabb_rcf_runner.compas_rcf.fabrication.abb_rcf_runnernow takes args and can edit conf setup during runtime.compas.rcf.fabrication.ClayBulletpropertyplacement_framechanged to be where the tool should stop while placing. New propertylocationis the new required argument for the object and defines the clay bullets lowest point.placement_frameis derived fromlocationandcompressed height.ClayBulleyattributespre_framesandpost_framesrenamed totrajectory_toandtrajectory_fromto be more descriptive.Fixes to docs: In Updating section of
getting_started.rstpython was changed to pip. Inline comments removed from installation instructions.
[0.1.8] [2020-02-07]¶
Changed¶
After some testing to find the best way to distribute this package given the dependency on private repository
compas_rrcI’ve concluded to keep uploading to PyPi. This means that compas_rrc will need to be installed manually before this package, since PyPi does not allow giving a “direct dependency`.
[0.1.6] 2020-02-06¶
Added¶
Set up sphinx docs
Added deploy job for travis
Open file dialog function added to new module
compas_rcf.util.uiOpen file dialog implemented in ABB fabrication runner
Changed¶
Travis Python 3 version bumped up to 3.7
docs moved from docsource to docs
sphinx target directory now dist/docs
Corrected compas_fab version range (from
<0.12to<0.11)Fixed compas_rrc requirement syntax given it’s installed from git repository
Added compas_rrc to installable packages for
compas_rcf.install_rhino
[0.1.5] 2020-02-05¶
Added¶
ClayBulletEncoderto serializeClayBulletadded tocompas_rcf.fabrication.clay_objFrames before and after placement added to
ClayBulletfrom_dataconstructor added toClayBulletFunction to parse list of ClayBullet instances from JSON added in new module
compas_rcf.utils.json_ensure_framefunction added tocompas_rcf.utils.util_funcsto convertPlanestoFramescompas_rcf.IPYglobal boolean that usescompasfunction to check if IronPython is running the code.
Changed¶
Rhinomodules are only loaded if IronPython is running the codecompas_rcf.fabrication.abb_fabrication_non_interactivenow reads JSON to load ClayBullets and extractsFramesfrom themMost settings in
abb_fabrication_non_interactiveare moved to top and set as globals.
Removed¶
compas_rcf.utils.databasesmock module removed in favor ofjson_.
[0.1.4] 2020-02-05¶
Added¶
Added abb non-interactive fabrication script
Added docker-compose files for ABB ROS setup
[0.1.3] 2020-02-04¶
Added¶
Example file
grasshopper_non_interactivesetup in docsPartly finished structure for future ur online fabrication procedure
Changed¶
utils.pynow divided into multiple modulesOther renames and moves
Removed¶
[0.1.2] 2020-02-03¶
Changed¶
Name change from
rcftocompas_rcf.
[0.1.1] 2020-02-03¶
Added¶
First release, package setup by applying compas-dev/cookiecutter-pypackage on small library of modules from previous phase of project
Changed¶
rcf/urrenamed torcf/ur_controlFabrication related functions moved from
rcf/urtorcf/fabrication
Removed¶
Unused code in
rcf/ur_control
[0.1.0]¶
Start value for version