Go to the documentation of this file.00001
00002 #ifndef AUTOBALANCERSERVICESVC_IMPL_H
00003 #define AUTOBALANCERSERVICESVC_IMPL_H
00004
00005 #include "hrpsys/idl/AutoBalancerService.hh"
00006
00007 using namespace OpenHRP;
00008
00009 class AutoBalancer;
00010
00011 class AutoBalancerService_impl
00012 : public virtual POA_OpenHRP::AutoBalancerService,
00013 public virtual PortableServer::RefCountServantBase
00014 {
00015 public:
00016 AutoBalancerService_impl();
00017 virtual ~AutoBalancerService_impl();
00018 CORBA::Boolean goPos( CORBA::Double x, CORBA::Double y, CORBA::Double th);
00019 CORBA::Boolean goVelocity( CORBA::Double vx, CORBA::Double vy, CORBA::Double vth);
00020 CORBA::Boolean goStop();
00021 CORBA::Boolean emergencyStop();
00022 CORBA::Boolean setFootSteps(const OpenHRP::AutoBalancerService::FootstepsSequence& fss, CORBA::Long overwrite_fs_idx);
00023 CORBA::Boolean setFootStepsWithParam(const OpenHRP::AutoBalancerService::FootstepsSequence& fss, const OpenHRP::AutoBalancerService::StepParamsSequence& spss, CORBA::Long overwrite_fs_idx);
00024 void waitFootSteps();
00025 void waitFootStepsEarly(CORBA::Double tm);
00026 CORBA::Boolean startAutoBalancer(const OpenHRP::AutoBalancerService::StrSequence& limbs);
00027 CORBA::Boolean stopAutoBalancer();
00028 CORBA::Boolean setGaitGeneratorParam(const OpenHRP::AutoBalancerService::GaitGeneratorParam& i_param);
00029 CORBA::Boolean getGaitGeneratorParam(OpenHRP::AutoBalancerService::GaitGeneratorParam_out i_param);
00030 CORBA::Boolean setAutoBalancerParam(const OpenHRP::AutoBalancerService::AutoBalancerParam& i_param);
00031 CORBA::Boolean getAutoBalancerParam(OpenHRP::AutoBalancerService::AutoBalancerParam_out i_param);
00032 CORBA::Boolean getFootstepParam(OpenHRP::AutoBalancerService::FootstepParam_out i_param);
00033 CORBA::Boolean adjustFootSteps(const OpenHRP::AutoBalancerService::Footstep& rfootstep, const OpenHRP::AutoBalancerService::Footstep& lfootstep);
00034 CORBA::Boolean getRemainingFootstepSequence(OpenHRP::AutoBalancerService::FootstepSequence_out o_footstep , CORBA::Long& o_current_fs_idx);
00035 CORBA::Boolean getGoPosFootstepsSequence(CORBA::Double x, CORBA::Double y, CORBA::Double th, OpenHRP::AutoBalancerService::FootstepsSequence_out o_footstep);
00036 CORBA::Boolean releaseEmergencyStop();
00037
00038
00039 void autobalancer(AutoBalancer *i_autobalancer);
00040 private:
00041 AutoBalancer *m_autobalancer;
00042 };
00043
00044 #endif