Learn Robotics
All Sections
Cheat Sheet

Common Data Types

Geometry, sensor, and navigation data types used in robotics

Geometry Types

TypeFieldsUse Case
Pointx, y, z (float64)A 3D position
Vector3x, y, z (float64)A 3D direction or velocity
Quaternionx, y, z, w (float64)Rotation (w=1 is identity)
Poseposition (Point) + orientation (Quaternion)Position and orientation in space
Twistlinear (Vector3) + angular (Vector3)Velocity command (linear + angular)
Wrenchforce (Vector3) + torque (Vector3)Force and torque acting on a body
Transformtranslation (Vector3) + rotation (Quaternion)Coordinate transform between frames

Sensor Types

TypeKey FieldsUse Case
LaserScanranges[], angle_min/max, range_min/max2D LiDAR data
PointCloudpoints[], fields[], width, height3D point cloud
Imagedata[], encoding, width, heightCamera image (raw pixels)
CameraInfoK[9], D[], P[12]Camera intrinsics and distortion
IMUorientation, angular_velocity, linear_accelerationInertial measurement unit data
GPSlatitude, longitude, altitudeGlobal positioning data
JointStatename[], position[], velocity[], effort[]Joint positions and torques

Navigation Types

TypeKey FieldsUse Case
Odometrypose + twistRobot odometry estimate (position + velocity)
Pathposes[]Sequence of waypoints for path planning
OccupancyGridresolution, width, height, data[]2D costmap or grid map