/MindCuber

Rubik's cube solver (Workshop in CS, Tel Aviv University, 2018)

Primary LanguageJava

MindCuber

NXT 2.0 Rubik's Cube solver

Projects

The repository contains three projects:

MindCuber_PC

This is the main project of the Rubik's Cube solver contains the PC application

MindCuber_NXT

This project contains the application that runs on the NXT, intended to receive commands from the PC application

MindCuber_UT

This project contains the unit tests

Getting Started

Prerequisites

Build

First, build the NXT project and upload it to the brick using leJOS NXJ Plug-in in Eclipse. Only then build the PC project and run it. Upon running it will automaticlly connect to the NXT.

User Guide

alt text

  • Solve cube
    Use this option after completing necessary calibration steps for solving the cube
  • Tests
    alt text
    This menu contains all of the robot's tests recommended to run to validate all robot's operations:
    • Brute force - performs random robot's operations
    • Read color - read current color and print result to logger
    • Flip cube - perfors cube flipping operations
  • Calibration
    alt text
    This menu contains all of the robot's calibration routines:
    • Color sensor - calibrate white color reading, place white color below the sensor and press Enter
    • Color motor - calibrate the color sensor motor. Follow the instructions of the program to calibrate the color sensor to it's three optional positions. Use the < and > buttons to rotate the motor
    • Cube tray - calibrate the cube's tray motor. Use the < and > buttons to rotate the tray to be aligned
    • Proximity - read the current proximity sensor data
    • Color light - read the current background light. Use it to make sure the lighting condition of the room are suitable for the color sensor:
      • Light okay
        alt text
      • Light too strong
        alt text
  • Pattern
    alt text
    This menu contains additional patterns for cube solving:
    • Plus minus
    • 4 cross
    • Cube cube
    • Cube cube cube

Solving the Cube

Please complete the required steps before solving the cube:

  1. Run and complete the calibration methods: Color sensor, Color motor and Cube tray
  2. Make sure light conditions are okay with Color light calibration option
  3. Run the Brute force test to make sure everything is okay

Authors