|
SMACC2
|
#include <cp_vehicle_local_position.hpp>


Public Member Functions | |
| CpVehicleLocalPosition () | |
| virtual | ~CpVehicleLocalPosition () |
| void | onInitialize () override |
| float | getX () const |
| float | getY () const |
| float | getZ () const |
| float | getHeading () const |
| bool | isValid () const |
| bool | globalRefValid () const |
| double | getRefLat () const |
| double | getRefLon () const |
| float | getRefAlt () const |
| uint64_t | getRefTimestamp () const |
| uint8_t | getXyResetCounter () const |
| uint8_t | getZResetCounter () const |
| bool | projectToNed (double lat, double lon, float &x, float &y) const |
| bool | reprojectFromNed (float x, float y, double &lat, double &lon) const |
Public Member Functions inherited from smacc2::ISmaccComponent | |
| ISmaccComponent () | |
| virtual | ~ISmaccComponent () |
| virtual std::string | getName () const |
Public Attributes | |
| smacc2::SmaccSignal< void()> | onPositionReceived_ |
| smacc2::SmaccSignal< void()> | onLocalPositionReset_ |
Private Member Functions | |
| void | onPositionMessage (const px4_msgs::msg::VehicleLocalPosition::SharedPtr msg) |
Private Attributes | |
| rclcpp::Subscription< px4_msgs::msg::VehicleLocalPosition >::SharedPtr | subscriber_ |
| float | x_ = 0.0f |
| float | y_ = 0.0f |
| float | z_ = 0.0f |
| float | heading_ = 0.0f |
| bool | valid_ = false |
| bool | xyGlobal_ = false |
| bool | zGlobal_ = false |
| double | refLat_ = 0.0 |
| double | refLon_ = 0.0 |
| float | refAlt_ = 0.0f |
| uint64_t | refTimestamp_ = 0 |
| uint8_t | xyResetCounter_ = 0 |
| uint8_t | zResetCounter_ = 0 |
| bool | firstMessage_ = true |
| MapProjection | projection_ |
| std::mutex | mutex_ |
Additional Inherited Members | |
Protected Member Functions inherited from smacc2::ISmaccComponent | |
| template<typename TOrthogonal , typename TClient > | |
| void | onComponentInitialization () |
| template<typename EventType > | |
| void | postEvent (const EventType &ev) |
| template<typename EventType > | |
| void | postEvent () |
| template<typename TOrthogonal , typename TSourceObject > | |
| void | onStateOrthogonalAllocation () |
| template<typename TComponent > | |
| void | requiresComponent (TComponent *&requiredComponentStorage, ComponentRequirement requirementType=ComponentRequirement::SOFT) |
| template<typename TComponent > | |
| void | requiresComponent (std::string name, TComponent *&requiredComponentStorage, ComponentRequirement requirementType=ComponentRequirement::SOFT) |
| template<typename TClient > | |
| void | requiresClient (TClient *&requiredClientStorage) |
| template<typename SmaccComponentType , typename TOrthogonal , typename TClient , typename... TArgs> | |
| SmaccComponentType * | createSiblingComponent (TArgs... targs) |
| template<typename SmaccComponentType , typename TOrthogonal , typename TClient , typename... TArgs> | |
| SmaccComponentType * | createSiblingNamedComponent (std::string name, TArgs... targs) |
| rclcpp::Node::SharedPtr | getNode () |
| rclcpp::Logger | getLogger () const |
| ISmaccStateMachine * | getStateMachine () |
Protected Attributes inherited from smacc2::ISmaccComponent | |
| ISmaccStateMachine * | stateMachine_ |
| ISmaccClient * | owner_ |
Definition at line 36 of file cp_vehicle_local_position.hpp.
| cl_px4_mr::CpVehicleLocalPosition::CpVehicleLocalPosition | ( | ) |
Definition at line 20 of file cp_vehicle_local_position.cpp.
|
virtual |
Definition at line 22 of file cp_vehicle_local_position.cpp.
| float cl_px4_mr::CpVehicleLocalPosition::getHeading | ( | ) | const |
Definition at line 116 of file cp_vehicle_local_position.cpp.
References heading_, and mutex_.
Referenced by cl_px4_mr::CpTrajectorySetpoint::hold(), cl_px4_mr::CbChangeAltitude::onEntry(), cl_px4_mr::CbPx4PathFollowerBase::onEntry(), cl_px4_mr::CbSineAltitudeCruise::onEntry(), cl_px4_mr::CbTakeOff::onEntry(), cl_px4_mr::CbYawRotate::onEntry(), cl_px4_mr::CbYawScan::onEntry(), and cl_px4_mr::CbYawRotate::update().

| float cl_px4_mr::CpVehicleLocalPosition::getRefAlt | ( | ) | const |
Definition at line 146 of file cp_vehicle_local_position.cpp.
| double cl_px4_mr::CpVehicleLocalPosition::getRefLat | ( | ) | const |
Definition at line 134 of file cp_vehicle_local_position.cpp.
| double cl_px4_mr::CpVehicleLocalPosition::getRefLon | ( | ) | const |
Definition at line 140 of file cp_vehicle_local_position.cpp.
| uint64_t cl_px4_mr::CpVehicleLocalPosition::getRefTimestamp | ( | ) | const |
Definition at line 152 of file cp_vehicle_local_position.cpp.
References mutex_, and refTimestamp_.
| float cl_px4_mr::CpVehicleLocalPosition::getX | ( | ) | const |
Definition at line 98 of file cp_vehicle_local_position.cpp.
Referenced by cl_px4_mr::CpTrajectorySetpoint::hold(), cl_px4_mr::CbChangeAltitude::onEntry(), cl_px4_mr::CbOrbitLocation::onEntry(), cl_px4_mr::CbPx4PathFollowerBase::onEntry(), cl_px4_mr::CbSineAltitudeCruise::onEntry(), cl_px4_mr::CbTakeOff::onEntry(), cl_px4_mr::CbYawRotate::onEntry(), cl_px4_mr::CbYawScan::onEntry(), cl_px4_mr::CbPx4PathFollowerBase::update(), and cl_px4_mr::CpGoalChecker::update().

| uint8_t cl_px4_mr::CpVehicleLocalPosition::getXyResetCounter | ( | ) | const |
Definition at line 158 of file cp_vehicle_local_position.cpp.
References mutex_, and xyResetCounter_.
| float cl_px4_mr::CpVehicleLocalPosition::getY | ( | ) | const |
Definition at line 104 of file cp_vehicle_local_position.cpp.
Referenced by cl_px4_mr::CpTrajectorySetpoint::hold(), cl_px4_mr::CbChangeAltitude::onEntry(), cl_px4_mr::CbOrbitLocation::onEntry(), cl_px4_mr::CbPx4PathFollowerBase::onEntry(), cl_px4_mr::CbSineAltitudeCruise::onEntry(), cl_px4_mr::CbTakeOff::onEntry(), cl_px4_mr::CbYawRotate::onEntry(), cl_px4_mr::CbYawScan::onEntry(), cl_px4_mr::CbPx4PathFollowerBase::update(), and cl_px4_mr::CpGoalChecker::update().

| float cl_px4_mr::CpVehicleLocalPosition::getZ | ( | ) | const |
Definition at line 110 of file cp_vehicle_local_position.cpp.
Referenced by cl_px4_mr::CpTrajectorySetpoint::hold(), cl_px4_mr::CbPx4PathFollowerBase::onEntry(), cl_px4_mr::CbSineAltitudeCruise::onEntry(), cl_px4_mr::CbYawRotate::onEntry(), cl_px4_mr::CbYawScan::onEntry(), cl_px4_mr::CbPx4PathFollowerBase::update(), and cl_px4_mr::CpGoalChecker::update().

| uint8_t cl_px4_mr::CpVehicleLocalPosition::getZResetCounter | ( | ) | const |
Definition at line 164 of file cp_vehicle_local_position.cpp.
References mutex_, and zResetCounter_.
| bool cl_px4_mr::CpVehicleLocalPosition::globalRefValid | ( | ) | const |
Definition at line 128 of file cp_vehicle_local_position.cpp.
References cl_px4_mr::MapProjection::isInitialized(), mutex_, projection_, and xyGlobal_.

| bool cl_px4_mr::CpVehicleLocalPosition::isValid | ( | ) | const |
Definition at line 122 of file cp_vehicle_local_position.cpp.
References mutex_, and valid_.
Referenced by cl_px4_mr::CpTrajectorySetpoint::hold(), cl_px4_mr::CbPx4PathFollowerBase::onEntry(), cl_px4_mr::CbSineAltitudeCruise::onEntry(), cl_px4_mr::CbYawScan::onEntry(), cl_px4_mr::CbPx4PathFollowerBase::update(), and cl_px4_mr::CpGoalChecker::update().

|
overridevirtual |
Reimplemented from smacc2::ISmaccComponent.
Definition at line 24 of file cp_vehicle_local_position.cpp.
References smacc2::ISmaccComponent::getLogger(), smacc2::ISmaccComponent::getNode(), onPositionMessage(), and subscriber_.

|
private |
Definition at line 33 of file cp_vehicle_local_position.cpp.
References firstMessage_, smacc2::ISmaccComponent::getLogger(), heading_, cl_px4_mr::MapProjection::initReference(), cl_px4_mr::MapProjection::isInitialized(), mutex_, onLocalPositionReset_, onPositionReceived_, projection_, refAlt_, refLat_, refLon_, refTimestamp_, valid_, x_, xyGlobal_, xyResetCounter_, y_, z_, zGlobal_, and zResetCounter_.
Referenced by onInitialize().


| bool cl_px4_mr::CpVehicleLocalPosition::projectToNed | ( | double | lat, |
| double | lon, | ||
| float & | x, | ||
| float & | y ) const |
Definition at line 170 of file cp_vehicle_local_position.cpp.
References cl_px4_mr::MapProjection::isInitialized(), mutex_, cl_px4_mr::MapProjection::project(), projection_, and xyGlobal_.

| bool cl_px4_mr::CpVehicleLocalPosition::reprojectFromNed | ( | float | x, |
| float | y, | ||
| double & | lat, | ||
| double & | lon ) const |
Definition at line 181 of file cp_vehicle_local_position.cpp.
References cl_px4_mr::MapProjection::isInitialized(), mutex_, projection_, cl_px4_mr::MapProjection::reproject(), and xyGlobal_.

|
private |
Definition at line 85 of file cp_vehicle_local_position.hpp.
Referenced by onPositionMessage().
|
private |
Definition at line 74 of file cp_vehicle_local_position.hpp.
Referenced by getHeading(), and onPositionMessage().
|
mutableprivate |
Definition at line 88 of file cp_vehicle_local_position.hpp.
Referenced by getHeading(), getRefAlt(), getRefLat(), getRefLon(), getRefTimestamp(), getX(), getXyResetCounter(), getY(), getZ(), getZResetCounter(), globalRefValid(), isValid(), onPositionMessage(), projectToNed(), and reprojectFromNed().
| smacc2::SmaccSignal<void()> cl_px4_mr::CpVehicleLocalPosition::onLocalPositionReset_ |
Definition at line 65 of file cp_vehicle_local_position.hpp.
Referenced by onPositionMessage().
| smacc2::SmaccSignal<void()> cl_px4_mr::CpVehicleLocalPosition::onPositionReceived_ |
Definition at line 64 of file cp_vehicle_local_position.hpp.
Referenced by onPositionMessage().
|
private |
Definition at line 86 of file cp_vehicle_local_position.hpp.
Referenced by globalRefValid(), onPositionMessage(), projectToNed(), and reprojectFromNed().
|
private |
Definition at line 81 of file cp_vehicle_local_position.hpp.
Referenced by getRefAlt(), and onPositionMessage().
|
private |
Definition at line 79 of file cp_vehicle_local_position.hpp.
Referenced by getRefLat(), and onPositionMessage().
|
private |
Definition at line 80 of file cp_vehicle_local_position.hpp.
Referenced by getRefLon(), and onPositionMessage().
|
private |
Definition at line 82 of file cp_vehicle_local_position.hpp.
Referenced by getRefTimestamp(), and onPositionMessage().
|
private |
Definition at line 70 of file cp_vehicle_local_position.hpp.
Referenced by onInitialize().
|
private |
Definition at line 75 of file cp_vehicle_local_position.hpp.
Referenced by isValid(), and onPositionMessage().
|
private |
Definition at line 71 of file cp_vehicle_local_position.hpp.
Referenced by getX(), and onPositionMessage().
|
private |
Definition at line 77 of file cp_vehicle_local_position.hpp.
Referenced by globalRefValid(), onPositionMessage(), projectToNed(), and reprojectFromNed().
|
private |
Definition at line 83 of file cp_vehicle_local_position.hpp.
Referenced by getXyResetCounter(), and onPositionMessage().
|
private |
Definition at line 72 of file cp_vehicle_local_position.hpp.
Referenced by getY(), and onPositionMessage().
|
private |
Definition at line 73 of file cp_vehicle_local_position.hpp.
Referenced by getZ(), and onPositionMessage().
|
private |
Definition at line 78 of file cp_vehicle_local_position.hpp.
Referenced by onPositionMessage().
|
private |
Definition at line 84 of file cp_vehicle_local_position.hpp.
Referenced by getZResetCounter(), and onPositionMessage().