For first time users, please have a look at our website. Also, please refer to the website for tutorials, a high-level API description and answers on frequently asked questions (FAQ).
API Overview
Basic Structures, Algorithms and OS Abstraction
- rl::math - General mathematical data structures and algorithms.
- Basic linear algebra data structures rl::math::Vector, rl::math::Matrix, rl::math::Array, rl::math::Transform, rl::math::Quaternion
- Spatial vector algebra rl::math::MotionVector, rl::math::ForceVector, rl::math::PlueckerTransform, rl::math::RigidBodyInertia, rl::math::ArticulatedBodyInertia
- Generic functions rl::math::Function, rl::math::Polynomial, rl::math::Circular
- Piecewise polynomial spline function rl::math::Spline
- Generic metrics for L2 rl::math::metrics::L2 and squared L2 rl::math::metrics::L2Squared
- Nearest neighbors search rl::math::LinearNearestNeighbors, rl::math::GnatNearestNeighbors, rl::math::KdtreeNearestNeighbors, rl::math::KdtreeBoundingBoxNearestNeighbors
- Generic PID controller rl::math::Pid
- Generic Kalman filter rl::math::Kalman and low-pass filter rl::math::LowPass
- rl::util - Operation system abstraction and utility functions.
- rl::xml - XML abstraction including XPath support
Hardware Interfaces
- rl::hal - Hardware abstraction layer for sensors, actuators, and robots
- Abstract devices rl::hal::JointPositionSensor, rl::hal::JointPositionActuator, rl::hal::Camera, rl::hal::RangeSensor
- Cross-platform socket implementation rl::hal::Socket, cross-platform serial communication rl::hal::Serial
- Robot drivers rl::hal::Coach, rl::hal::MitsubishiH7, rl::hal::UniversalRobotsRtde
- Gripper driver rl::hal::WeissWsg50
- Laser scanner and range sensor drivers rl::hal::LeuzeRs4, rl::hal::SchmersalLss300, rl::hal::SickLms200, rl::hal::SickS300, rl::hal::SchunkFpsF5
- Camera driver rl::hal::Dc1394Camera
- Force-torque sensor driver rl::hal::Ati, rl::hal::Jr3, rl::hal::WeissKms40
Kinematics, Dynamics and Trajectory Generation
- rl::mdl - Kinematic and dynamic spatial vector calculations, including several joint types and branched kinematics
Collision Checking, Visualization and Path Planning
- rl::sg - Scene graph abstraction for collision checking, distance queries, raycasts, and visualization
- rl::plan - Robot path planning algorithms
- Path planning problem with robot kinematic and collision scene rl::plan::Model
- Sampling techniques in configuration spaces rl::plan::UniformSampler, rl::plan::GaussianSampler, rl::plan::BridgeSampler
- Collision-free path verification rl::plan::SequentialVerifier, rl::plan::RecursiveVerifier
- Configuration space metric rl::plan::Metric and workspace metric rl::plan::WorkspaceMetric
- Configuration space nearest neighbors search rl::plan::LinearNearestNeighbors, rl::plan::GnatNearestNeighbors, rl::plan::KdtreeNearestNeighbors, rl::plan::KdtreeBoundingBoxNearestNeighbors
- Path planning algorithms related to rapidly-exploring random trees rl::plan::Rrt, rl::plan::RrtDual, rl::plan::RrtCon, rl::plan::RrtExtCon, rl::plan::RrtConCon, rl::plan::RrtExtExt
- Path planning algorithms related to probabilistic roadmaps rl::plan::Prm, rl::plan::PrmUtilityGuided
- Exploring/exploiting tree path planner rl::plan::Eet
- Path optimization algorithms rl::plan::SimpleOptimizer, rl::plan::AdvancedOptimizer