SkillAgentSearch skills...

Msgmonster

Application for generating message Java classes for jrosclient from ROS msg files.

Install / Use

/learn @pinorobotics/Msgmonster
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

msgmonster - application for generating Java classes for jrosclient from ROS interface definition files (msg/srv/action).

Features

  • generate Java classes for single ROS interface definition file or all files inside ROS package
  • all comments in ROS interface definition files are preserved and copied to Java classes

Download

Release versions

Requirements

  • Java 22+
  • rosmsg command

Usage

msgmonster [-d] [-exclude regexp1,...,regexpN] [-import package1,...,packageN] <ROS_VERSION> <JAVA_PACKAGE_NAME> < PACKAGE_NAME | MESSAGE_NAME > <OUTPUT_FOLDER>

Where:

  • ROS_VERSION - version of ROS for which message is generated (ros1, ros2)

  • JAVA_PACKAGE_NAME - name of the Java package to which all generated messages would belong

  • MESSAGE_NAME - name of the ROS message

  • PACKAGE_NAME - name of the ROS package for which Java classes will be generated

  • OUTPUT_FOLDER - output folder where to place all generated Java classes

Options:

  • -d - enable debug mode when all debug logging is stored in "msgmonster-debug.log" file under system temporary directory

  • -exclude regexp1,...,regexpN - exclude ROS interface definition files which names match any of the given regexps. This option can be used to skip any problematic ROS interface definition files.

  • -import package1,...,packageN - add imports to all generated Java classes in the following form:

import package1;
...
import packageN;

This is useful when messages are generated into a separate Java packages than service or action definitions (for example messages are generated into "java.package.msg" and service definitions which rely on these messages, are generated into "java.package.srv")

Examples

To see this help:

msgmonster

Generate messages defined in actionlib_msgs package (ROS1):

msgmonster ros1 myros.actionlib_msgs actionlib_msgs /tmp/actionlib_msgs

Generate message for sensor_msgs/Image (ROS2):

msgmonster ros2 myros.actionlib_msgs sensor_msgs/msg/Image /tmp/actionlib_msgs

Notice that ROS2 requires 3 parts in MESSAGE_NAME ("sensor_msgs", "msg", "Image") instead of 2 as in ROS1.

Links

Development

Contacts

aeon_flux aeon_flux@eclipso.ch

View on GitHub
GitHub Stars7
CategoryDevelopment
Updated5mo ago
Forks2

Languages

Java

Security Score

67/100

Audited on Oct 18, 2025

No findings