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.
To build one needs:
- JDK 1.8+ (http://www.oracle.com/technetwork/java/javase/downloads/index.html) and
- maven 3.0.5+ (https://maven.apache.org/download.cgi)
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.
The two subdirectories correspond to two artifacts.
- 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, graphical user interfaces, Pose math conversions, robot simulation for testing.