Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
loco-3d
Multicontact-api
Commits
9e3474f8
Commit
9e3474f8
authored
Feb 07, 2020
by
Pierre Fernbach
Browse files
ContactSequence : add method haveZMPtrajectories
parent
6045f354
Changes
2
Show whitespace changes
Inline
Side-by-side
include/multicontact-api/bindings/python/scenario/contact-sequence.hpp
View file @
9e3474f8
...
...
@@ -159,6 +159,8 @@ struct ContactSequencePythonVisitor : public bp::def_visitor<ContactSequencePyth
.
def
(
"haveFriction"
,
&
CS
::
haveFriction
,
"check that all the contact patch used in the sequence have"
"a friction coefficient initialized."
)
.
def
(
"haveZMPtrajectories"
,
&
CS
::
haveZMPtrajectories
,
"check that all the contact phases have a ZMP trajectory."
)
.
def
(
"getAllEffectorsInContact"
,
&
getAllEffectorsInContactAsList
,
"return a list of names of all the effectors used to create contacts during the sequence"
)
.
def
(
"concatenateCtrajectories"
,
&
CS
::
concatenateCtrajectories
,
...
...
include/multicontact-api/scenario/contact-sequence.hpp
View file @
9e3474f8
...
...
@@ -823,6 +823,31 @@ struct ContactSequenceTpl : public serialization::Serializable<ContactSequenceTp
return
true
;
}
/**
* @brief haveZMPtrajectories check that all the contact phases have a zmp trajectory
* @return
*/
bool
haveZMPtrajectories
(){
size_t
i
=
0
;
for
(
const
ContactPhase
&
phase
:
m_contact_phases
){
if
(
!
phase
.
m_zmp
){
std
::
cout
<<
"ZMP trajectory not defined for phase : "
<<
i
<<
std
::
endl
;
return
false
;
}
if
(
phase
.
m_zmp
->
min
()
!=
phase
.
timeInitial
()){
std
::
cout
<<
"ZMP trajectory do not start at t_init for phase : "
<<
i
<<
std
::
endl
;
return
false
;
}
if
(
phase
.
m_zmp
->
max
()
!=
phase
.
timeFinal
()){
std
::
cout
<<
"ZMP trajectory do not end at t_final for phase : "
<<
i
<<
std
::
endl
;
return
false
;
}
++
i
;
}
return
true
;
}
/**
* @brief getAllEffectorsInContact return a vector of names of all the effectors used to create contacts during the sequence
* @return
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment