 
{ File dt.sil -  ( Data for Silspec ) }
 
 
rebel_s6_075_constants == mk_robot_constants(
    'REBEL_S6_075',
     4,       { number of joints }
     [ list(true, true, false, true) ] as joint_kinds,
     [ list(0.000000000000000e+000, 0.000000000000000e+000, 0.000000000000000e+000, 0.000000000000000e+000) ] as jvr,     { home }
     [ list(0.000000000000000e+000, 0.000000000000000e+000, 0.000000000000000e+000, 0.000000000000000e+000) ] as jvr,     { ready }
     rebel_s6_075_flange_rel_wrist, 
     1.000000000000000e+001,      { master step (cm) }
     true,               { has static joint limits }  
     [ list(false, false, false, true) ] as joint_kinds,  { jlim > 360 }
     list(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>')
     );
 
rebel_s6_075_robotdata == mk_robotdata(
     rebel_s6_075_constants as_type universal,
 
     { closures }
 
     mk_closure(av_to_jvr_rebel_s6_075(object,av)),
     mk_closure(jvr_to_av_rebel_s6_075(object,jvr)),
     mk_closure(in_joint_limits_rebel_s6_075(object,jvr)),
     mk_closure(joint_limits_rebel_s6_075(object,jvr)),
     nil as_type joint_limits_cl_type,
     mk_closure(kin_rebel_s6_075(object,jvr)),
     mk_closure(invkin_rebel_s6_075(object,frame)),
     mk_closure(move_robot_rebel_s6_075(object,jvr)),
     mk_closure(rxx_wrist_workspace(object)),
     mk_closure(workspace_box_rebel_s6_075(object)),
     mk_closure(no_workspace_profile(object)),
     mk_closure(no_jacobian(object,jvr,jvrvelvec)),
     mk_closure(no_invjacobian(object,jvr,velvec)),
     mk_closure(rebel_s6_075_to_cim_jvr(object,jvr)), 
     mk_closure(cim_to_rebel_s6_075_jvr(object,jvr)),
     mk_closure(near_sol_rebel_s6_075(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+000, 0.000000000000000e+000, 0.000000000000000e+000, 0.000000000000000e+000) ] as jvr,     { home }
     [ list(0.000000000000000e+000, 0.000000000000000e+000, 0.000000000000000e+000, 0.000000000000000e+000) ] 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+000, 0.000000000000000e+000, 0.000000000000000e+000, 0.000000000000000e+000) ] as jvr,     { current }
     [ list(0.000000000000000e+000, 0.000000000000000e+000, 0.000000000000000e+000, 0.000000000000000e+000) ] as jvr,     { current }
     1.000000000000000e+001,      { default step size (cm) }
     false,
     null_arm_solution
     );        
 
 
rebel_s6_075_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(rebel_s6_075_js_vacon,rebel_s6_075_cslm_vacon),     { vacons }
     list('jv','crt_aax'),                        { reps }
     list(0.0,0.0),                                    { minsegts }
     1.000000000000000e+000 as fmax,                                     { default_vcon }
     1.000000000000000e+000 as fmax, 
     1.000000000000000e+000 as fmax,                                     { default_acon }
     1.000000000000000e+000 as fmax, 
     0.0,                            { precision }
     0.0,                            { settle_time }
     2.0,                            { smoothness }
    2.000000000000000e-002,                           { 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
     );
 
