在ROS中,geometry_msgs
包提供了多种用于描述几何形状和运动的数据类型。以下是一些常见的 geometry_msgs
数据类型的具体定义:
-
geometry_msgs::msg::Point
:geometry_msgs::msg::Point { double x double y double z }
-
geometry_msgs::msg::Quaternion
:geometry_msgs::msg::Quaternion { double x double y double z double w }
-
geometry_msgs::msg::Vector3
:geometry_msgs::msg::Vector3 { double x double y double z }
-
geometry_msgs::msg::Pose
:geometry_msgs::msg::Pose { geometry_msgs::msg::Point position geometry_msgs::msg::Quaternion orientation }
-
geometry_msgs::msg::PoseStamped
:geometry_msgs::msg::PoseStamped { builtin_interfaces::msg::Time header string frame_id geometry_msgs::msg::Pose pose }
-
geometry_msgs::msg::Pose2D
:geometry_msgs::msg::Pose2D { double x double y double theta }
-
geometry_msgs::msg::Transform
:geometry_msgs::msg::Transform { geometry_msgs::msg::Vector3 translation geometry_msgs::msg::Quaternion rotation }
-
geometry_msgs::msg::TransformStamped
:geometry_msgs::msg::TransformStamped { builtin_interfaces::msg::Time header string child_frame_id geometry_msgs::msg::Transform transform }
-
geometry_msgs::msg::Twist
:geometry_msgs::msg::Twist { geometry_msgs::msg::Vector3 linear geometry_msgs::msg::Vector3 angular }
-
geometry_msgs::msg::TwistStamped
:geometry_msgs::msg::TwistStamped { builtin_interfaces::msg::Time header string frame_id geometry_msgs::msg::Twist twist }
-
geometry_msgs::msg::Accel
:geometry_msgs::msg::Accel { geometry_msgs::msg::Vector3 linear geometry_msgs::msg::Vector3 angular }
-
geometry_msgs::msg::AccelStamped
:geometry_msgs::msg::AccelStamped { builtin_interfaces::msg::Time header string frame_id geometry_msgs::msg::Accel accel }
这些类型在ROS中用于描述机器人的位置、方向、速度、加速度等几何属性。它们通常与 std_msgs
中的 Header
类型结合使用,后者提供了时间戳和参考坐标系(frame_id),以确保信息的准确性和一致性。这些消息类型是ROS中进行节点间通信的基础,使得机器人的不同部分能够共享和理解彼此的状态和意图。