vehicle position and velocity monitoring More...
#include <ros/ros.h>
#include <angles/angles.h>
#include <nav_msgs/Odometry.h>
#include <sensor_msgs/Imu.h>
#include <geometry_msgs/PoseStamped.h>
#include <art_msgs/GpsInfo.h>
#include <tf/transform_broadcaster.h>
#include <art_msgs/Shifter.h>
#include <art/frames.h>
#include <art/UTM.h>
#include "applanix.h"
#include "position.h"
Go to the source code of this file.
Defines | |
#define | NODE "applanix" |
Functions | |
void | displayHelp () |
bool | getNewData (applanix_data_t *adata) |
bool | getOdom (Position::Position3D *odom_pos3d, ros::Time *odom_time, ros::Publisher *gps_pub) |
int | getParameters (int argc, char *argv[]) |
void | getShifter (const art_msgs::Shifter::ConstPtr &shifterIn) |
bool | GlobalToLocal (Position::Pose3D *current) |
int | main (int argc, char **argv) |
void | publishGPS (const applanix_data_t &adata, double utm_e, double utm_n, const char *zone, ros::Publisher *gps_pub) |
void | putPose (const Position::Position3D *odom_pos3d, const ros::Time *odom_time, tf::TransformBroadcaster *odom_broad, ros::Publisher *odom_pub, ros::Publisher *imu_pub) |
vehicle position and velocity monitoring
ROS odometry driver for the Applanix Position and Orientation System for Land Vehicles (POS-LV).
The odometry driver publishes its best estimate of the vehicle's location, velocity and yaw rate. It collects data from the Applanix Position and Orientation System for Land Vehicles (POS-LV) which provides differential GPS and accurate inertial navigation.
Definition in file odometry.cc.
#define NODE "applanix" |
Definition at line 59 of file odometry.cc.
void displayHelp | ( | ) |
Definition at line 370 of file odometry.cc.
bool getNewData | ( | applanix_data_t * | adata | ) |
Get new Applanix data.
Updates *adata if possible.
Definition at line 143 of file odometry.cc.
bool getOdom | ( | Position::Position3D * | odom_pos3d, |
ros::Time * | odom_time, | ||
ros::Publisher * | gps_pub | ||
) |
Get any new odometry data available
Updates odometry information, which will be published if valid packets available and this is not the first call.
Publishes GPS information, if new data received.
odom_pos3d | -> updated position, if new data |
odom_time | -> updated time when new data received |
gps_pub | -> GpsInfo ROS topic publisher |
Definition at line 231 of file odometry.cc.
int getParameters | ( | int | argc, |
char * | argv[] | ||
) |
get command line and ROS parameters
Definition at line 392 of file odometry.cc.
void getShifter | ( | const art_msgs::Shifter::ConstPtr & | shifterIn | ) |
subscriber callback for current shifter position data
Definition at line 291 of file odometry.cc.
bool GlobalToLocal | ( | Position::Pose3D * | current | ) |
Global to local coordinate transform.
Translate current pose from UTM meters (northing, easting) to local coordinates by subtracting initial pose.
returns: true if initial pose, false otherwise
Definition at line 86 of file odometry.cc.
int main | ( | int | argc, |
char ** | argv | ||
) |
main program
Definition at line 441 of file odometry.cc.
void publishGPS | ( | const applanix_data_t & | adata, |
double | utm_e, | ||
double | utm_n, | ||
const char * | zone, | ||
ros::Publisher * | gps_pub | ||
) |
Publish GpsInfo message.
Definition at line 187 of file odometry.cc.
void putPose | ( | const Position::Position3D * | odom_pos3d, |
const ros::Time * | odom_time, | ||
tf::TransformBroadcaster * | odom_broad, | ||
ros::Publisher * | odom_pub, | ||
ros::Publisher * | imu_pub | ||
) |
Publish the current 3D Pose and accelerations
Definition at line 300 of file odometry.cc.