harmanpa / crcl

Canonical Robot Command Language, a generic interface to industrial robots

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

crcl4java

Tools and Libraries for Java Developers using "Canonical Robot Command Language" (CRCL)

The language called "Canonical Robot Command Language" (CRCL) provides generic command and status definitions that implement the functionality of typical industrial robots without being specific either to the language of a plan that is being executed or to the language used by a robot controller that executes CRCL commands. It can be used with offline planners that create output to be stored in CRCL files or online where CRCL is communicated in both directions via TCP. CRCL commands and status could also be exchanged over TCP between an operator interface and a robot controller or proxy for a robot controller.

The programming language independent documentation and XML Schema files for validation are stored in the main crcl repository: https://github.com/ros-industrial/crcl

This repository contains Java libraries and tools related to CRCL.

Build

To build one needs:

Use the command:

mvn package

OR

  • An IDE bundled with both maven and a JDK such as Netbeans, IntelliJ, or Eclipse.
    • Netbeans will open a maven project with File -> Open Project just like Netbeans generated Ant projects.
    • IntelliJ and Eclipse both have options to import maven projects.

Contents

The subdirectories include:

  • crcl4java-base -- xjc autogenerated JAXB annotated classes corresponding to the CRCL schemas.
  • crcl4java-utils -- class for sending and receiving CRCL classes over a TCP Socket, Pose math conversions, etc
  • crcl4java-ui -- SWING based desktop graphical user interfaces, robot simulation server and operator interface client
  • crcl4java-exi -- EXI (Efficient XML Interface) wrappers for CRCL.
  • crcl4java-commons-math -- Utility class for converting CRCL types to appropriate Apache commons-math types.
  • crcl4java-vaadin-webapp -- a client user interface accessed through a web-browser
  • crcl4java-fanuc -- version of the CRCL Server which connects to a Funuc using Fanuc's PC Developers Kit.

Run

The graphical user interface can be launched with the command:

For linux:

./run.sh

For Windows:

run.bat

To Run the web-server for the browser interface:

NOTE: If you have another server using port 8080, it will need to be stopped first.

For linux:

./runWebApp.sh

This will start a web-server that can be accessed at

http://localhost:8080/crcl4java-vaadin-webapp/

Native Installer

A native installer can optionally be built for the desktop user interface. Before building on Windows install, Inno Setup from http://www.jrsoftware.org/isdl.php and Wix Toolset from http://wixtoolset.org/.

To build the installer, build with the profile native_installer selected in the project configuration drop down menu in Netbeans or use the following command:

cd crcl4java-ui
mvn install -P native_installer

Native Installer : Windows

Building the installer requires Inno Setup from http://www.jrsoftware.org/isdl.php and Wix Toolset from http://wixtoolset.org/.

On window the installer file produced is:

crcl4java-ui/target/bundles/crcl4java-ui-1.0.exe

Running the installer will put the program in the Windows start menu in the "Uknown" folder.

It can be uninstalled from the control panel. The name is crcl4java-ui and publisher is "Unknown".

Native Installer : Ubuntu

On Ubuntu, this installer file produced is:

crcl4java-ui/target/bundles/crcl4java-ui-1.0.deb

which can be installed with:

sudo dpkg -i crcl4java-ui/target/bundles/crcl4java-ui-1.0.deb

This can then be found in Ubuntu menus or run with the command.

/opt/crcl4java-ui/crcl4java-ui

uninstall with

sudo apt-get remove crcl4java-ui

JavaDoc

Links to javadoc generated documentation: http://wshackle.github.io/crcl4java/

Pre-compiled Binaries

Binaries can be downloaded and installed via their maven coordinates:

<dependencies>
    <dependency>
        <groupId>com.github.wshackle</groupId>
        <artifactId>crcl4java-base</artifactId>
        <version>1.5-1</version>
    </dependency>
    <dependency>
        <groupId>com.github.wshackle</groupId>
        <artifactId>crcl4java-utils</artifactId>
        <version>1.5-1</version>
    </dependency>
    <dependency>
        <groupId>com.github.wshackle</groupId>
        <artifactId>crcl4java-ui</artifactId>
        <version>1.5-1</version>
    </dependency>
</dependencies>

or with these direct links:

http://central.maven.org/maven2/com/github/wshackle/crcl4java-ui/1.5-1/crcl4java-ui-1.5-1.jar

http://central.maven.org/maven2/com/github/wshackle/crcl4java-ui/1.5-1/crcl4java-ui-1.5-1-jar-with-dependencies.jar

http://central.maven.org/maven2/com/github/wshackle/crcl4java-base/1.5-1/crcl4java-base-1.5-1.jar

http://central.maven.org/maven2/com/github/wshackle/crcl4java-utils/1.5-1/crcl4java-utils-1.5-1.jar

http://central.maven.org/maven2/com/github/wshackle/crcl4java-utils/1.5-1/crcl4java-utils-1.5-1-jar-with-dependencies.jar

Build Status

About

Canonical Robot Command Language, a generic interface to industrial robots

License:Other


Languages

Language:Java 99.5%Language:Shell 0.5%