update
This commit is contained in:
Submodule src/Libraries/costmap_2d updated: 71adf1390f...2c3d7d586d
Submodule src/Libraries/data_convert updated: 8b22de38ac...b1aaa1a946
Submodule src/Libraries/geometry2 updated: 3c51b228ec...2987c1a481
Submodule src/Libraries/laser_geometry updated: 1b06dd9122...a183d4bb7b
@@ -11,7 +11,7 @@
|
||||
#include <memory>
|
||||
|
||||
#include <std_msgs/Header.h>
|
||||
#include <geometry_msgs/Pose2D.h>
|
||||
#include <robot_geometry_msgs/Pose2D.h>
|
||||
|
||||
namespace robot_nav_2d_msgs
|
||||
{
|
||||
@@ -35,7 +35,7 @@ struct Pose2DStamped_
|
||||
typedef ::std_msgs::Header _header_type;
|
||||
_header_type header;
|
||||
|
||||
typedef ::geometry_msgs::Pose2D _pose_type;
|
||||
typedef ::robot_geometry_msgs::Pose2D _pose_type;
|
||||
_pose_type pose;
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ target_include_directories(conversions
|
||||
target_link_libraries(conversions
|
||||
PUBLIC
|
||||
robot_nav_2d_msgs
|
||||
geometry_msgs
|
||||
robot_geometry_msgs
|
||||
nav_msgs
|
||||
nav_grid
|
||||
nav_core2
|
||||
@@ -52,7 +52,7 @@ target_include_directories(path_ops
|
||||
target_link_libraries(path_ops
|
||||
PUBLIC
|
||||
robot_nav_2d_msgs
|
||||
geometry_msgs
|
||||
robot_geometry_msgs
|
||||
robot_cpp
|
||||
)
|
||||
|
||||
@@ -66,17 +66,17 @@ target_include_directories(polygons
|
||||
if(robot_xmlrpcpp_FOUND)
|
||||
target_include_directories(polygons PRIVATE ${robot_xmlrpcpp_INCLUDE_DIRS})
|
||||
target_link_libraries(polygons
|
||||
PUBLIC robot_nav_2d_msgs geometry_msgs robot_cpp
|
||||
PUBLIC robot_nav_2d_msgs robot_geometry_msgs robot_cpp
|
||||
PRIVATE ${robot_xmlrpcpp_LIBRARIES})
|
||||
elseif(XmlRpcCpp_FOUND)
|
||||
target_include_directories(polygons PRIVATE ${XmlRpcCpp_INCLUDE_DIRS})
|
||||
target_link_libraries(polygons
|
||||
PUBLIC robot_nav_2d_msgs geometry_msgs robot_cpp
|
||||
PUBLIC robot_nav_2d_msgs robot_geometry_msgs robot_cpp
|
||||
PRIVATE ${XmlRpcCpp_LIBRARIES})
|
||||
else()
|
||||
target_include_directories(polygons PRIVATE ${robot_xmlrpcpp_INCLUDE_DIRS})
|
||||
target_link_libraries(polygons
|
||||
PUBLIC robot_nav_2d_msgs geometry_msgs robot_cpp
|
||||
PUBLIC robot_nav_2d_msgs robot_geometry_msgs robot_cpp
|
||||
PRIVATE ${robot_xmlrpcpp_LIBRARIES})
|
||||
endif()
|
||||
|
||||
@@ -110,7 +110,7 @@ target_include_directories(tf_help
|
||||
target_link_libraries(tf_help
|
||||
PUBLIC
|
||||
robot_nav_2d_msgs
|
||||
geometry_msgs
|
||||
robot_geometry_msgs
|
||||
nav_core2
|
||||
tf3
|
||||
robot_cpp
|
||||
@@ -166,5 +166,5 @@ message(STATUS "Project: ${PROJECT_NAME}")
|
||||
message(STATUS "Version: ${PROJECT_VERSION}")
|
||||
message(STATUS "C++ Standard: ${CMAKE_CXX_STANDARD}")
|
||||
message(STATUS "Libraries: conversions, path_ops, polygons, bounds, tf_help")
|
||||
message(STATUS "Dependencies: robot_nav_2d_msgs, geometry_msgs, nav_msgs, nav_grid, nav_core2, tf3, console_bridge, Boost")
|
||||
message(STATUS "Dependencies: robot_nav_2d_msgs, robot_geometry_msgs, nav_msgs, nav_grid, nav_core2, tf3, console_bridge, Boost")
|
||||
message(STATUS "=================================")
|
||||
@@ -5,35 +5,35 @@
|
||||
## Twist Transformations
|
||||
| to `robot_nav_2d_msgs` | from `robot_nav_2d_msgs` |
|
||||
| -- | -- |
|
||||
| `Twist2D twist3Dto2D(geometry_msgs::Twist)` | `geometry_msgs::Twist twist2Dto3D(Twist2D cmd_vel_2d)`
|
||||
| `Twist2D twist3Dto2D(robot_geometry_msgs::Twist)` | `robot_geometry_msgs::Twist twist2Dto3D(Twist2D cmd_vel_2d)`
|
||||
|
||||
## Point Transformations
|
||||
| to `robot_nav_2d_msgs` | from `robot_nav_2d_msgs` |
|
||||
| -- | -- |
|
||||
| `Point2D pointToPoint2D(geometry_msgs::Point)` | `geometry_msgs::Point pointToPoint3D(Point2D)`
|
||||
| `Point2D pointToPoint2D(geometry_msgs::Point32)` | `geometry_msgs::Point32 pointToPoint32(Point2D)`
|
||||
| `Point2D pointToPoint2D(robot_geometry_msgs::Point)` | `robot_geometry_msgs::Point pointToPoint3D(Point2D)`
|
||||
| `Point2D pointToPoint2D(robot_geometry_msgs::Point32)` | `robot_geometry_msgs::Point32 pointToPoint32(Point2D)`
|
||||
|
||||
## Pose Transformations
|
||||
| to `robot_nav_2d_msgs` | from `robot_nav_2d_msgs` |
|
||||
| -- | -- |
|
||||
| `Pose2DStamped poseStampedToPose2D(geometry_msgs::PoseStamped)` | `geometry_msgs::PoseStamped pose2DToPoseStamped(Pose2DStamped)`
|
||||
||`geometry_msgs::PoseStamped pose2DToPoseStamped(geometry_msgs::Pose2D, std::string, robot::Time)`|
|
||||
||`geometry_msgs::Pose pose2DToPose(geometry_msgs::Pose2D)`|
|
||||
| `Pose2DStamped poseStampedToPose2D(robot_geometry_msgs::PoseStamped)` | `robot_geometry_msgs::PoseStamped pose2DToPoseStamped(Pose2DStamped)`
|
||||
||`robot_geometry_msgs::PoseStamped pose2DToPoseStamped(robot_geometry_msgs::Pose2D, std::string, robot::Time)`|
|
||||
||`robot_geometry_msgs::Pose pose2DToPose(robot_geometry_msgs::Pose2D)`|
|
||||
| `Pose2DStamped stampedPoseToPose2D(tf::Stamped<tf::Pose>)` | |
|
||||
|
||||
## Path Transformations
|
||||
| to `robot_nav_2d_msgs` | from `robot_nav_2d_msgs` |
|
||||
| -- | -- |
|
||||
| `Path2D pathToPath(nav_msgs::Path)` |`nav_msgs::Path pathToPath(Path2D)`
|
||||
| `Path2D posesToPath2D(std::vector<geometry_msgs::PoseStamped>)` | `nav_msgs::Path poses2DToPath(std::vector<geometry_msgs::Pose2D>, std::string, robot::Time)`
|
||||
| `Path2D posesToPath2D(std::vector<robot_geometry_msgs::PoseStamped>)` | `nav_msgs::Path poses2DToPath(std::vector<robot_geometry_msgs::Pose2D>, std::string, robot::Time)`
|
||||
|
||||
Also, `nav_msgs::Path posesToPath(std::vector<geometry_msgs::PoseStamped>)`
|
||||
Also, `nav_msgs::Path posesToPath(std::vector<robot_geometry_msgs::PoseStamped>)`
|
||||
|
||||
## Polygon Transformations
|
||||
| to `robot_nav_2d_msgs` | from `robot_nav_2d_msgs` |
|
||||
| -- | -- |
|
||||
| `Polygon2D polygon3Dto2D(geometry_msgs::Polygon)` |`geometry_msgs::Polygon polygon2Dto3D(Polygon2D)`
|
||||
| `Polygon2DStamped polygon3Dto2D(geometry_msgs::PolygonStamped)` | `geometry_msgs::PolygonStamped polygon2Dto3D(Polygon2DStamped)`
|
||||
| `Polygon2D polygon3Dto2D(robot_geometry_msgs::Polygon)` |`robot_geometry_msgs::Polygon polygon2Dto3D(Polygon2D)`
|
||||
| `Polygon2DStamped polygon3Dto2D(robot_geometry_msgs::PolygonStamped)` | `robot_geometry_msgs::PolygonStamped polygon2Dto3D(Polygon2DStamped)`
|
||||
|
||||
## Info Transformations
|
||||
| to `robot_nav_2d_msgs` | from `robot_nav_2d_msgs` |
|
||||
@@ -46,7 +46,7 @@ Also, `nav_msgs::Path posesToPath(std::vector<geometry_msgs::PoseStamped>)`
|
||||
|
||||
| to two dimensional pose | to three dimensional pose |
|
||||
| -- | -- |
|
||||
| `Pose2D getOrigin2D(nav_grid::NavGridInfo)` | `geometry_msgs::Pose getOrigin3D(nav_grid::NavGridInfo)`|
|
||||
| `Pose2D getOrigin2D(nav_grid::NavGridInfo)` | `robot_geometry_msgs::Pose getOrigin3D(nav_grid::NavGridInfo)`|
|
||||
|
||||
## Bounds Transformations
|
||||
| to `robot_nav_2d_msgs` | from `robot_nav_2d_msgs` |
|
||||
@@ -35,10 +35,10 @@
|
||||
#ifndef ROBOT_NAV_2D_UTILS_CONVERSIONS_H
|
||||
#define ROBOT_NAV_2D_UTILS_CONVERSIONS_H
|
||||
|
||||
#include <geometry_msgs/Point.h>
|
||||
#include <geometry_msgs/Pose.h>
|
||||
#include <geometry_msgs/Twist.h>
|
||||
#include <geometry_msgs/PolygonStamped.h>
|
||||
#include <robot_geometry_msgs/Point.h>
|
||||
#include <robot_geometry_msgs/Pose.h>
|
||||
#include <robot_geometry_msgs/Twist.h>
|
||||
#include <robot_geometry_msgs/PolygonStamped.h>
|
||||
#include <robot_nav_2d_msgs/Twist2D.h>
|
||||
#include <robot_nav_2d_msgs/Path2D.h>
|
||||
#include <robot_nav_2d_msgs/Point2D.h>
|
||||
@@ -58,42 +58,42 @@
|
||||
namespace robot_nav_2d_utils
|
||||
{
|
||||
// Twist Transformations
|
||||
::geometry_msgs::Twist twist2Dto3D(const ::robot_nav_2d_msgs::Twist2D &cmd_vel_2d);
|
||||
::robot_nav_2d_msgs::Twist2D twist3Dto2D(const ::geometry_msgs::Twist &cmd_vel);
|
||||
::robot_geometry_msgs::Twist twist2Dto3D(const ::robot_nav_2d_msgs::Twist2D &cmd_vel_2d);
|
||||
::robot_nav_2d_msgs::Twist2D twist3Dto2D(const ::robot_geometry_msgs::Twist &cmd_vel);
|
||||
|
||||
// Point Transformations
|
||||
::robot_nav_2d_msgs::Point2D pointToPoint2D(const ::geometry_msgs::Point &point);
|
||||
::robot_nav_2d_msgs::Point2D pointToPoint2D(const ::geometry_msgs::Point32 &point);
|
||||
::geometry_msgs::Point pointToPoint3D(const ::robot_nav_2d_msgs::Point2D &point);
|
||||
::geometry_msgs::Point32 pointToPoint32(const ::robot_nav_2d_msgs::Point2D &point);
|
||||
::robot_nav_2d_msgs::Point2D pointToPoint2D(const ::robot_geometry_msgs::Point &point);
|
||||
::robot_nav_2d_msgs::Point2D pointToPoint2D(const ::robot_geometry_msgs::Point32 &point);
|
||||
::robot_geometry_msgs::Point pointToPoint3D(const ::robot_nav_2d_msgs::Point2D &point);
|
||||
::robot_geometry_msgs::Point32 pointToPoint32(const ::robot_nav_2d_msgs::Point2D &point);
|
||||
|
||||
// Pose Transformations
|
||||
// ::robot_nav_2d_msgs::Pose2DStamped stampedPoseToPose2D(const tf::Stamped<tf::Pose>& pose);
|
||||
::robot_nav_2d_msgs::Pose2DStamped poseStampedToPose2D(const ::geometry_msgs::PoseStamped &pose);
|
||||
::geometry_msgs::Pose pose2DToPose(const ::geometry_msgs::Pose2D &pose2d);
|
||||
::geometry_msgs::PoseStamped pose2DToPoseStamped(const ::robot_nav_2d_msgs::Pose2DStamped &pose2d);
|
||||
::geometry_msgs::PoseStamped pose2DToPoseStamped(const ::geometry_msgs::Pose2D &pose2d,
|
||||
::robot_nav_2d_msgs::Pose2DStamped poseStampedToPose2D(const ::robot_geometry_msgs::PoseStamped &pose);
|
||||
::robot_geometry_msgs::Pose pose2DToPose(const ::robot_geometry_msgs::Pose2D &pose2d);
|
||||
::robot_geometry_msgs::PoseStamped pose2DToPoseStamped(const ::robot_nav_2d_msgs::Pose2DStamped &pose2d);
|
||||
::robot_geometry_msgs::PoseStamped pose2DToPoseStamped(const ::robot_geometry_msgs::Pose2D &pose2d,
|
||||
const ::std::string &frame, const robot::Time &stamp);
|
||||
|
||||
// Path Transformations
|
||||
::robot_nav_2d_msgs::Path2D pathToPath(const nav_msgs::Path &path);
|
||||
nav_msgs::Path posesToPath(const ::std::vector<::geometry_msgs::PoseStamped> &poses);
|
||||
::robot_nav_2d_msgs::Path2D posesToPath2D(const ::std::vector<::geometry_msgs::PoseStamped> &poses);
|
||||
nav_msgs::Path poses2DToPath(const ::std::vector<::geometry_msgs::Pose2D> &poses,
|
||||
nav_msgs::Path posesToPath(const ::std::vector<::robot_geometry_msgs::PoseStamped> &poses);
|
||||
::robot_nav_2d_msgs::Path2D posesToPath2D(const ::std::vector<::robot_geometry_msgs::PoseStamped> &poses);
|
||||
nav_msgs::Path poses2DToPath(const ::std::vector<::robot_geometry_msgs::Pose2D> &poses,
|
||||
const ::std::string &frame, const robot::Time &stamp);
|
||||
nav_msgs::Path pathToPath(const ::robot_nav_2d_msgs::Path2D &path2d);
|
||||
|
||||
// Polygon Transformations
|
||||
::geometry_msgs::Polygon polygon2Dto3D(const ::robot_nav_2d_msgs::Polygon2D &polygon_2d);
|
||||
::robot_nav_2d_msgs::Polygon2D polygon3Dto2D(const ::geometry_msgs::Polygon &polygon_3d);
|
||||
::geometry_msgs::PolygonStamped polygon2Dto3D(const ::robot_nav_2d_msgs::Polygon2DStamped &polygon_2d);
|
||||
::robot_nav_2d_msgs::Polygon2DStamped polygon3Dto2D(const ::geometry_msgs::PolygonStamped &polygon_3d);
|
||||
::robot_geometry_msgs::Polygon polygon2Dto3D(const ::robot_nav_2d_msgs::Polygon2D &polygon_2d);
|
||||
::robot_nav_2d_msgs::Polygon2D polygon3Dto2D(const ::robot_geometry_msgs::Polygon &polygon_3d);
|
||||
::robot_geometry_msgs::PolygonStamped polygon2Dto3D(const ::robot_nav_2d_msgs::Polygon2DStamped &polygon_2d);
|
||||
::robot_nav_2d_msgs::Polygon2DStamped polygon3Dto2D(const ::robot_geometry_msgs::PolygonStamped &polygon_3d);
|
||||
|
||||
// Info Transformations
|
||||
::robot_nav_2d_msgs::NavGridInfo toMsg(const nav_grid::NavGridInfo &info);
|
||||
nav_grid::NavGridInfo fromMsg(const ::robot_nav_2d_msgs::NavGridInfo &msg);
|
||||
::geometry_msgs::Pose getOrigin3D(const nav_grid::NavGridInfo &info);
|
||||
::geometry_msgs::Pose2D getOrigin2D(const nav_grid::NavGridInfo &info);
|
||||
::robot_geometry_msgs::Pose getOrigin3D(const nav_grid::NavGridInfo &info);
|
||||
::robot_geometry_msgs::Pose2D getOrigin2D(const nav_grid::NavGridInfo &info);
|
||||
nav_grid::NavGridInfo infoToInfo(const nav_msgs::MapMetaData &metadata, const ::std::string &frame);
|
||||
nav_msgs::MapMetaData infoToInfo(const nav_grid::NavGridInfo &info);
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace robot_nav_2d_utils
|
||||
/**
|
||||
* @brief Calculate the linear distance between two poses
|
||||
*/
|
||||
double poseDistance(const geometry_msgs::Pose2D &pose0, const geometry_msgs::Pose2D &pose1);
|
||||
double poseDistance(const robot_geometry_msgs::Pose2D &pose0, const robot_geometry_msgs::Pose2D &pose1);
|
||||
|
||||
/**
|
||||
* @brief Calculate the length of the plan, starting from the given index
|
||||
@@ -52,7 +52,7 @@ namespace robot_nav_2d_utils
|
||||
/**
|
||||
* @brief Calculate the length of the plan from the pose on the plan closest to the given pose
|
||||
*/
|
||||
double getPlanLength(const robot_nav_2d_msgs::Path2D &plan, const geometry_msgs::Pose2D &query_pose);
|
||||
double getPlanLength(const robot_nav_2d_msgs::Path2D &plan, const robot_geometry_msgs::Pose2D &query_pose);
|
||||
|
||||
/**
|
||||
* @brief Increase plan resolution to match that of the costmap by adding points linearly between points
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
#include <robot_nav_2d_msgs/Polygon2D.h>
|
||||
#include <robot_nav_2d_msgs/ComplexPolygon2D.h>
|
||||
#include <geometry_msgs/Pose2D.h>
|
||||
#include <robot_geometry_msgs/Pose2D.h>
|
||||
#include <robot_xmlrpcpp/XmlRpcValue.h>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
@@ -148,7 +148,7 @@ bool equals(const robot_nav_2d_msgs::Polygon2D& polygon0, const robot_nav_2d_msg
|
||||
* @return A new moved polygon
|
||||
*/
|
||||
robot_nav_2d_msgs::Polygon2D movePolygonToPose(const robot_nav_2d_msgs::Polygon2D& polygon,
|
||||
const geometry_msgs::Pose2D& pose);
|
||||
const robot_geometry_msgs::Pose2D& pose);
|
||||
|
||||
/**
|
||||
* @brief Check if a given point is inside of a polygon
|
||||
@@ -36,7 +36,7 @@
|
||||
#define ROBOT_NAV_2D_UTILS_TF_HELP_H
|
||||
|
||||
#include <nav_core2/common.h>
|
||||
#include <geometry_msgs/PoseStamped.h>
|
||||
#include <robot_geometry_msgs/PoseStamped.h>
|
||||
#include <robot_nav_2d_msgs/Pose2DStamped.h>
|
||||
#include <string>
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace robot_nav_2d_utils
|
||||
* @return True if successful transform
|
||||
*/
|
||||
bool transformPose(const TFListenerPtr tf, const ::std::string frame,
|
||||
const ::geometry_msgs::PoseStamped &in_pose, ::geometry_msgs::PoseStamped &out_pose,
|
||||
const ::robot_geometry_msgs::PoseStamped &in_pose, ::robot_geometry_msgs::PoseStamped &out_pose,
|
||||
const bool extrapolation_fallback = true);
|
||||
|
||||
/**
|
||||
@@ -83,7 +83,7 @@ namespace robot_nav_2d_utils
|
||||
* @param frame_id Frame to transform the pose into
|
||||
* @return The resulting transformed pose
|
||||
*/
|
||||
geometry_msgs::Pose2D transformStampedPose(const TFListenerPtr tf, const ::robot_nav_2d_msgs::Pose2DStamped &pose,
|
||||
robot_geometry_msgs::Pose2D transformStampedPose(const TFListenerPtr tf, const ::robot_nav_2d_msgs::Pose2DStamped &pose,
|
||||
const ::std::string &frame_id);
|
||||
|
||||
} // namespace robot_nav_2d_utils
|
||||
@@ -38,16 +38,16 @@
|
||||
namespace robot_nav_2d_utils
|
||||
{
|
||||
|
||||
geometry_msgs::Twist twist2Dto3D(const robot_nav_2d_msgs::Twist2D &cmd_vel_2d)
|
||||
robot_geometry_msgs::Twist twist2Dto3D(const robot_nav_2d_msgs::Twist2D &cmd_vel_2d)
|
||||
{
|
||||
geometry_msgs::Twist cmd_vel;
|
||||
robot_geometry_msgs::Twist cmd_vel;
|
||||
cmd_vel.linear.x = cmd_vel_2d.x;
|
||||
cmd_vel.linear.y = cmd_vel_2d.y;
|
||||
cmd_vel.angular.z = cmd_vel_2d.theta;
|
||||
return cmd_vel;
|
||||
}
|
||||
|
||||
robot_nav_2d_msgs::Twist2D twist3Dto2D(const geometry_msgs::Twist &cmd_vel)
|
||||
robot_nav_2d_msgs::Twist2D twist3Dto2D(const robot_geometry_msgs::Twist &cmd_vel)
|
||||
{
|
||||
robot_nav_2d_msgs::Twist2D cmd_vel_2d;
|
||||
cmd_vel_2d.x = cmd_vel.linear.x;
|
||||
@@ -56,7 +56,7 @@ namespace robot_nav_2d_utils
|
||||
return cmd_vel_2d;
|
||||
}
|
||||
|
||||
robot_nav_2d_msgs::Point2D pointToPoint2D(const geometry_msgs::Point &point)
|
||||
robot_nav_2d_msgs::Point2D pointToPoint2D(const robot_geometry_msgs::Point &point)
|
||||
{
|
||||
robot_nav_2d_msgs::Point2D output;
|
||||
output.x = point.x;
|
||||
@@ -64,7 +64,7 @@ namespace robot_nav_2d_utils
|
||||
return output;
|
||||
}
|
||||
|
||||
robot_nav_2d_msgs::Point2D pointToPoint2D(const geometry_msgs::Point32 &point)
|
||||
robot_nav_2d_msgs::Point2D pointToPoint2D(const robot_geometry_msgs::Point32 &point)
|
||||
{
|
||||
robot_nav_2d_msgs::Point2D output;
|
||||
output.x = point.x;
|
||||
@@ -72,17 +72,17 @@ namespace robot_nav_2d_utils
|
||||
return output;
|
||||
}
|
||||
|
||||
geometry_msgs::Point pointToPoint3D(const robot_nav_2d_msgs::Point2D &point)
|
||||
robot_geometry_msgs::Point pointToPoint3D(const robot_nav_2d_msgs::Point2D &point)
|
||||
{
|
||||
geometry_msgs::Point output;
|
||||
robot_geometry_msgs::Point output;
|
||||
output.x = point.x;
|
||||
output.y = point.y;
|
||||
return output;
|
||||
}
|
||||
|
||||
geometry_msgs::Point32 pointToPoint32(const robot_nav_2d_msgs::Point2D &point)
|
||||
robot_geometry_msgs::Point32 pointToPoint32(const robot_nav_2d_msgs::Point2D &point)
|
||||
{
|
||||
geometry_msgs::Point32 output;
|
||||
robot_geometry_msgs::Point32 output;
|
||||
output.x = point.x;
|
||||
output.y = point.y;
|
||||
return output;
|
||||
@@ -99,7 +99,7 @@ namespace robot_nav_2d_utils
|
||||
// return pose2d;
|
||||
// }
|
||||
|
||||
robot_nav_2d_msgs::Pose2DStamped poseStampedToPose2D(const geometry_msgs::PoseStamped &pose)
|
||||
robot_nav_2d_msgs::Pose2DStamped poseStampedToPose2D(const robot_geometry_msgs::PoseStamped &pose)
|
||||
{
|
||||
robot_nav_2d_msgs::Pose2DStamped pose2d;
|
||||
pose2d.header = pose.header;
|
||||
@@ -109,27 +109,27 @@ namespace robot_nav_2d_utils
|
||||
return pose2d;
|
||||
}
|
||||
|
||||
geometry_msgs::Pose pose2DToPose(const geometry_msgs::Pose2D &pose2d)
|
||||
robot_geometry_msgs::Pose pose2DToPose(const robot_geometry_msgs::Pose2D &pose2d)
|
||||
{
|
||||
geometry_msgs::Pose pose;
|
||||
robot_geometry_msgs::Pose pose;
|
||||
pose.position.x = pose2d.x;
|
||||
pose.position.y = pose2d.y;
|
||||
// pose.orientation = tf::createQuaternionMsgFromYaw(pose2d.theta);
|
||||
return pose;
|
||||
}
|
||||
|
||||
geometry_msgs::PoseStamped pose2DToPoseStamped(const robot_nav_2d_msgs::Pose2DStamped &pose2d)
|
||||
robot_geometry_msgs::PoseStamped pose2DToPoseStamped(const robot_nav_2d_msgs::Pose2DStamped &pose2d)
|
||||
{
|
||||
geometry_msgs::PoseStamped pose;
|
||||
robot_geometry_msgs::PoseStamped pose;
|
||||
pose.header = pose2d.header;
|
||||
pose.pose = pose2DToPose(pose2d.pose);
|
||||
return pose;
|
||||
}
|
||||
|
||||
// geometry_msgs::PoseStamped pose2DToPoseStamped(const geometry_msgs::Pose2D& pose2d,
|
||||
// robot_geometry_msgs::PoseStamped pose2DToPoseStamped(const robot_geometry_msgs::Pose2D& pose2d,
|
||||
// const std::string& frame, const robot::Time& stamp)
|
||||
// {
|
||||
// geometry_msgs::PoseStamped pose;
|
||||
// robot_geometry_msgs::PoseStamped pose;
|
||||
// pose.header.frame_id = frame;
|
||||
// pose.header.stamp = stamp;
|
||||
// pose.pose.position.x = pose2d.x;
|
||||
@@ -152,7 +152,7 @@ namespace robot_nav_2d_utils
|
||||
return path2d;
|
||||
}
|
||||
|
||||
nav_msgs::Path posesToPath(const std::vector<geometry_msgs::PoseStamped> &poses)
|
||||
nav_msgs::Path posesToPath(const std::vector<robot_geometry_msgs::PoseStamped> &poses)
|
||||
{
|
||||
nav_msgs::Path path;
|
||||
if (poses.empty())
|
||||
@@ -168,7 +168,7 @@ namespace robot_nav_2d_utils
|
||||
return path;
|
||||
}
|
||||
|
||||
robot_nav_2d_msgs::Path2D posesToPath2D(const std::vector<geometry_msgs::PoseStamped> &poses)
|
||||
robot_nav_2d_msgs::Path2D posesToPath2D(const std::vector<robot_geometry_msgs::PoseStamped> &poses)
|
||||
{
|
||||
robot_nav_2d_msgs::Path2D path;
|
||||
if (poses.empty())
|
||||
@@ -186,7 +186,7 @@ namespace robot_nav_2d_utils
|
||||
return path;
|
||||
}
|
||||
|
||||
// nav_msgs::Path poses2DToPath(const std::vector<geometry_msgs::Pose2D>& poses,
|
||||
// nav_msgs::Path poses2DToPath(const std::vector<robot_geometry_msgs::Pose2D>& poses,
|
||||
// const std::string& frame, const robot::Time& stamp)
|
||||
// {
|
||||
// nav_msgs::Path path;
|
||||
@@ -213,9 +213,9 @@ namespace robot_nav_2d_utils
|
||||
return path;
|
||||
}
|
||||
|
||||
geometry_msgs::Polygon polygon2Dto3D(const robot_nav_2d_msgs::Polygon2D &polygon_2d)
|
||||
robot_geometry_msgs::Polygon polygon2Dto3D(const robot_nav_2d_msgs::Polygon2D &polygon_2d)
|
||||
{
|
||||
geometry_msgs::Polygon polygon;
|
||||
robot_geometry_msgs::Polygon polygon;
|
||||
polygon.points.reserve(polygon_2d.points.size());
|
||||
for (const auto &pt : polygon_2d.points)
|
||||
{
|
||||
@@ -224,7 +224,7 @@ namespace robot_nav_2d_utils
|
||||
return polygon;
|
||||
}
|
||||
|
||||
robot_nav_2d_msgs::Polygon2D polygon3Dto2D(const geometry_msgs::Polygon &polygon_3d)
|
||||
robot_nav_2d_msgs::Polygon2D polygon3Dto2D(const robot_geometry_msgs::Polygon &polygon_3d)
|
||||
{
|
||||
robot_nav_2d_msgs::Polygon2D polygon;
|
||||
polygon.points.reserve(polygon_3d.points.size());
|
||||
@@ -235,15 +235,15 @@ namespace robot_nav_2d_utils
|
||||
return polygon;
|
||||
}
|
||||
|
||||
geometry_msgs::PolygonStamped polygon2Dto3D(const robot_nav_2d_msgs::Polygon2DStamped &polygon_2d)
|
||||
robot_geometry_msgs::PolygonStamped polygon2Dto3D(const robot_nav_2d_msgs::Polygon2DStamped &polygon_2d)
|
||||
{
|
||||
geometry_msgs::PolygonStamped polygon;
|
||||
robot_geometry_msgs::PolygonStamped polygon;
|
||||
polygon.header = polygon_2d.header;
|
||||
polygon.polygon = polygon2Dto3D(polygon_2d.polygon);
|
||||
return polygon;
|
||||
}
|
||||
|
||||
robot_nav_2d_msgs::Polygon2DStamped polygon3Dto2D(const geometry_msgs::PolygonStamped &polygon_3d)
|
||||
robot_nav_2d_msgs::Polygon2DStamped polygon3Dto2D(const robot_geometry_msgs::PolygonStamped &polygon_3d)
|
||||
{
|
||||
robot_nav_2d_msgs::Polygon2DStamped polygon;
|
||||
polygon.header = polygon_3d.header;
|
||||
@@ -291,18 +291,18 @@ namespace robot_nav_2d_utils
|
||||
return info;
|
||||
}
|
||||
|
||||
geometry_msgs::Pose getOrigin3D(const nav_grid::NavGridInfo &info)
|
||||
robot_geometry_msgs::Pose getOrigin3D(const nav_grid::NavGridInfo &info)
|
||||
{
|
||||
geometry_msgs::Pose origin;
|
||||
robot_geometry_msgs::Pose origin;
|
||||
origin.position.x = info.origin_x;
|
||||
origin.position.y = info.origin_y;
|
||||
origin.orientation.w = 1.0;
|
||||
return origin;
|
||||
}
|
||||
|
||||
geometry_msgs::Pose2D getOrigin2D(const nav_grid::NavGridInfo &info)
|
||||
robot_geometry_msgs::Pose2D getOrigin2D(const nav_grid::NavGridInfo &info)
|
||||
{
|
||||
geometry_msgs::Pose2D origin;
|
||||
robot_geometry_msgs::Pose2D origin;
|
||||
origin.x = info.origin_x;
|
||||
origin.y = info.origin_y;
|
||||
return origin;
|
||||
@@ -40,7 +40,7 @@
|
||||
namespace robot_nav_2d_utils
|
||||
{
|
||||
|
||||
double poseDistance(const geometry_msgs::Pose2D &pose0, const geometry_msgs::Pose2D &pose1)
|
||||
double poseDistance(const robot_geometry_msgs::Pose2D &pose0, const robot_geometry_msgs::Pose2D &pose1)
|
||||
{
|
||||
return hypot(pose0.x - pose1.x, pose0.y - pose1.y);
|
||||
}
|
||||
@@ -55,7 +55,7 @@ namespace robot_nav_2d_utils
|
||||
return length;
|
||||
}
|
||||
|
||||
double getPlanLength(const robot_nav_2d_msgs::Path2D &plan, const geometry_msgs::Pose2D &query_pose)
|
||||
double getPlanLength(const robot_nav_2d_msgs::Path2D &plan, const robot_geometry_msgs::Pose2D &query_pose)
|
||||
{
|
||||
if (plan.poses.size() == 0)
|
||||
return 0.0;
|
||||
@@ -87,10 +87,10 @@ namespace robot_nav_2d_utils
|
||||
global_plan_out.poses.push_back(last_stp);
|
||||
|
||||
double sq_resolution = resolution * resolution;
|
||||
geometry_msgs::Pose2D last = last_stp.pose;
|
||||
robot_geometry_msgs::Pose2D last = last_stp.pose;
|
||||
for (unsigned int i = 1; i < global_plan_in.poses.size(); ++i)
|
||||
{
|
||||
geometry_msgs::Pose2D loop = global_plan_in.poses[i].pose;
|
||||
robot_geometry_msgs::Pose2D loop = global_plan_in.poses[i].pose;
|
||||
double sq_dist = (loop.x - last.x) * (loop.x - last.x) + (loop.y - last.y) * (loop.y - last.y);
|
||||
if (sq_dist > sq_resolution)
|
||||
{
|
||||
@@ -365,7 +365,7 @@ bool equals(const robot_nav_2d_msgs::Polygon2D& polygon0, const robot_nav_2d_msg
|
||||
}
|
||||
|
||||
robot_nav_2d_msgs::Polygon2D movePolygonToPose(const robot_nav_2d_msgs::Polygon2D& polygon,
|
||||
const geometry_msgs::Pose2D& pose)
|
||||
const robot_geometry_msgs::Pose2D& pose)
|
||||
{
|
||||
robot_nav_2d_msgs::Polygon2D new_polygon;
|
||||
new_polygon.points.resize(polygon.points.size());
|
||||
@@ -42,7 +42,7 @@
|
||||
namespace robot_nav_2d_utils
|
||||
{
|
||||
bool transformPose(const TFListenerPtr tf, const ::std::string frame,
|
||||
const ::geometry_msgs::PoseStamped &in_pose, ::geometry_msgs::PoseStamped &out_pose,
|
||||
const ::robot_geometry_msgs::PoseStamped &in_pose, ::robot_geometry_msgs::PoseStamped &out_pose,
|
||||
const bool extrapolation_fallback)
|
||||
{
|
||||
// if (in_pose.header.frame_id == frame)
|
||||
@@ -60,7 +60,7 @@ namespace robot_nav_2d_utils
|
||||
// {
|
||||
// if (!extrapolation_fallback)
|
||||
// throw;
|
||||
// geometry_msgs::PoseStamped latest_in_pose;
|
||||
// robot_geometry_msgs::PoseStamped latest_in_pose;
|
||||
// latest_in_pose.header.frame_id = in_pose.header.frame_id;
|
||||
// latest_in_pose.pose = in_pose.pose;
|
||||
// tf->transform(latest_in_pose, out_pose, frame);
|
||||
@@ -78,8 +78,8 @@ namespace robot_nav_2d_utils
|
||||
const ::robot_nav_2d_msgs::Pose2DStamped &in_pose, ::robot_nav_2d_msgs::Pose2DStamped &out_pose,
|
||||
const bool extrapolation_fallback)
|
||||
{
|
||||
geometry_msgs::PoseStamped in_3d_pose = pose2DToPoseStamped(in_pose);
|
||||
geometry_msgs::PoseStamped out_3d_pose;
|
||||
robot_geometry_msgs::PoseStamped in_3d_pose = pose2DToPoseStamped(in_pose);
|
||||
robot_geometry_msgs::PoseStamped out_3d_pose;
|
||||
|
||||
bool ret = transformPose(tf, frame, in_3d_pose, out_3d_pose, extrapolation_fallback);
|
||||
if (ret)
|
||||
@@ -89,7 +89,7 @@ namespace robot_nav_2d_utils
|
||||
return ret;
|
||||
}
|
||||
|
||||
::geometry_msgs::Pose2D transformStampedPose(const TFListenerPtr tf, const ::robot_nav_2d_msgs::Pose2DStamped &pose,
|
||||
::robot_geometry_msgs::Pose2D transformStampedPose(const TFListenerPtr tf, const ::robot_nav_2d_msgs::Pose2DStamped &pose,
|
||||
const ::std::string &frame_id)
|
||||
{
|
||||
robot_nav_2d_msgs::Pose2DStamped local_pose;
|
||||
@@ -148,7 +148,7 @@ TEST(Polygon2D, broken_arrays)
|
||||
TEST(Polygon2D, test_move)
|
||||
{
|
||||
Polygon2D square = polygonFromString("[[0.5, 0.5], [0.5, -0.5], [-0.5, -0.5], [-0.5, 0.5]]");
|
||||
geometry_msgs::Pose2D pose;
|
||||
robot_geometry_msgs::Pose2D pose;
|
||||
Polygon2D square2 = robot_nav_2d_utils::movePolygonToPose(square, pose);
|
||||
EXPECT_TRUE(robot_nav_2d_utils::equals(square, square2));
|
||||
pose.x = 15;
|
||||
@@ -489,7 +489,7 @@ Changelog for package tf2
|
||||
* more compatability
|
||||
* bringing in helper functions for buffer_core from tf.h/cpp
|
||||
* rethrowing to new exceptions
|
||||
* converting Storage to geometry_msgs::TransformStamped
|
||||
* converting Storage to robot_geometry_msgs::TransformStamped
|
||||
* removing deprecated useage
|
||||
* cleaning up includes
|
||||
* moving all implementations into cpp file
|
||||
|
||||
@@ -163,7 +163,7 @@ public:
|
||||
* New in geometry 1.1
|
||||
*/
|
||||
/*
|
||||
geometry_msgs::Twist
|
||||
robot_geometry_msgs::Twist
|
||||
lookupTwist(const std::string& tracking_frame, const std::string& observation_frame, const std::string& reference_frame,
|
||||
const tf::Point & reference_point, const std::string& reference_point_frame,
|
||||
const robot::Time& time, const robot::Duration& averaging_interval) const;
|
||||
@@ -181,7 +181,7 @@ public:
|
||||
* New in geometry 1.1
|
||||
*/
|
||||
/*
|
||||
geometry_msgs::Twist
|
||||
robot_geometry_msgs::Twist
|
||||
lookupTwist(const std::string& tracking_frame, const std::string& observation_frame,
|
||||
const robot::Time& time, const robot::Duration& averaging_interval) const;
|
||||
*/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Compatibility types to avoid using robot:: or geometry_msgs:: namespaces inside tf3
|
||||
// Compatibility types to avoid using robot:: or robot_geometry_msgs:: namespaces inside tf3
|
||||
#ifndef TF3_COMPAT_H
|
||||
#define TF3_COMPAT_H
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
namespace tf3 {
|
||||
|
||||
// Minimal header/message equivalents owned by tf3 (no robot:: or geometry_msgs::)
|
||||
// Minimal header/message equivalents owned by tf3 (no robot:: or robot_geometry_msgs::)
|
||||
struct HeaderMsg
|
||||
{
|
||||
uint32_t seq;
|
||||
|
||||
@@ -53,7 +53,7 @@ template<typename T>
|
||||
}
|
||||
|
||||
/** Generic version of toQuaternion. It tries to convert the argument
|
||||
* to a geometry_msgs::Quaternion
|
||||
* to a robot_geometry_msgs::Quaternion
|
||||
* \param t some object
|
||||
* \return a copy of the same quaternion as a tf3::Quaternion
|
||||
*/
|
||||
|
||||
@@ -672,14 +672,14 @@ tf3::TransformStampedMsg BufferCore::lookupTransform(const std::string& target_f
|
||||
|
||||
|
||||
/*
|
||||
geometry_msgs::Twist BufferCore::lookupTwist(const std::string& tracking_frame,
|
||||
robot_geometry_msgs::Twist BufferCore::lookupTwist(const std::string& tracking_frame,
|
||||
const std::string& observation_frame,
|
||||
const robot::Time& time,
|
||||
const robot::Duration& averaging_interval) const
|
||||
{
|
||||
try
|
||||
{
|
||||
geometry_msgs::Twist t;
|
||||
robot_geometry_msgs::Twist t;
|
||||
old_tf_.lookupTwist(tracking_frame, observation_frame,
|
||||
time, averaging_interval, t);
|
||||
return t;
|
||||
@@ -702,7 +702,7 @@ geometry_msgs::Twist BufferCore::lookupTwist(const std::string& tracking_frame,
|
||||
}
|
||||
}
|
||||
|
||||
geometry_msgs::Twist BufferCore::lookupTwist(const std::string& tracking_frame,
|
||||
robot_geometry_msgs::Twist BufferCore::lookupTwist(const std::string& tracking_frame,
|
||||
const std::string& observation_frame,
|
||||
const std::string& reference_frame,
|
||||
const tf3::Point & reference_point,
|
||||
@@ -711,7 +711,7 @@ geometry_msgs::Twist BufferCore::lookupTwist(const std::string& tracking_frame,
|
||||
const robot::Duration& averaging_interval) const
|
||||
{
|
||||
try{
|
||||
geometry_msgs::Twist t;
|
||||
robot_geometry_msgs::Twist t;
|
||||
old_tf_.lookupTwist(tracking_frame, observation_frame, reference_frame, reference_point, reference_point_frame,
|
||||
time, averaging_interval, t);
|
||||
return t;
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
#include "tf3/LinearMath/Quaternion.h"
|
||||
#include <stdexcept>
|
||||
|
||||
#include <geometry_msgs/TransformStamped.h>
|
||||
#include <robot_geometry_msgs/TransformStamped.h>
|
||||
|
||||
#include <cmath>
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
TEST(tf3, setTransformFail)
|
||||
{
|
||||
tf3::BufferCore tfc;
|
||||
geometry_msgs::TransformStamped st;
|
||||
robot_geometry_msgs::TransformStamped st;
|
||||
EXPECT_FALSE(tfc.setTransform(st, "authority1"));
|
||||
|
||||
}
|
||||
@@ -44,7 +44,7 @@ TEST(tf3, setTransformFail)
|
||||
TEST(tf3, setTransformValid)
|
||||
{
|
||||
tf3::BufferCore tfc;
|
||||
geometry_msgs::TransformStamped st;
|
||||
robot_geometry_msgs::TransformStamped st;
|
||||
st.header.frame_id = "foo";
|
||||
st.header.stamp = robot::Time(1.0);
|
||||
st.child_frame_id = "child";
|
||||
@@ -56,7 +56,7 @@ TEST(tf3, setTransformValid)
|
||||
TEST(tf3, setTransformInvalidQuaternion)
|
||||
{
|
||||
tf3::BufferCore tfc;
|
||||
geometry_msgs::TransformStamped st;
|
||||
robot_geometry_msgs::TransformStamped st;
|
||||
st.header.frame_id = "foo";
|
||||
st.header.stamp = robot::Time(1.0);
|
||||
st.child_frame_id = "child";
|
||||
@@ -86,7 +86,7 @@ TEST(tf3_canTransform, Nothing_Exists)
|
||||
TEST(tf3_lookupTransform, LookupException_One_Exists)
|
||||
{
|
||||
tf3::BufferCore tfc;
|
||||
geometry_msgs::TransformStamped st;
|
||||
robot_geometry_msgs::TransformStamped st;
|
||||
st.header.frame_id = "foo";
|
||||
st.header.stamp = robot::Time(1.0);
|
||||
st.child_frame_id = "child";
|
||||
@@ -99,7 +99,7 @@ TEST(tf3_lookupTransform, LookupException_One_Exists)
|
||||
TEST(tf3_canTransform, One_Exists)
|
||||
{
|
||||
tf3::BufferCore tfc;
|
||||
geometry_msgs::TransformStamped st;
|
||||
robot_geometry_msgs::TransformStamped st;
|
||||
st.header.frame_id = "foo";
|
||||
st.header.stamp = robot::Time(1.0);
|
||||
st.child_frame_id = "child";
|
||||
@@ -113,7 +113,7 @@ TEST(tf3_chainAsVector, chain_v_configuration)
|
||||
tf3::BufferCore mBC;
|
||||
tf3::TestBufferCore tBC;
|
||||
|
||||
geometry_msgs::TransformStamped st;
|
||||
robot_geometry_msgs::TransformStamped st;
|
||||
st.header.stamp = robot::Time(0);
|
||||
st.transform.rotation.w = 1;
|
||||
|
||||
@@ -196,7 +196,7 @@ TEST(tf3_walkToTopParent, walk_i_configuration)
|
||||
tf3::BufferCore mBC;
|
||||
tf3::TestBufferCore tBC;
|
||||
|
||||
geometry_msgs::TransformStamped st;
|
||||
robot_geometry_msgs::TransformStamped st;
|
||||
st.header.stamp = robot::Time(0);
|
||||
st.transform.rotation.w = 1;
|
||||
|
||||
@@ -243,7 +243,7 @@ TEST(tf3_walkToTopParent, walk_v_configuration)
|
||||
tf3::BufferCore mBC;
|
||||
tf3::TestBufferCore tBC;
|
||||
|
||||
geometry_msgs::TransformStamped st;
|
||||
robot_geometry_msgs::TransformStamped st;
|
||||
st.header.stamp = robot::Time(0);
|
||||
st.transform.rotation.w = 1;
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ int main(int argc, char** argv)
|
||||
console_bridge::setLogLevel(console_bridge::CONSOLE_BRIDGE_LOG_INFO);
|
||||
|
||||
tf3::BufferCore bc;
|
||||
geometry_msgs::TransformStamped t;
|
||||
robot_geometry_msgs::TransformStamped t;
|
||||
t.header.stamp = robot::Time(1);
|
||||
t.header.frame_id = "root";
|
||||
t.child_frame_id = "0";
|
||||
@@ -106,7 +106,7 @@ int main(int argc, char** argv)
|
||||
std::string v_frame0 = boost::lexical_cast<std::string>(num_levels - 1);
|
||||
std::string v_frame1 = boost::lexical_cast<std::string>(num_levels/2 - 1);
|
||||
CONSOLE_BRIDGE_logInform("%s to %s", v_frame0.c_str(), v_frame1.c_str());
|
||||
geometry_msgs::TransformStamped out_t;
|
||||
robot_geometry_msgs::TransformStamped out_t;
|
||||
|
||||
const uint32_t count = 1000000;
|
||||
CONSOLE_BRIDGE_logInform("Doing %d %d-level %lf-interval tests", count, num_levels, time_interval);
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
#include <tf3/time_cache.h>
|
||||
#include <stdexcept>
|
||||
|
||||
#include <geometry_msgs/TransformStamped.h>
|
||||
#include <robot_geometry_msgs/TransformStamped.h>
|
||||
|
||||
#include <cmath>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user