24 #include <alcore/alptr.h> 25 #include <alcore/alerror.h> 27 #include <alcommon/alproxy.h> 28 #include <alcommon/albroker.h> 29 #include <alcommon/almodule.h> 31 #include <alvalue/alvalue.h> 33 #include <alproxies/dcmproxy.h> 34 #include <alproxies/almemoryproxy.h> 36 #include <almemoryfastaccess/almemoryfastaccess.h> 38 #include <althread/almutex.h> 42 #include <boost/bind.hpp> 43 #include <boost/thread.hpp> 45 #include <althread/alcriticalsection.h> 50 #include "smpc_solver.h" 51 #include "joints_sensors_id.h" 65 #define ORUW_THROW(message) throw ALERROR(getName(), __FUNCTION__, message) 66 #define ORUW_THROW_ERROR(message,error) throw ALERROR(getName(), __FUNCTION__, message + string (error.what())) 77 oru_walk(ALPtr<ALBroker> broker,
const string& name);
86 void stopWalkingRemote();
88 void setStiffness(
const float &);
95 void initFastRead (
const vector<string>&);
96 void initFastWrite (
const vector<string>&);
97 void initWalkCommands ();
98 void initJointAngles (ALValue &);
100 void initWalkPattern(WMG &);
101 void initWalkPattern_Straight(WMG &);
102 void initWalkPattern_Diagonal(WMG &);
103 void initWalkPattern_Circular(WMG &);
108 void readSensors (jointState&);
109 bool solveMPCProblem (WMG&, smpc_parameters&);
110 void solveIKsendCommands (
const smpc_parameters&,
const smpc::state_com &,
const int, WMG&);
112 void correctNextSupportPosition(WMG &);
113 void feedbackError (smpc::state_com &);
115 void halt(
const char*,
const char *);
116 void stopWalking(
const char*);
135 double ref_joint_angles[LOWER_JOINTS_NUM];
ALPtr< DCMProxy > dcm_proxy
int * last_dcm_time_ms_ptr
ALPtr< ALMemoryProxy > memory_proxy
boost::condition_variable walk_control_condition
A container for parameters.
ProcessSignalConnection dcm_callback_connection
ALPtr< ALMemoryFastAccess > access_sensor_values
boost::mutex walk_control_mutex
The main walking module class.