sequence and motion planning for robotic spatial extrusion
Project description
pychoreo is a sequence and motion planning engine that allow you to print the following cool structures (and many more!) with ease:
Note :pushpin:
In the summer of 2019, pychoreo will be integrated into the compas_fab infrastructure. Stay tuned! :beers:
The ROS implementation of choreo can be found here: choreo.
Main features
feature
Documentation
Coming soon!
Requirements
Installation
Credits
If you use this work, please consider citing as follows:
- @article{huang2018automated,
title={Automated sequence and motion planning for robotic spatial extrusion of 3D trusses}, author={Huang, Yijiang and Garrett, Caelan R and Mueller, Caitlin T}, journal={Construction Robotics}, volume={2}, number={1-4}, pages={15–39}, year={2018}, publisher={Springer}}
Algorithms behind Choreo:
Automated sequence and motion planning for robotic spatial extrusion of 3D trusses, Constr Robot (2018) 2:15-39, Arxiv-1810.00998
- Applications of Choreo:
Robotic extrusion of architectural structures with nonstandard topology, RobArch 2018, RobArch paper link
Spatial extrusion of Topology Optimized 3D Trusses, IASS 2018, IASS paper link
0.3.0
Added
0.2.0
Added
SparseLadderGraph completed
export planned trajectory for extrusion
add parsing function for visualizing saved extrusion trajectories
from_data methods for Trajectory and subclasses
tagging print processes with ground/creation/connect in the test function
infinite pose sampler added for extrusion case when using sparse ladder graph to solve
Added max_valence_extrusion_direction_routing to extrusion.utils
Added reverse_flags info to add_collision_fns_from_seq and extrusion’s test
Added start_conf parameter to SparseLadderGraph.extract_solution and solve_ladder_graph_from_cartesian_process_list to allow minimizing ladder graph with respect to a given start configuration
Added picknplace.transition_planner
Added target_conf attribute to CartesianProcess to allow using snap_sols when sample_ik_sols is called. This is essential for robots with large joint limits, e.g. UR.
Minor
is_any_empty utility function for checking ik sol list of lists
reset_ee_pose_gen_fn for easier resetting generator
Added print_table model in the mit_3-412_workspace URDF/SRDF
Removed
Removed PicknPlaceBufferTrajectory’s ee_attachments and attachments attributes
Removed picknplace.planner_interface (which is there only as an archive)
Fixed
fix nested empty list detection bug in is_any_empty
add disabled_collisions argument to the extrusion transition_planner
Fixed min_z to base_point model transformation in extrusion.parsing
Changed
extrusion export save lin_path’s poses as 4x4 tform matrix (there’s some disagreement in quaterion in compas.Frame.from_quat?)
move extrusion test fixtures into a separate fixture module
ladder graph interface broken into from_cartesian_process_list, from_cartesian_process, from_poses to increase code reuse
Changed sub_process_ids specification in prune_ee_feasible_directions
Changed Trajectory to have ee_attachments and attachments attributes natively
Changed Trajectory’s from_data, making it raise ValueError when robot body cannot be found in pybullet
Changed MoveTrajectory to have element_id attributes natively
Changed picknplace.visualization to reload and manually assign pybullet bodies to ensure objects get matched correctly
Changed build_picknplace_cartesian_process_seq to inject ee_attach info before passing into ladder graph solver, and tag element attachment after solving is finished.
0.1.1
Added
cartesian process class for modeling general linear movement in the workspace
ladder graph interface using the Cartesian process class
Trajectory class for modeling result trajectory in different contexts (inherited classes)
display_trajectories for extrusion
some simple exceptions added for LadderGraph and DAGSearch
subprocess modeling to have a more detailed control over Cartesian process modeling
add exhaust_iter method to CartisianProcess which resets the generator
add template class GenFn for generating functions
add PrintBufferTrajectory to model approach/retreat trajectories
Changed
move transition planning to application context.
conform to the latest pybullet_planning
Removed
assembly_datastructure
the old extrusion.run module, moved to the test file
Fixed
Deprecated
0.0.1
Added
Initial version
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pychoreo-0.3.0.tar.gz
.
File metadata
- Download URL: pychoreo-0.3.0.tar.gz
- Upload date:
- Size: 14.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6aff2233450ad33fbfd18a97256c1abd685da92cd80e6da5c1aa13c8582edaed |
|
MD5 | 678a4c046562d854b5a428ff4141ceb5 |
|
BLAKE2b-256 | ebdf15b667cf1617ce7420f08250c22fdebf59f8493424410011d8c8979aefc8 |
File details
Details for the file pychoreo-0.3.0-py2.py3-none-any.whl
.
File metadata
- Download URL: pychoreo-0.3.0-py2.py3-none-any.whl
- Upload date:
- Size: 14.8 MB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73c5bbeae330af0ff7db630333e74e5b52a80a2538381933d21cbbd0400fcd0a |
|
MD5 | 85bd6d18c222ba56d7738c1d575c807e |
|
BLAKE2b-256 | 56763147fdfe78f1b43cf0b1913ecc43b0cb6c9cfeb9fd34b39757e272ac77ef |