Drake
calc_ongoing_road_position.h
Go to the documentation of this file.
1 #pragma once
2 
7 
8 namespace drake {
9 namespace automotive {
10 
11 /// Given a PoseVector @p pose, find a car's current RoadGeometry via a search
12 /// of immediate ongoing lanes, starting with the current one. Uses the
13 /// provided FrameVelocity @p velocity to determine which side of the lane
14 /// (provided in @p rp) to check. Updates @p rp with the result, if one is
15 /// found; otherwise updates @p rp using the result of a global search of the @p
16 /// road.
17 ///
18 /// Instantiated templates for the following scalar types `T` are provided:
19 /// - double
20 /// - drake::AutoDiffXd
21 ///
22 /// They are already available to link against in the containing library.
23 //
24 // TODO(jadecastro) Enable symbolic::Expression (currently,
25 // PoseSelector::GetSigmaVelocity() is blocking us, as it uses
26 // ExtractDoubleOrThrow()).
27 template <typename T>
29  const systems::rendering::PoseVector<T>& pose,
30  const systems::rendering::FrameVelocity<T>& velocity,
31  const maliput::api::RoadGeometry& road,
32  maliput::api::RoadPosition* rp);
33 
34 } // namespace automotive
35 } // namespace drake
Definition: automotive_demo.cc:90
void CalcOngoingRoadPosition(const PoseVector< T > &pose, const FrameVelocity< T > &velocity, const RoadGeometry &road, RoadPosition *rp)
Definition: calc_ongoing_road_position.cc:23
Isometry3< double > pose
Definition: pose_smoother.cc:28
Vector6< double > velocity
Definition: pose_smoother.cc:29