Skip to content

Repository files navigation

Single-Link Arm Designer

A C++ console application that sizes and validates a single-link robotic arm: computes cross-sectional geometry, bending stress, and moment of inertia for a given payload and material, then selects and ranks matching motors and gearboxes from a built-in component database.

Features

  • Interactive Arm Specification — Enter custom arm length, payload mass, and angular acceleration, or use built-in default specs for a quick run
  • Cross-Section Design — Supports both rectangular and circular cross-sections
  • Material Selection — Choose from a material database used to compute stress limits
  • Stress & Inertia Analysis — Calculates bending moment, moment of inertia, and maximum stress for the initial design, then optimizes the cross-section dimensions to meet stress requirements while minimizing mass
  • Motor & Gearbox Matching — Cross-references a motor and gearbox database against the calculated bending moment requirements
  • Component Sorting — Sorts and ranks candidate motor/gearbox combinations by suitability for the required torque

Project Structure

  • main.cpp — Program flow and user interaction
  • Arm_data — Arm geometry class (length, cross-section, mass, dimensions)
  • Calculations — Stress and inertia analysis (stress_calc class)
  • Materials — Material property database and selection
  • Motor_database / Gearbox_database — Component libraries
  • Sorting — Ranks components against calculated requirements
  • Global_functions — Shared I/O and utility functions

Tools & Requirements

  • C++ (developed with Code::Blocks, MinGW)
  • No external libraries — standard library only

How to Run

  1. Open link designer.cbp in Code::Blocks (or compile the .cpp files directly with any C++ compiler)
  2. Build and run
  3. Follow the prompts:
    • Choose new to input custom arm specs, or def for default values
    • Select a cross-section type (rectangle or circle)
    • Select a material from the list
  4. The program outputs the optimized arm dimensions, final mass, max stress, and a ranked list of suitable motors/gearboxes

Author

Eyad Ashraf Zaki — Mechatronics & Robotics Engineering, Ain Shams University

About

C++ console tool that sizes a robotic arm's cross-section and matches motors/gearboxes to load requirements

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages