Introduction, Purpose, and Scope - RobotCasserole1736/RoboSim GitHub Wiki

Introduction

RoboSim is a flexible, programmable platform designed to emulate physical robot mechanical designs and interactions. It receives electrical signals which would ordinarily drive motors or solenoids, and produces digital and analog feedback to emulate limit switches and sensors.

By replacing the physical robot with a programmable platform, control software and electronics boards can be quickly validated without requiring the physical robot hardware. Additionally, many diverse scenarios can be simulated. The control algorithm and electronics can be validated to function under the full gamut of stresses and unique scenarios - even those which might be physically damaging or dangerous with an actual robot.

Purpose

Having such a platform creates many advantages:

  • Electrical team can validate basic component functionality before putting their board onto an actual robot.
  • Software team can validate control algorithms before putting software onto a physical robot
  • Operational Safety can be fully validated before mechanical parts start to move
  • Mechanical team can prototype new design ideas with existing code/electronics
  • Mechanical team can continue work on actual robot while Electrical and Programming teams continue development in a full closed-loop test enviroment.

#Scope

The net goal of RoboSim is to create a Box with the following IO:

6 Motor Inputs (analog -12V to + 12V) 8 Solenoid Inputs (0 or +12V logic) 4 Quadrature Encoder outputs (5V logic) 8 Digital Outputs (5V logic) 8 Analog Outputs (0-5V range) 1 Serial Port

The Heart of the RoboSim will be an arduino Uno, reading/writing data and communicating with a plant model of the robot mechanical hardware.

Future expansion will allow for the RoboSim to generate I2C, SPI, pre-recorded camera images, and Ethernet signals.