lipm_walking_controller
1.7.1
Standing.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2018-2019, CNRS-UM LIRMM
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are met:
7
*
8
* 1. Redistributions of source code must retain the above copyright notice,
9
* this list of conditions and the following disclaimer.
10
*
11
* 2. Redistributions in binary form must reproduce the above copyright notice,
12
* this list of conditions and the following disclaimer in the documentation
13
* and/or other materials provided with the distribution.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
19
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25
* POSSIBILITY OF SUCH DAMAGE.
26
*/
27
28
#pragma once
29
30
#include <mc_control/fsm/Controller.h>
31
#include <mc_control/fsm/State.h>
32
33
#include <
lipm_walking/Controller.h
>
34
#include <
lipm_walking/State.h
>
35
36
namespace
lipm_walking
37
{
38
39
namespace
states
40
{
41
53
struct
Standing
:
State
54
{
55
void
configure
(
const
mc_rtc::Configuration &)
override
;
56
60
void
start
()
override
;
61
65
void
teardown
()
override
;
66
70
void
checkPlanUpdates
();
71
75
bool
checkTransitions
()
override
;
76
80
void
runState
()
override
;
81
87
void
updateTarget
(
double
leftFootRatio);
88
92
void
startWalking
();
93
94
protected
:
96
void
handleExternalPlan
();
97
98
private
:
99
Contact
leftFootContact_;
100
Contact
rightFootContact_;
101
Eigen::Vector3d copTarget_;
102
bool
autoplay_ =
false
;
103
std::vector<std::string> autoplay_plans_;
104
double
leftFootRatio_;
106
/* Tsuru add */
107
lipm_walking::Contact
supportContact_;
// Keep the last contact foot stably.
108
lipm_walking::Contact
targetContact_;
// Keep the last contact foot stably.
109
};
110
111
}
// namespace states
112
113
}
// namespace lipm_walking
Controller.h
State.h
lipm_walking
Definition:
build.dox:1
lipm_walking::Contact
Definition:
Contact.h:52
lipm_walking::State
Definition:
State.h:39
lipm_walking::states::Standing
Definition:
Standing.h:54
lipm_walking::states::Standing::teardown
void teardown() override
Definition:
Standing.cpp:162
lipm_walking::states::Standing::updateTarget
void updateTarget(double leftFootRatio)
Definition:
Standing.cpp:278
lipm_walking::states::Standing::checkPlanUpdates
void checkPlanUpdates()
Definition:
Standing.cpp:264
lipm_walking::states::Standing::configure
void configure(const mc_rtc::Configuration &) override
Definition:
Standing.cpp:44
lipm_walking::states::Standing::runState
void runState() override
Definition:
Standing.cpp:177
lipm_walking::states::Standing::checkTransitions
bool checkTransitions() override
Definition:
Standing.cpp:293
lipm_walking::states::Standing::handleExternalPlan
void handleExternalPlan()
Definition:
Standing.cpp:201
lipm_walking::states::Standing::startWalking
void startWalking()
Definition:
Standing.cpp:315
lipm_walking::states::Standing::start
void start() override
Definition:
Standing.cpp:50
src
states
Standing.h
Generated by
1.9.1