def sendParams( self ): msg = FootstepPlannerParams() msg.change_mask = 0 if self.step_cost_groupbox.isChecked(): msg.change_mask = msg.change_mask | 0x001 if self.collision_check_groupbox.isChecked(): msg.change_mask = msg.change_mask | 0x010 if self.foot_size_groupbox.isChecked(): msg.change_mask = msg.change_mask | 0x020 if self.upper_groupbox.isChecked(): msg.change_mask = msg.change_mask | 0x040 if self.std_step_groupbox.isChecked(): msg.change_mask = msg.change_mask | 0x080 if self.terrain_model_groupbox.isChecked(): msg.change_mask = msg.change_mask | 0x100 ### STEP_COST_ESTIMATOR ######## msg.step_cost_type = self.step_cost_combobox.currentIndex() # #HARD ### FOOTSTEP_SET ######## # # parameters for discret footstep planning mode # vigir_atlas_control_msgs/VigirBehaviorStepData[] footstep_set # set of footsteps (displacement vectors (in meter / rad)) # float32[] footstep_cost # cost for each footstep given in footstep set # # #HARD ### LOAD_GPR_STEP_COST ######## # # map step cost file # std_msgs/String map_step_cost_file # # #HARD ### LOAD_MAP_STEP_COST ######## # # destination of gpr file # std_msgs/String gpr_step_cost_file ### COLLISION_CHECK_TYPE ######## msg.collision_check_type = 0 if self.collision_check_feet_checkbox.isChecked(): msg.collision_check_type = msg.collision_check_type | 0x01 if self.collision_check_ub_checkbox.isChecked(): msg.collision_check_type = msg.collision_check_type | 0x02 if self.collision_check_fc_checkbox.isChecked(): msg.collision_check_type = msg.collision_check_type | 0x04 ### FOOT_SIZE ######## msg.foot_size.x = self.foot_size_x.value() msg.foot_size.y = self.foot_size_y.value() msg.foot_size.z = self.foot_size_z.value() msg.foot_origin_shift.x = self.foot_shift_x.value() msg.foot_origin_shift.y = self.foot_shift_y.value() msg.foot_origin_shift.z = self.foot_shift_z.value() ### UPPER_BODY_SIZE ######## msg.upper_body_size.x = self.upper_size_x.value() msg.upper_body_size.y = self.upper_size_y.value() msg.upper_body_size.z = self.upper_size_z.value() msg.upper_body_origin_shift.x = self.upper_origin_x.value() msg.upper_body_origin_shift.y = self.upper_origin_y.value() msg.upper_body_origin_shift.z = self.upper_origin_z.value() ### TERRAIN_MODEL ######## msg.use_terrain_model = self.terrain_model_checkbox.isChecked() msg.min_sampling_steps_x = self.terrain_min_ssx_val.value() msg.min_sampling_steps_y = self.terrain_min_ssy_val.value() msg.max_sampling_steps_x = self.terrain_max_ssx_val.value() msg.max_sampling_steps_y = self.terrain_max_ssy_val.value() msg.max_intrusion_z = self.terrain_max_iz_val.value() msg.max_ground_clearance = self.terrain_max_gc_val.value() msg.minimal_support = self.terrain_ms_val.value() ### STANDARD_STEP_PARAMS ######## msg.foot_seperation = self.foot_sep_val.value() msg.step_duration = self.std_step_step_duration_val.value() msg.sway_duration = self.std_step_sway_duration_val.value() msg.swing_height = self.std_step_swing_height_val.value() msg.lift_height = self.std_step_lift_height_val.value() print msg self.param_pub.publish( msg )
def getParams( self ): msg = FootstepPlannerParams() msg.change_mask = 0 self.param_pub.publish( msg )