Accessible GUI-driven robot programming for your product

Overview

Accessible GUI-driven robot programming for your product

Description

Roblocks is an accessible Graphical Programming Tool which enables basic robot programming for everyone. By configuring an outgoing JSON-protocol and recognizing this, you can link the Roblocks-GUI to your robot / product. This enables other people to control your robot, while hiding your back-end and complicated code. This makes the product an option for expositions and to let people create programs. Also fit for education purposes.

Overview

Installation

Navigate to the releases tab, i.e. Releases

From here you can download Roblocks for Mac OS, Windows and Linux. Launch the executable to startup Roblocks, it should work out of the box.

The application has been verified to run on Apple Silicon (M1).

After the installation create your toolbox configuration .json file, as the example displayed here.

Usage

Add / Remove Node(s)

Select the Visual Edit window (center) and click the "add (+)" button. To remove a Node, select it (click), and click the "remove (-)" button.

Add / Remove Operation(s)

Select a node (click) and click the "add (+)" button. To remove an operation, select it (click), and click the "remove (-)" button.

Configure Operation(s)

Click on an operation inside a node and click the "settings" icon.

Compile to .json file

Click on "File", "Save Project" to save your project to the selected location on your disk.

Change read / write location

Click on the app logo "RB", "Preferences" to adjust the paths for reading and writing. After closing the window the toolbox.json will be reloaded, if no previous file was loaded.

Hiding / Showing views

Click on "View" and select the windows you would like to show / hide.

Log

A more detailed log can be viewed by navigating to "View" and click on "Expand log".

Configuration (Roblocks Protocol)

Documentation

Building

This section is inapplicable if you just want to use the application, and not tweak the Source code.

The application has been built using IntelliJ Community Edition and uses the libraries gson-2.8.6 and json-simple-1.1.1. Make sure to include these as libraries using your prefered methods.

Comments
  • Splashscreen

    Splashscreen

    Nice application. I think the splashscreen is a great addition to make it feel more professional. I wonder who you got that idea from. Anyway, I was thinking it should be visible a little longer.

    opened by 198cm 1
  • Invalid HTML-markdown in Protocol documentation (Alpha 0.1)

    Invalid HTML-markdown in Protocol documentation (Alpha 0.1)

    The protocol documentation contains invalid characters, somewhere along the conversion to .html this somehow went wrong. This results in odd typo's and invisible characters.

    The next version will migrate from a local .html file to the file on GitHub, so updating will no longer require a new release to be built.

    bug 
    opened by jetspiking 1
  • Bugs

    Bugs

    Post the bugs you noticed here.

    Known bugs:

    • Dark mode toggle doesn't change arrow color after existing nodes.
    • Node renaming doesn't immediately compile to .json.
    • After switching from dark to light theme duplicate nodes can be added, due to the color being part of the compare.
    • There is no application save, dark mode and paths are therefor not saved.
    bug 
    opened by jetspiking 0
  • Wishlist

    Wishlist

    The current codebase is reaching it's limit in terms of functionality, maintainability and User Experience.

    Which functionalities, features, UI-improvements would you like to see in the release (non-alpha / non-beta) build of Roblocks? Post your ideas, mockups, screenshots and everything you would like to see here.

    enhancement 
    opened by jetspiking 0
  • Design system

    Design system

    Design system

    The Roblocks design system is maintained in this figma project. In the design system you will find all designed components and interface guidelines, for both Roblocks and Roblocks Web.

    For design feedback, leave a comment in this topic.

    Roblocks is an open source visual programming environment that should make the process of programming robotics fun and accessible: therefore it is important that a design system is used.

    happydesign

    enhancement 
    opened by jaschahuisman 0
  • User Interface Enhancements

    User Interface Enhancements

    From usability-testing the following improvements were found and should be implemented in the next iteration:

    • Launching and using the application for the first time is time-consuming, since no tutorial is present. A future version could benefit from a short tutorial that appears on launch, which explains all actions and possibilities.
    • The .json file could contain color codes for the Toolbox-items, so the colors are no longer randomly generated and will appear equal on all processes of Roblocks. This will make referring to items by color more easy, for example during a video call.
    • The Add (+) and Remove (-) button are not very intuitive, this could be improved a lot by a drag and drop system or by giving component or blocks their own Add and Remove button. This is also the case with the "Settings icon".
    • The output-view currently appears default on the left of the screen. This should be changed to invisible by default, the average user will not benefit of this view. The position of the Window might also be something to improve.
    • The log contains both expert and user messages, this should be unambiguous.
    • Create demonstration and explanation video for the UI.
    enhancement 
    opened by jetspiking 4
  • Feature Requests

    Feature Requests

    Are you missing features in Roblocks? Leave a message below and explain what you would like to see, your idea might be implemented in a future release!

    enhancement 
    opened by jetspiking 0
Releases(1.0)
Owner
Dustin
Computer Science student from The Netherlands.
Dustin
EJE provides accessible methods for handling events/actions/listeners

Easy-Java-Events EJE provides accessible methods for handling events/actions/listeners. Add this as dependency to your project via Maven/Gradle/Sbt/Le

Osiris-Team 4 Aug 23, 2022
A template repo for a command style robot

Phil A template repo for a command style robot. To Use Click Use this template in GitHub and create your new repository using the Phil template.

StuyPulse 3 Dec 15, 2022
An open source, modular alternative of sketchware. Create your own app in android using block programming like scratch!

OpenBlocks An open source, modular alternative of sketchware. Create your own app in android using block programming like scratch! What is OpenBlocks?

OpenBlocks 30 Dec 16, 2022
Apache FOP is a print formatter driven by XSL formatting objects

Apache FOP is a print formatter driven by XSL formatting objects

The Apache Software Foundation 149 Jan 2, 2023
The easiest way to integrate Maven into your project!

Maven Wrapper Ongoing Migration to Apache Maven The project codebase has been accepted to be included in the upstream Apache Maven project itself. Cur

null 1.6k Dec 23, 2022
A lightweight command processing pipeline ❍ ⇢ ❍ ⇢ ❍ for your Java awesome app.

PipelinR PipelinR is a lightweight command processing pipeline ❍ ⇢ ❍ ⇢ ❍ for your awesome Java app. PipelinR has been battle-proven on production, as

Eduards Sizovs 288 Jan 8, 2023
From Java To Kotlin - Your Cheat Sheet For Java To Kotlin

From Java To Kotlin From Java To Kotlin - Your Cheat Sheet For Java To Kotlin 中文支持 Português Español Print to Console Java System.out.print("Amit Shek

MindOrks 5.8k Dec 29, 2022
Develop your GitHub Actions in Java with Quarkus

Quarkus GitHub Action Develop your GitHub Actions in Java with Quarkus Interested in GitHub Apps? Have a look at the Quarkus GitHub App extension. Qua

Quarkiverse Hub 7 Jan 6, 2023
Robot Application for void, our 2022 Robot for FIRST Rapid React

void TODO insert cool void logo here Robot Application for void, our 2022 Robot for FIRST Rapid React Building To build the application locally, run .

FRC Team #862, Lightning Robotics 9 Apr 4, 2022
An HTML to PDF library for the JVM. Based on Flying Saucer and Apache PDF-BOX 2. With SVG image support. Now also with accessible PDF support (WCAG, Section 508, PDF/UA)!

OPEN HTML TO PDF OVERVIEW Open HTML to PDF is a pure-Java library for rendering arbitrary well-formed XML/XHTML (and even HTML5) using CSS 2.1 for lay

null 1.6k Dec 29, 2022
Z is a Java library providing accessible, consistent function combinators.

Fearless function combination in Java Techniques Unlock your functional programming potential with these combination techniques: Fusion Z.fuse(fn1, fn

J.R. 27 Jun 13, 2022
Jiskord is a selfbot wrapper for Discord with almost every API endpoint accessible

Jiskord Jiskord is a selfbot wrapper for Discord with almost every API endpoint accessible. This library is inspired by Discum. It is made using Java

Vinesh Rajpurohit 5 Feb 28, 2022
EJE provides accessible methods for handling events/actions/listeners

Easy-Java-Events EJE provides accessible methods for handling events/actions/listeners. Add this as dependency to your project via Maven/Gradle/Sbt/Le

Osiris-Team 4 Aug 23, 2022
Java-Programs---For-Practice is one of the Java Programming Practice Series By Shaikh Minhaj ( minhaj-313 ). This Series will help you to level up your Programming Skills. This Java Programs are very much helpful for Beginners.

Java-Programs---For-Practice is one of the Java Programming Practice Series By Shaikh Minhaj ( minhaj-313 ). This Series will help you to level up your Programming Skills. This Java Programs are very much helpful for Beginners. If You Have any doubt or query you can ask me here or you can also ask me on My LinkedIn Profile

Shaikh Minhaj 3 Nov 8, 2022
This repository contains the source code for a Product Comparison solution

Product Comparison Installation Guide This repository contains the source code for a Product Comparison solution. Please report any issues here. Insta

Mărgărit Marian Cătălin 8 Dec 5, 2022
Ptubes is a database disaster recovery product based on the PITR (Point In Time Recovery) method

Ptubes is a database disaster recovery product based on the PITR (Point In Time Recovery) method, which can be used to restore the entire database to a specific point in time to help users improve the reliability and security of the database

美团 Meituan 46 Nov 29, 2022
A JDBC driver for Cloudflare's D1 product, compatible with Jetbrains tools.

D1 JDBC Driver A JDBC driver for Cloudflare's D1 Database product! JDBC is the technology that drives popular database tools such as Jetbrains' databa

Isaac McFadyen 21 Dec 9, 2022