Choreo: robotic motion planning platform for discrete architectural assembly
-
Author: Yijiang Huang
-
Advisor: Prof. Caitlin Mueller
-
Email: [email protected]
-
Devel Status: WIP, ROS-Kinetic
-
UROP Alumni: Thomas Cook (MIT)
Development mainly on kuka_kr6r900sixx robot for now.
-
Install ROS-Kinetic on Ubuntu 16.04 following the instructions here
-
Install python_catkin_tools to enable
catkin build
.sudo apt-get install python-catkin-tools
-
Install wstool in order manage the repos inside the workspace
sudo apt install python-wstool
-
Install moveit.
sudo apt-get install ros-kinetic-moveit
-
Install moveit visual tools for pose visualization.
sudo apt-get install ros-kinetic-moveit-visual-tools
-
Cd into the 'src' directory of your catkin workspace (
~/catkin_ws/src
in my case) and run the following:wstool init . wstool merge https://github.com/yijiangh/framefab_mpp/raw/kinetic-devel/framefab_mpp.rosinstall wstool update rosdep install --from-paths . --ignore-src
-
Finally, to build:
cd ~/catkin_ws (your catkin workspace root) catkin build source devel/setup.bash
To launch the application:
roslaunch framefab_kr6_r900_support kr6_r900_framefab.launch
We should be able to launch the app as the pciture below shows if everything goes smoothly:
For the first launch, we should tell framefab_mpp where to locate the input model file:
-
Click on
Params
Button. -
Click on
Path Input
Button. -
Click on
input dir
Button to choose input file path. For demonstration purpose, we offer two example files: simple_frame_result.json and bunny_result.json, located in~/catkin_ws/src/framefab_mpp/framefab_core/data
.[1] -
Click on
Save
button after selection for save and accept this file path. The saved file path will be automatically loaded unless you choose and save a new one following step 1 - 3.Accept
button is used for one-shot entering: the entered file path will not be saved. -
Close the Params panel by clicking on the red cross icon of the window.
-
Click on
Next
button to continue.
You'll see this if you choosed simple_frame_result.json in step 3.The arrow shows the direction of the printing (start and end nodes). Blue elements are supporting elements (pillars). The reds are connecting elements (connecting two existed nodes). The blues are creating elements (one end of the element will be created).
- View the construction sequence by dragging the slider, clicking on the
<
and>
button or entering desired number in the text box. Click onPlan
button to tell the planner to plan until the index you choose or click onSelect All
to plan for all elements in the model. The Grey elements are printed elements in the chosen state. The transparent one is the one to be printed. The green lines at starting node indicate all the feasible orientations (computed by framefab) for end effector for printing the current element (transparent one).
- After planning is finished, click on
Next
to check the simulation.
[1] Please note that the input file format here is a customized json format, generated by a sequence finding software framefab. Integration of framefab into this package is still in progress.