git commit -m "first commit"

This commit is contained in:
2026-05-28 10:29:58 +07:00
commit 167c52aeb6
2048 changed files with 740251 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
cmake_minimum_required(VERSION 3.0.2)
project(nav_2d_msgs)
find_package(catkin REQUIRED COMPONENTS
geometry_msgs
message_generation
std_msgs
)
add_message_files(FILES
ComplexPolygon2D.msg
NavGridInfo.msg
NavGridOfChars.msg
NavGridOfCharsUpdate.msg
NavGridOfDoubles.msg
NavGridOfDoublesUpdate.msg
Path2D.msg
Point2D.msg
Polygon2D.msg
Polygon2DCollection.msg
Polygon2DStamped.msg
Pose2D32.msg
Pose2DStamped.msg
Twist2D.msg
Twist2D32.msg
Twist2DStamped.msg
UIntBounds.msg
)
add_service_files(FILES SwitchPlugin.srv)
generate_messages(DEPENDENCIES geometry_msgs std_msgs)
catkin_package(
CATKIN_DEPENDS geometry_msgs message_runtime std_msgs
)

View File

@@ -0,0 +1,30 @@
# nav_2d_msgs
This package has basic message types for two dimensional navigation. Many of the messages are similar to those in `geometry_msgs` or `nav_msgs` but are streamlined to only be concerned with 2.5 dimensional `(x, y, theta)` navigation. This eliminates quaternions from the messages in many places, which make calculations faster and avoids that particular headache when only one orientation value is needed for 2.5D navigation.
## Points and Poses
* [`Point2D`](msg/Point2D.msg) - like `geometry_msgs::Point` but just `x` and `y` (no `z`)
* [`Pose2DStamped`](msg/Pose2DStamped.msg) - `geometry_msgs::Pose2D` with a header
* [`Pose2D32`](msg/Pose2D32.msg) - `(x, y, theta)` with only 32bit floating point precision.
* [`Path2D`](msg/Path2D.msg) - An array of `Pose2D` with a header. Similar to `nav_msgs::Path` but without redundant headers.
## Polygons
* [`Polygon2D`](msg/Polygon2D.msg) - Like `geometry_msgs::Polygon` but with 64 bit precision and no `z` coordinate.
* [`Polygon2DStamped`](msg/Polygon2DStamped.msg) - above with a header
* [`ComplexPolygon2D`](msg/ComplexPolygon2D.msg) - Non-simple Polygon2D, i.e. polygon with inner holes
* [`Polygon2DCollection`](msg/Polygon2DCollection.msg) - A list of complex polygons, with a header and an optional parallel list of colors.
## Twists
* [`Twist2D`](msg/Twist2D.msg) - Like `geometry_msgs::Twist` but only `(x, y, theta)` (and not separated into linear and angular)
* [`Twist2DStamped`](msg/Twist2DStamped.msg) - above with a header
* [`Twist2D32`](msg/Twist2D32.msg) - `(x, y, theta)` with only 32bit floating point precision.
## NavGrids
* [`NavGridInfo`](msg/NavGridInfo.msg) - Same data as `nav_grid::NavGridInfo`. Similar to `nav_msgs::MapMetadata`
* [`NavGridOfChars`](msg/NavGridOfChars.msg) - Data for `nav_grid::NavGrid<unsigned char>`. Similar to `nav_msgs::OccupancyGrid`
* [`NavGridOfDoubles`](msg/NavGridOfDoubles.msg) - Data for `nav_grid::NavGrid<double>`
* [`NavGridOfCharsUpdate`](msg/NavGridOfCharsUpdate.msg) and [`NavGridOfDoublesUpdate`](msg/NavGridOfDoublesUpdate.msg) - Similar to `map_msgs::OccupancyGridUpdate`
* [`UIntBounds`](msg/UIntBounds.msg) - Same data as `nav_core2::UIntBounds`. Used in both `Update` messages.
## Service
* [`SwitchPlugin`](srv/SwitchPlugin.srv) - A simple service equivalent to [SetString.srv](https://discourse.ros.org/t/suggestions-for-std-srvs/1079) use by the PluginMux.

View File

@@ -0,0 +1,3 @@
# Representation for a non-simple polygon, i.e. one with holes
Polygon2D outer # The outer perimeter
Polygon2D[] inner # The perimeter of any inner holes

View File

@@ -0,0 +1,6 @@
uint32 width
uint32 height
float64 resolution
string frame_id
float64 origin_x
float64 origin_y

View File

@@ -0,0 +1,5 @@
time stamp
NavGridInfo info
# The map data, in row-major order, starting with (0,0).
# Unlike nav_msgs/OccupancyGrid, the values are [0, 256), not [-1, 100]
uint8[] data

View File

@@ -0,0 +1,3 @@
time stamp
UIntBounds bounds
uint8[] data

View File

@@ -0,0 +1,4 @@
time stamp
NavGridInfo info
# The map data, in row-major order, starting with (0,0).
float64[] data

View File

@@ -0,0 +1,3 @@
time stamp
UIntBounds bounds
float64[] data

View File

@@ -0,0 +1,2 @@
Header header
geometry_msgs/Pose2D[] poses

View File

@@ -0,0 +1,2 @@
float64 x
float64 y

View File

@@ -0,0 +1 @@
Point2D[] points

View File

@@ -0,0 +1,5 @@
# Primarily used for visualization
# Colors are optional
std_msgs/Header header
ComplexPolygon2D[] polygons
std_msgs/ColorRGBA[] colors

View File

@@ -0,0 +1,2 @@
std_msgs/Header header
Polygon2D polygon

View File

@@ -0,0 +1,3 @@
float32 x
float32 y
float32 theta

View File

@@ -0,0 +1,2 @@
Header header
geometry_msgs/Pose2D pose

View File

@@ -0,0 +1,3 @@
float64 x
float64 y
float64 theta

View File

@@ -0,0 +1,3 @@
float32 x
float32 y
float32 theta

View File

@@ -0,0 +1,2 @@
std_msgs/Header header
Twist2D velocity

View File

@@ -0,0 +1,5 @@
# Bounds are inclusive
uint32 min_x
uint32 min_y
uint32 max_x
uint32 max_y

View File

@@ -0,0 +1,16 @@
<?xml version="1.0"?>
<package format="2">
<name>nav_2d_msgs</name>
<version>0.3.0</version>
<description>Basic message types for two dimensional navigation, extending from geometry_msgs::Pose2D.</description>
<maintainer email="davidvlu@gmail.com">David V. Lu!!</maintainer>
<license>BSD</license>
<buildtool_depend>catkin</buildtool_depend>
<depend>geometry_msgs</depend>
<depend>std_msgs</depend>
<build_depend>message_generation</build_depend>
<build_export_depend>message_runtime</build_export_depend>
<exec_depend>message_runtime</exec_depend>
</package>

View File

@@ -0,0 +1,4 @@
string new_plugin
---
bool success
string message