Skip to main content

Module robot_geometry

Module robot_geometry 

Source
Expand description

Robot geometry: DH parameters, forward/inverse kinematics, Jacobians, workspace computation, collision checking, and self-collision detection.

All transforms are represented as 4×4 homogeneous matrices stored in row-major order as [f64; 16]. Joint arrays use plain [f64; 3] vectors for positions and axes. No external linear-algebra crate is used.

Structs§

DhParam
Standard Denavit-Hartenberg parameters for a single joint/link.
JointLimits
Angular or linear limits for a single joint.
ReachabilityMap
A coarse voxel reachability map for a robot arm.
RobotArm
A serial-chain robot arm described by a sequence of DH links.
RobotLink
Describes a single link of a robot arm.
UrdfJoint
A joint in a URDF-like robot description.
UrdfLink
A link in a URDF-like description.
UrdfRobot
A complete URDF-like robot description parsed from structs.

Enums§

JointType
Type of a robot joint.
SingularityClass
Classifies the manipulability of a configuration.

Functions§

build_6dof_puma_like
Builds a 6-DOF robot arm using standard Puma-like DH parameters.
build_planar_3dof
Builds a 3-DOF planar robot arm (all joints revolute, links in XY plane).
capsule_aabb_overlap
Tests whether a capsule (axis [a,b], radius r) overlaps an AABB.
classify_singularity
Classifies the singularity of a configuration from its manipulability value.
dist_point_segment
Minimum distance from point p to line segment [a, b].
dist_segment_segment
Minimum distance between two line segments [a1,b1] and [a2,b2].
end_effector_velocity
Computes the end-effector Cartesian velocity given joint velocities dq.
jacobian_condition_number
Estimates the condition number of the 3×n Jacobian via the ratio of the largest to smallest singular value approximation.
joint_space_path
Generates a linear interpolation path in joint space.
joint_torques_from_force
Computes the joint torques required to produce a given end-effector force.
joint_velocity_from_cartesian
Computes the minimum norm joint velocity for a desired Cartesian velocity.
mat3_det
Computes the determinant of a 3×3 row-major matrix.
mat3_inverse
Computes the inverse of a 3×3 row-major matrix.
mat4_identity
Returns the 4×4 identity matrix.
mat4_mul
Multiplies two 4×4 row-major matrices.
mat4_transform_dir
Transforms a 3-direction (w = 0) by a 4×4 matrix.
mat4_transform_point
Transforms a 3-vector by a 4×4 homogeneous matrix (w = 1).
mat4_translation
Extracts the translation component from a 4×4 matrix.
mat4_transpose
Transposes a 4×4 row-major matrix.
path_collision_free
Checks whether every configuration along a straight-line joint-space path is within joint limits and collision-free with respect to a sphere obstacle.

Type Aliases§

Mat4
A 4×4 homogeneous transformation matrix stored row-major.