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
pychoreo-0.3.0.tar.gz
(14.7 MB
view hashes)
Built Distribution
Close
Hashes for pychoreo-0.3.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73c5bbeae330af0ff7db630333e74e5b52a80a2538381933d21cbbd0400fcd0a |
|
MD5 | 85bd6d18c222ba56d7738c1d575c807e |
|
BLAKE2-256 | 56763147fdfe78f1b43cf0b1913ecc43b0cb6c9cfeb9fd34b39757e272ac77ef |