dcm.hpp
Go to the documentation of this file.
00001 /*
00002  * Copyright 2016 SoftBank Robotics Europe
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  *
00016 */
00017 
00018 #ifndef DCM_HPP
00019 #define DCM_HPP
00020 
00021 // NAOqi Headers
00022 #include <qi/session.hpp>
00023 
00027 class DCM
00028 {
00029 public:
00030   DCM(const qi::SessionPtr& session,
00031       const double &controller_freq);
00032 
00034   bool init(const std::vector <std::string> &joints);
00035 
00037   void writeJoints(const std::vector <double> &joint_commands);
00038 
00040   bool setStiffness(const float &stiffness);
00041 
00043   int getTime(const int &offset);
00044 
00045 private:
00047   void createPositionActuatorCommand(const std::vector <std::string> &joints);
00048 
00050   bool createPositionActuatorAlias(const std::vector <std::string> &joints);
00051 
00053   bool createHardnessActuatorAlias(const std::vector <std::string> &joints);
00054 
00056   bool DCMAliasTimedCommand(const std::string& alias,
00057                             const float& values,
00058                             const int& timeOffset,
00059                             const std::string& type_update="Merge");
00060 
00062   qi::AnyObject dcm_proxy_;
00063 
00065   std::vector <qi::AnyValue> commands_;
00066 
00068   std::vector <std::vector <std::vector <qi::AnyValue> > > commands_values_;
00069 
00071   double controller_freq_;
00072 };
00073 #endif // DCM_HPP


naoqi_dcm_driver
Author(s): Konstantinos Chatzilygeroudis , Mikael Arguedas , Karsten Knese , Natalia Lyubova
autogenerated on Thu Jun 6 2019 20:50:49