holonomic option: makeing z depending on x and pitch too if nonholonomic

This commit is contained in:
matlabbe
2015-06-16 08:50:32 -04:00
parent bc18d4bf7d
commit 7cd0d0cd53
3 changed files with 14 additions and 3 deletions

View File

@@ -225,9 +225,16 @@ Transform Odometry::process(const SensorData & data, OdometryInfo * info)
if(!_force2D)
{
z = filters_[2]->filter(z);
roll = filters_[3]->filter(roll);
pitch = filters_[4]->filter(pitch);
if(_holonomic)
{
z = filters_[2]->filter(z);
}
else
{
z = x * tan(pitch);
}
}
}
@@ -239,6 +246,10 @@ Transform Odometry::process(const SensorData & data, OdometryInfo * info)
else if(!_holonomic)
{
y = x * tan(yaw);
if(!_force2D)
{
z = x * tan(pitch);
}
}
UASSERT_MSG(uIsFinite(x) && uIsFinite(y) && uIsFinite(z) &&
uIsFinite(roll) && uIsFinite(pitch) && uIsFinite(yaw),