function perceptionParameters(realDataDirectory) % This code is copyrighted by Stanford University. % Author: Ashutosh Saxena, Justin Drieymeyer % Code cannot be used for commercial purposes. % Use of the code, if used with permission from authors, must acknowledge: % Learning to Grasp Novel Objects using Vision, % Ashutosh Saxena, Justin Driemeyer, Justin Kearns, Chioma Osondu, Andrew Y. Ng. In 10th International Symposium on Experimental Robotics, ISER, 2006. % Robotic Grasping of Novel Obects, % Ashutosh Saxena, Justing Driemeyer, Justin Kearns, Andrew Y. Ng, In Neural Information Processing Systems (NIPS), 2006. % More details at: http://ai.stanford.edu/~asaxena/learninggrasp/ % Version 0.1: Aug 2006. global realWorldFlag neighborFlag neighborFlag = true; global syntheticDataDirectory scratchDataDirectory %where the image filename will be stored from control code in realtime global testImageFilename testFileVector global trainingWeightsFilename1 trainingWeightsFilename2 trainingWeightsFilenameZoomed trainingFilename global trainingWeightsFilename3 trainingWeightsFilename4 trainingWeightsFilename global trainingWeightsFilenameBase global cameraAngleFile nDimForGrasp nDimNeighbors nNeighbors dishwasherDirectory global fullFeatsToUse rackRows rackCols numHandlesToPredict global tfile threeDFeatLength depthBasedFeats numHandlesToPredict = 2; rackRows = 159:437; rackCols = 114:486; fullFeatsToUse = []; depthBasedFeats = []; featsToUse = [1:9 12:17]; depthFeatsToUse = [];%[3 7 10:15]; discreteDepthFeatsToUse = depthFeatsToUse; MomentFeats = [1:16 117:132]; PCAMomentFeats = [17:32 133:148]; PercentageFeats = [33:89 149:205]; PCAPercentFeats = [90:116 206:232]; threeDFeatLength = PCAPercentFeats(end); stereo3DFeatsToUse = []; %stereo3DFeatsToUse = [stereo3DFeatsToUse MomentFeats]; %stereo3DFeatsToUse = [stereo3DFeatsToUse PCAMomentFeats]; %stereo3DFeatsToUse = [stereo3DFeatsToUse PercentageFeats]; %stereo3DFeatsToUse = [stereo3DFeatsToUse PCAPercentFeats]; stereo3DFeatsToUse = sort(stereo3DFeatsToUse); featSegs = [26 33 40]; for n=0:featSegs(1); fullFeatsToUse = [fullFeatsToUse n*17 + featsToUse]; end for n=(featSegs(1)+1):featSegs(2); fullFeatsToUse = [fullFeatsToUse n*17 + depthFeatsToUse]; depthBasedFeats = [depthBasedFeats n*17 + depthFeatsToUse]; end for n=(featSegs(2)+1):featSegs(3); fullFeatsToUse = [fullFeatsToUse n*17 + discreteDepthFeatsToUse]; depthBasedFeats = [depthBasedFeats n*17 + discreteDepthFeatsToUse]; end for n=(featSegs(3)+1); fullFeatsToUse = [fullFeatsToUse n*17 + stereo3DFeatsToUse]; end nDimForGrasp = size(fullFeatsToUse, 2); nDimNeighbors = 17; nNeighbors = 5; realWorldFlag = true; realDataFilename = 'ArmOutput100'; cameraAngleFile = [realDataDirectory realDataFilename '.txt']; nRealImages = length( dir([realDataDirectory realDataFilename '*.jpg'])); %% FOR RUNNING IN CVS REPOSITORY if true dishwasherDirectory = '/afs/cs/group/stairperception/Data/DishwasherData/'; weightsDirectory = '/afs/cs/group/stairperception/otherFiles/weightsDirectory/'; tfile = '/afs/cs/group/stairperception/otherFiles/calibration/T.mat'; if nargin < 1 realDataDirectory = '/afs/cs/group/stairperception/Data/Real/ISER_NIPS_Data/ZigZagData/zigdata1/'; end; syntheticDataDirectory = '/afs/cs/group/stairperception/Data/Synthetic/June2006Data'; scratchDataDirectory = '/afs/cs/group/stairperception/scratch'; testImageFilename = [realDataDirectory realDataFilename '_']; testFileVector = 1:4; %nRealImages; trainingFilename = [weightsDirectory 'savedFeatureVector.mat']; trainingWeightsFilename = [weightsDirectory 'weightsSyntheticAll.mat']; trainingWeightsFilename1 = [weightsDirectory 'weightsSyntheticAll1.mat']; trainingWeightsFilename2 = [weightsDirectory 'weightsSyntheticAll2.mat']; trainingWeightsFilename3 = [weightsDirectory 'weightsSyntheticAll3.mat']; trainingWeightsFilename4 = [weightsDirectory 'weightsSyntheticAll4.mat']; trainingWeightsFilenameZoomed = [weightsDirectory 'weightsSyntheticAllZoomed.mat']; trainingWeightsFilenameBase = weightsDirectory; else tfile = 'X:\davidho\pics\calibration3\T.mat'; dishwasherDirectory = 'C:\Program Files\Point Grey Research\Triclops Stereo Vision SDK\src\examples\common\example2\'; weightsDirectory = 'X:\justind\workspace\otherFiles\weightsDirectory\'; if nargin < 1 realDataDirectory = 'MoreRealCupData1/'; end syntheticDataDirectory = 'SyntheticData/'; testImageFilename = [realDataDirectory realDataFilename '_']; testFileVector = 1:2; %1:nRealImages; trainingFilename = 'savedFeatureVector.mat'; trainingWeightsFilename = [weightsDirectory 'weightsSyntheticAll.mat']; trainingWeightsFilename1 = [weightsDirectory 'weightsSyntheticAll.mat']; trainingWeightsFilename2 = [weightsDirectory 'weightsSyntheticAll.mat']; trainingWeightsFilename3 = [weightsDirectory 'weightsSyntheticAll.mat']; trainingWeightsFilename4 = [weightsDirectory 'weightsSyntheticAll.mat']; trainingWeightsFilenameZoomed = [weightsDirectory 'weightsSyntheticAll.mat']; cameraAngleFile = [realDataDirectory realDataFilename '.txt']; end