Skip to main content

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:

Voronoi extrusion video

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


Coming soon!




If you use this work, please consider citing as follows:

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



  • 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


  • move transition planning to application context.
  • conform to the latest pybullet_planning


  • assembly_datastructure
  • the old module, moved to the test file




  • need to regulate the use of ik_joints or ik_joint_names for user interfaces



  • Initial version

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pychoreo, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size pychoreo-0.1.1-py2.py3-none-any.whl (12.6 MB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size pychoreo-0.1.1.tar.gz (12.7 MB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page