 
{ File dt.sil -  ( Data for Silspec ) }
 
 
sx_13_19_constants == mk_robot_constants(
    'SX_13_19',
     6,       { number of joints }
     [ list(true, true, true, true, true, true) ] as joint_kinds,
     [ list(0.000000000000000e+00, -1.570796326794895e+00, 1.736183430119853e-15, -3.141592653589786e+00, -3.141592653589786e+00, 0.000000000000000e+00) ] as jvr,     { home }
     [ list(0.000000000000000e+00, -1.570796326794895e+00, 1.736183430119853e-15, -3.141592653589786e+00, -3.141592653589786e+00, 0.000000000000000e+00) ] as jvr,     { ready }
     sx_13_19_flange_rel_wrist, 
     3.500000000000000e+01,      { master step (cm) }
     true,               { has static joint limits }  
     [ list(false, false, false, true, false, true) ] as joint_kinds,  { jlim > 360 }
     list(null_frame:crt_ypr,null_frame:crt_ypr,null_frame:crt_ypr,null_frame:crt_ypr,null_frame:crt_ypr,null_frame:crt_ypr),  { pizza positions used by mouse interface }
     list('<1>','<2>','<3>','<4>','<5>','<6>','<7>','<8>')
     );
 
sx_13_19_robotdata == mk_robotdata(
     sx_13_19_constants as_type universal,
 
     { closures }
 
     mk_closure(av_to_jvr_sx_13_19(object,av)),
     mk_closure(jvr_to_av_sx_13_19(object,jvr)),
     mk_closure(in_joint_limits_sx_13_19(object,jvr)),
     mk_closure(joint_limits_sx_13_19(object,jvr)),
     nil as_type joint_limits_cl_type,
     mk_closure(kin_sx_13_19(object,jvr)),
     mk_closure(invkin_sx_13_19(object,frame)),
     mk_closure(move_robot_sx_13_19(object,jvr)),
     mk_closure(rxx_wrist_workspace(object)),
     mk_closure(workspace_box_sx_13_19(object)),
     mk_closure(no_workspace_profile(object)),
     mk_closure(no_jacobian(object,jvr,jvrvelvec)),
     mk_closure(no_invjacobian(object,jvr,velvec)),
     mk_closure(sx_13_19_to_cim_jvr(object,jvr)), 
     mk_closure(cim_to_sx_13_19_jvr(object,jvr)),
     mk_closure(near_sol_sx_13_19(object)), 
     nil as_type home_cl_type,
     nil as_type ready_cl_type,
     nil as_type robot_con_cl_type,
     nil as_type robot_con_print_cl_type,
 
     { variables indicating current state }
 
     [ list(0.000000000000000e+00, -1.570796326794895e+00, 1.736183430119853e-15, -3.141592653589786e+00, -3.141592653589786e+00, 0.000000000000000e+00) ] as jvr,     { home }
     [ list(0.000000000000000e+00, -1.570796326794895e+00, 1.736183430119853e-15, -3.141592653589786e+00, -3.141592653589786e+00, 0.000000000000000e+00) ] as jvr,     { ready }
     nil as_type universal,      
     nil as_type universal,      
     nil as_type universal,      
     nil as_type universal,      
     true,                             { emulate mode }
     [ list(0.000000000000000e+00, -1.570796326794895e+00, 1.736183430119853e-15, -3.141592653589786e+00, -3.141592653589786e+00, 0.000000000000000e+00) ] as jvr,     { current }
     [ list(0.000000000000000e+00, -1.570796326794895e+00, 1.736183430119853e-15, -3.141592653589786e+00, -3.141592653589786e+00, 0.000000000000000e+00) ] as jvr,     { current }
     3.500000000000000e+01,      { default step size (cm) }
     false,
     null_arm_solution
     );        
 
 
sx_13_19_pathdata == mk_pathdata(
     list(map_of("TRAPFLY_JS,map(planner_return_type,object,frame,path)),
          map_of("TRAP_ZONE_CS,map(planner_return_type,object,frame,path))),
     list(sx_13_19_js_vacon,sx_13_19_cslm_vacon),     { vacons }
     list('jv','crt_aax'),                        { reps }
     list(0.0,0.0),                                    { minsegts }
     2.500000000000000e-01 as fmax,                                     { default_vcon }
     2.500000000000000e-01 as fmax, 
     2.500000000000000e-01 as fmax,                                     { default_acon }
     2.500000000000000e-01 as fmax, 
     0.0,                            { precision }
     0.0,                            { settle_time }
     2.0,                            { smoothness }
    2.000000000000000e-02,                           { solution_period }
     nil as_type universal,
     nil as_type universal,
     nil as_type universal,
     false,
     nil as_type universal,
     nil as_type universal,
     nil as_type universal,
     nil as_type universal
     );
 
