Skip to content

cmkuo12/MoveToCode

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MoveToCode: A Mixed Reality Visual Programming Language

MoveToCode is an open source mixed reality visual programming language (VPL) created by the Interaction Lab led by Maja J Matric. The VPL is used to study student kinesthetic curiostiy. The VPL can be thought of similar to Scratch in 3D.

MoveToCode is built for the Microsoft Hololens 2 using the Mixed Reality Toolkit. Currently it is set up to work with the Mayfield Kuri robot but can be modified for any ROS supported robot via ROS# and rosbridge.

Here is a video of MoveToCode + a robot tutor.

Study Commits

Currently the study commit for all papers: 0765f1d1ab46373f1bc1be90d9d5b07fafc2a533

Projects in Progress

General Structure

Interpreter

  • Singleton class that reads/interprets connected codeblocks line-by-line from top to bottom, beginning at the "Start" codeblock.
  • Utilizes an instruction stack to ensure that the reaching the end of a codeblock control flow statement (if, while) does not end the program unless the stack is empty.

Memory Manager

  • Singleton class that holds a list of buttons which spawn variables created by the user.
  • Visualizes changes in the values stored in variables as interpreter reads/runs code.

IArgument

  • Abstract class from which all visual/block coding components are derived.
  • Of all the classes that inherit from IArgument, only the bottom classes/leaf nodes are non-abstract
  • Child classes - main partition for code blocks based on function
    • IDataType: All data types (primitive and derived) inherit from this class
      • int, float, string, bool, char, array
    • Instruction: All instructions inherit from this class
      • print, set variable value, conditionals, arithmetic

External Dependencies

Versions of packages are pushed directly to the repository to avoid versioning issues, licensing permitting.

Tested Platform Support

The following are currently tested versions of required software. Higher versions of each software may work but have not been tested.

Licensing

MoveToCode is open source under the MIT License

Questions or Contributions

For any questions, you can contact Thomas Groechel at groechel@usc.edu. Feel free to fork for your own projects and/or submit pull requests.

About

Unity project containing mixed reality coding language

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 96.8%
  • ShaderLab 2.6%
  • Other 0.6%