A comprehensive collection of MATLAB projects developed by the GRAAL Lab, focused on robotics, control, and motion planning.
This repository contains several specialized MATLAB projects for robotic systems, task-based inverse kinematics, and utility tools for mathematical computations and robot modeling.
Simulation framework for an Underwater Vehicle-Manipulator System (UVMS). This project includes:
- DextimusMain.m: Main entry point for the simulation
- UvmsModel.m & UvmsSim.m: UVMS dynamics and simulation engine
- armModel.m & arm.urdf: Robotic arm kinematics and URDF model definition
- UnityInterface.m: Integration with Unity game engine for visualization
- Task classes: Task-specific implementations including:
TaskHorizontalAttitude.m: Horizontal attitude maintenance tasksTaskVehicleOrientation.m: Vehicle orientation controlTaskTool.m&TaskVehicle.m: Tool and vehicle manipulation tasks
- SimulationLogger.m: Logging and data recording utilities
- Helper utilities:
manipulator.m,floatingBaseHelper.m,robot_urdf.m,draft.m
Implementation of the incremental Complementary Augmented Tasks (iCAT) control framework:
- iCAT_task.m: Main task definition and management
- iCAT_pseudoInverse.m: Pseudo-inverse computation for iCAT
- RegPseudoInverse.m: Regularized pseudo-inverse implementation
This module handles hierarchical task-based control for robot manipulators.
A collection of helper functions for robotics and control applications:
Transformation & Rotation Tools:
RotMatrix2RPY.m: Convert rotation matrices to Roll-Pitch-Yaw anglespqr2rpy.m: Convert angular rates (p,q,r) to RPY ratesskew.m: Skew-symmetric matrix generationrotation.m: Rotation matrix utilities
Task & Control Tools:
CartError.m: Cartesian error computationSaturate.m: Signal saturation for control limitsintegrate_vehicle.m: Vehicle integration utilities
Mathematical Functions:
VersorLemma.m: Versor lemma implementationReducedVersorLemma.m: Reduced versor lemma for optimizationIncreasingBellShapedFunction.m: Smooth increasing transition functionDecreasingBellShapedFunction.m: Smooth decreasing transition functionSlowdownToRealtime.m: Real-time simulation adaptation
Framework for task-priority based inverse kinematics:
- ActionManager.m: Manages prioritized actions for the robot
- Task.m: Base task definition
- MATLAB R2019b or later
- Robotics System Toolbox (for URDF support in dextimus)
- Optional: Unity 2020+ (for visualization with Dextimus)
- Clone the repository:
git clone https://github.com/GRAAL-Lab/matlab_code.git cd matlab_code