dcpctrl_v2 contains software developed for interfacing with & controlling the Digital Construction Platform (DCP). It is the second iteration of software for the DCP. The first iteration (contained in the mdcp repo) relied on the LabJack T7 for interfacing with the AT40GW and KUKA, and ran in standard MATLAB scripts and functions. This iteration is based more heavily in Simulink, and takes advantage of Simulink's real-time capabilities (particularly Simulink Desktop Real-Time) to implement hard(er) real-time controllers.
This software is being developed during academic year 2016-2017 by the Mediated Matter Group at the MIT Media Lab.
We vaguely follow https://sites.google.com/site/matlabstyleguidelines/
dcpctrl_v2/ apps/ -- All applications to run DCP. Contains both online (Simulink) and offline (MATLAB) tools data/ -- Location to store data generated by programs. Do not commit data to repository unless you have a very good readson - this folder should be generally regarded as a temp folder. experimental/ -- Sandbox location for storing small, personal projects. Not indexed by init. If something is getting larger than one or two files, create a branch. lib/ -- Core libraries for DCP operation. rvctools/ -- Peter Corke's Robotics Toolbox (http://petercorke.com/wordpress/) robots/ -- Device-specific libraries & functions. Also contains DCP robot description file, config_dcpv2.m at40gw/ kuka/ template/ -- Templates for various software (Simulink Desktop Real-Time models, etc.) util/ -- Non-robot-specific utility functions
To successfully use dcpctrl_v2, you need a DCP. Good luck!
Once you have a DCP, the general procedure for using code in this library is:
- Run init to set up environment
- Create waypoints and task-space trajectory from input file using program like img2vecttoolpath or img2rasttoolpath (/apps/wayptgen/img2lightpainting)
- Create joint-space trajectory from task-space trajectory using converter like xtraj2qtraj (/apps/trajgen/)
- Create Simulink timeseries trajectory from joint-space trajectory using converter like qtraj2slxtraj (/apps/controller/at40_pctrl)
- Execute trajectory with controller like at40_pctrl (/apps/controller/at40_pctrl)
Please contact Julian Leland (jleland(at)mit(dot)edu) with questions or comments.