Robotics and Software Resources

From iRobotics Tech Wiki

This page includes a list of helpful resources used for understanding robotics concepts as well as software tools used to implement real world systems.

Conceptual Resources

  • Modeling Robots in MATLAB
    • YouTube tutorial series for learning how to create robot models in MATLAB. Useful for research projects, control system testing, and dynamics modeling.

Common Terminology

These are some commonly seen terms in robotics literature that will be helpful to know.

  • Sensor Fusion
The integration of sensory data from disparate sources to produce more accurate, consistent, and useful information than that provided by any individual sensor. Helpful to balance out flaws and noise in different types of sensors as well.
  • Kalman Filter
A mathematical algorithm that uses a series of measurements observed over time, containing statistical noise and other inaccuracies, to estimate unknown variables that tend to be more precise than those based on a single measurement alone.
  • Localization
The process by which a device or system can determine its position within an environment, typically by referencing external sources such as signals or markers.
  • Degrees of Freedom
The number of independent parameters that define the state or motion of a mechanical system or body, indicating the dimensions in which the body can move or be controlled.
  • Manipulation
In robotics and automation, manipulation refers to the action of controlling mechanical limbs to interact with and modify the environment, often involving tasks such as lifting, moving, or assembling objects.
  • Rigid Transforms
Mathematical operations used to describe the movement of objects in space, including rotation and translation, without any deformation of the object itself.
  • Inverse/Forward Kinematics
Inverse kinematics involves calculating the joint angles needed for a robotic arm to reach a specific position and orientation, while forward kinematics determines the position and orientation of the arm's end effector based on given joint angles.
  • Computer Vision
A field of artificial intelligence that trains computers to interpret and understand the visual world. Machines can accurately identify and locate objects then react to what they “see” using digital images from cameras, videos, and deep learning models.
  • State Estimation
The process of estimating the state of a system (such as its position, velocity, and acceleration) from a series of measurements contaminated by noise, often using algorithms like the Kalman Filter.
  • Path Planning
The computational process of determining a route or path for an agent to follow from one point to another, often while avoiding obstacles and considering the dynamics and constraints of the agent. Examples of algorithms for path planning include A*, PRM (Probabilistic Road Map) and RRT (Rapidly exploring Random Tree)
  • Odometry
The use of data from motion sensors to estimate changes in position over time, used extensively in robotics and navigation to track the movement of a vehicle or device.
  • SLAM (Simultaneous Localization and Mapping)
A technique used for creating a map of the robot's surroundings while localizing itself in it at the same time. Some example algorithms include RTAB-MAP and ORB-SLAM.

Software Tools

  • ROS2 (Robot Operating System)
    • ROS2 Wiki
    • NAV2
    • GridMap
    • MoveIt