diff --git a/dynamixel_manager/include/modules/walk_registers.h b/dynamixel_manager/include/modules/walk_registers.h index ffcb8e111539e26bed6623f5577de4ee66be69c8..edbfd9e1097fe12cd83198480c31c41758fdc1d4 100644 --- a/dynamixel_manager/include/modules/walk_registers.h +++ b/dynamixel_manager/include/modules/walk_registers.h @@ -52,7 +52,7 @@ unsigned short int name##_eeprom_data[] __attribute__ ((section (section_name))) __attribute__ ((aligned (4)))= {\ DEFAULT_X_OFFSET,base_address+WALK_X_OFFSET, \ DEFAULT_Y_OFFSET,base_address+WALK_Y_OFFSET, \ - DEFAULT_Z_OFFSET,base_address+WALK_Y_OFFSET, \ + DEFAULT_Z_OFFSET,base_address+WALK_Z_OFFSET, \ DEFAULT_ROLL_OFFSET,base_address+WALK_ROLL_OFFSET, \ DEFAULT_PITCH_OFFSET,base_address+WALK_PITCH_OFFSET, \ DEFAULT_YAW_OFFSET,base_address+WALK_YAW_OFFSET, \ diff --git a/dynamixel_manager/src/modules/walk.c b/dynamixel_manager/src/modules/walk.c index b5fedefedbf49eae3f04b0dec4a9f90b84aa027f..c2fdfc80cd48198668b76ed9ae14ec7eb021e1e8 100755 --- a/dynamixel_manager/src/modules/walk.c +++ b/dynamixel_manager/src/modules/walk.c @@ -33,33 +33,33 @@ void walk_write_cmd(TWalkMModule *module,unsigned short int address,unsigned sho module->memory->data[module->ram_base_address+WALK_STEP_DIRECTION]=data[WALK_STEP_DIRECTION-ram_offset]; // walk parameters eeprom_offset=address-module->eeprom_base_address; - if(ram_in_range(module->ram_base_address+WALK_R_HIP_ROLL_SERVO_ID,address,length)) + if(ram_in_range(module->eeprom_base_address+WALK_R_HIP_ROLL_SERVO_ID,address,length)) module->right_hip_roll_servo_id=data[WALK_R_HIP_ROLL_SERVO_ID-eeprom_offset]; - if(ram_in_range(module->ram_base_address+WALK_R_HIP_YAW_SERVO_ID,address,length)) + if(ram_in_range(module->eeprom_base_address+WALK_R_HIP_YAW_SERVO_ID,address,length)) module->right_hip_yaw_servo_id=data[WALK_R_HIP_YAW_SERVO_ID-eeprom_offset]; - if(ram_in_range(module->ram_base_address+WALK_R_HIP_PITCH_SERVO_ID,address,length)) + if(ram_in_range(module->eeprom_base_address+WALK_R_HIP_PITCH_SERVO_ID,address,length)) module->right_hip_pitch_servo_id=data[WALK_R_HIP_PITCH_SERVO_ID-eeprom_offset]; - if(ram_in_range(module->ram_base_address+WALK_R_KNEE_SERVO_ID,address,length)) + if(ram_in_range(module->eeprom_base_address+WALK_R_KNEE_SERVO_ID,address,length)) module->right_knee_servo_id=data[WALK_R_KNEE_SERVO_ID-eeprom_offset]; - if(ram_in_range(module->ram_base_address+WALK_R_ANKLE_PITCH_SERVO_ID,address,length)) + if(ram_in_range(module->eeprom_base_address+WALK_R_ANKLE_PITCH_SERVO_ID,address,length)) module->right_ankle_pitch_servo_id=data[WALK_R_ANKLE_PITCH_SERVO_ID-eeprom_offset]; - if(ram_in_range(module->ram_base_address+WALK_R_ANKLE_ROLL_SERVO_ID,address,length)) + if(ram_in_range(module->eeprom_base_address+WALK_R_ANKLE_ROLL_SERVO_ID,address,length)) module->right_ankle_roll_servo_id=data[WALK_R_ANKLE_ROLL_SERVO_ID-eeprom_offset]; - if(ram_in_range(module->ram_base_address+WALK_R_SHOULDER_PITCH_SERVO_ID,address,length)) + if(ram_in_range(module->eeprom_base_address+WALK_R_SHOULDER_PITCH_SERVO_ID,address,length)) module->right_shoulder_pitch_servo_id=data[WALK_R_SHOULDER_PITCH_SERVO_ID-eeprom_offset]; - if(ram_in_range(module->ram_base_address+WALK_L_HIP_ROLL_SERVO_ID,address,length)) + if(ram_in_range(module->eeprom_base_address+WALK_L_HIP_ROLL_SERVO_ID,address,length)) module->left_hip_roll_servo_id=data[WALK_L_HIP_ROLL_SERVO_ID-eeprom_offset]; - if(ram_in_range(module->ram_base_address+WALK_L_HIP_YAW_SERVO_ID,address,length)) + if(ram_in_range(module->eeprom_base_address+WALK_L_HIP_YAW_SERVO_ID,address,length)) module->left_hip_yaw_servo_id=data[WALK_L_HIP_YAW_SERVO_ID-eeprom_offset]; - if(ram_in_range(module->ram_base_address+WALK_L_HIP_PITCH_SERVO_ID,address,length)) + if(ram_in_range(module->eeprom_base_address+WALK_L_HIP_PITCH_SERVO_ID,address,length)) module->left_hip_pitch_servo_id=data[WALK_L_HIP_PITCH_SERVO_ID-eeprom_offset]; - if(ram_in_range(module->ram_base_address+WALK_L_KNEE_SERVO_ID,address,length)) + if(ram_in_range(module->eeprom_base_address+WALK_L_KNEE_SERVO_ID,address,length)) module->left_knee_servo_id=data[WALK_L_KNEE_SERVO_ID-eeprom_offset]; - if(ram_in_range(module->ram_base_address+WALK_L_ANKLE_PITCH_SERVO_ID,address,length)) + if(ram_in_range(module->eeprom_base_address+WALK_L_ANKLE_PITCH_SERVO_ID,address,length)) module->left_ankle_pitch_servo_id=data[WALK_L_ANKLE_PITCH_SERVO_ID-eeprom_offset]; - if(ram_in_range(module->ram_base_address+WALK_L_ANKLE_ROLL_SERVO_ID,address,length)) + if(ram_in_range(module->eeprom_base_address+WALK_L_ANKLE_ROLL_SERVO_ID,address,length)) module->left_ankle_roll_servo_id=data[WALK_L_ANKLE_ROLL_SERVO_ID-eeprom_offset]; - if(ram_in_range(module->ram_base_address+WALK_L_SHOULDER_PITCH_SERVO_ID,address,length)) + if(ram_in_range(module->eeprom_base_address+WALK_L_SHOULDER_PITCH_SERVO_ID,address,length)) module->left_shoulder_pitch_servo_id=data[WALK_L_SHOULDER_PITCH_SERVO_ID-eeprom_offset]; for(i=0;i<EEPROM_WALK_LENGTH;i++) if(ram_in_range(module->eeprom_base_address+i,address,length)) @@ -209,7 +209,14 @@ void walk_pre_process(void *module) float x_move_l,y_move_l,z_move_l,a_move_l,b_move_l,c_move_l; float pelvis_offset_r,pelvis_offset_l; float angle[14],ep[12]; + static unsigned char first=0x01; + if(first==0x01) + { + first=0x00; + update_param_time(walk); + update_param_move(walk); + } if(walk->time==0) { update_param_time(walk); @@ -431,7 +438,7 @@ void walk_set_period(void *module,unsigned short int period_ms) { TWalkMModule *walk=(TWalkMModule *)module; - walk->walk_period=((float)period_ms)/1000000.0; + walk->walk_period=((float)period_ms); } void walk_set_module(void *module,unsigned char servo_id) @@ -461,11 +468,6 @@ unsigned char walk_init(TWalkMModule *walk,TMemory *memory,unsigned short int ra walk->running=0x00; walk->leg_ik_function=0x00000000; -// update_param_time(walk); -// update_param_move(walk); - -// walk_pre_process(walk); - /* initialize the motion module */ mmodule_init(&walk->mmodule); walk->mmodule.id=MM_WALK;