# Twins Planner Software for planning the motion of the twin printers robot. The twins are 2 UR5e arms which 3D print in a shared workspace. Given a valid gcode file, this repo constructs a collision free plan for two arms to print the object maximising concurrency. ## Building/Installing #### Install ```bash # clone git clone https://code.research.uts.edu.au/bigprint/twins-planner.git cd twins-planner # create conda environment containing python packages needed for ros conda create -n planner python=3.8 conda activate planner pip install -r requirements.txt # build ikfastpy cd src/utils/ikfastpy python setup.py build_ext --inplace pip install . ``` #### Running Create the plan, and enter an interactive shell for viewing it: ```bash cd src # from repo root ipython -i greedy.py # quicker plan ``` To inspect the plan in the interactive shell: ```python # watch the plan created, sped up to complete in 30s plan.watch(30) #use plan.watch(10,0.5,1) to only watch the last half of the plan in 10 seconds # plot showing when each arm is printing, when waiting/travelling plan.visualise() #plot the contours planned, coloured by the arm they are assigned to tu.plot_plan_contours(plan, contours) # save the plan plan.save("myprint.plan") ```