GithubHelp home page GithubHelp logo

gleadbet / duplo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from serobotics/duplo

0.0 0.0 0.0 96.05 MB

Tool: A block-based programming language prototype for two-armed robots.

Home Page: https://vcuse.github.io/duplo/

HTML 3.82% CSS 0.21% JavaScript 90.30% C# 0.94% Shell 0.14% Python 1.68% Java 0.12% Swift 0.08% Closure Templates 0.13% Dart 0.80% Lua 0.75% PHP 1.02%

duplo's Introduction

Duplo ๐Ÿฆพ

A prototype of a programming language for two-armed robots.

๐Ÿ—‚๏ธ Files

  • index.html: The HTML file where the programming language is loaded.
  • css: Folder containing the stylesheets of index.html.
  • js: Folder containing the javascript code of index.html.
  • mockups: Folder containing the mockups of our prototype.
  • bootstrap: Folder containing files from the bootstrap front-end framework.
  • app: The source code of our WPF application.
  • mockups: Folder containing mockups of our application.
  • blockly: A fork of the blockly programming editor.

๐Ÿ”ฉ Dealing with the code

Structure

Our project is divided in two parts:

The first part is our website, written in Javascript and using the Blockly client-side library, it provides all the necessary functionalities of our programming language, including the programming workspace, components and compiler.

The second part of our project is our desktop application, written in Windows Presentation Foundation (WPF) format and C#, it uses a Chromium webview to render our website (i.e. the programming language) and the ABB PC SDK to communicate with the YuMi's controller. The desktop application is responsible for connecting the user to the controller, uploading code to the robot, executing RAPID programs, etc.

Summary: If you are interested only in the programming language, take a look at the files related to our website, such as index.html and the js/ folder. If you are interested in the application, start by taking a look at the app/ folder.

Technologies

For the website, make sure you are familiar with Javascript and Blockly. We use Blockly not only to create the programming environment but also to translate the Blockly components to RAPID code (i.e. YuMi's programming language). If you are not familiar with RAPID code, start by taking a look at its manual provided by ABB.

For the desktop application, you will need to know C#, the ABB PC SDK and Windows Presentation Foundation (WPF). The tutorials provided by Microsoft for WPF development are awesome, and may be useful for you if you don't know how it works. If you are not familiar with the ABB PC SDK, start by reading their manual and watching the videos provided by ABB employees on YouTube.

๐Ÿ’ป Building your local workspace

First, download our repository using Git or use the "Code โ†“" button at the top of this page to download it as a ZIP file. The website is static, so you don't need to install anything to make it work, just open the index.html file and have fun. To execute the code of our desktop application, open the VCUProject.sln that is inside the app/ folder using Visual Studio (not Visual Studio Code!), and let Visual Studio build your local workspace. If you are not familiar with Visual Studio, please take a look at the Getting Started section of ABB PC SDK website, and build a sample project on your computer to get a better comprehesion of it.

๐Ÿ’ฌ Contact the community

If you need our help or are interested in being part of our community, do not hesitate to send us a message:

duplo's People

Contributors

fronchetti avatar hollingsworre avatar knaoinr avatar nritschel avatar anonymousrobots avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.