grbl_node

This file is ai generated. Do not edit this file directly. Instead, edit the node source code and run the generate-node-docs command to update this file.

Node Description

A ROS2 node representing a single GRBL device. This node’s main function is to publish the real-time pose of the GRBL device as a ROS2 transform (tf). Additionally, it enables the ROS2 user to send GCODE commands and files to the GRBL device and monitor its status.

Publishers

Topic

Message Type

Description

{machine_id}/machine_position

geometry_msgs/msg/Pose

Publishes the machine position of the GRBL device

{machine_id}/work_position

geometry_msgs/msg/Pose

Publishes the work position of the GRBL device

{machine_id}/state

grbl_msgs/msg/State

Publishes the current state of the GRBL device

/tf

tf2_msgs/msg/TFMessage

Publishes transforms via TransformBroadcaster

Services

Service

Service Type

Description

{machine_id}/stop

grbl_msgs/srv/Stop

Stops the GRBL device (disables or fires steppers)

Actions

Action

Action Type

Description

{machine_id}/send_gcode_cmd

grbl_msgs/action/SendGcodeCmd

Sends a single GCODE command to the GRBL device

{machine_id}/send_gcode_file

grbl_msgs/action/SendGcodeFile

Sends a GCODE file to the GRBL device (streams file line by line)

Parameters

Parameter

Type

Default

Description

machine_id

string

"cnc_001"

Unique identifier for the GRBL machine

port

string

"/dev/ttyUSB0"

Serial port for the GRBL device

baudrate

int

115200

Baud rate for serial communication

acceleration

int

50

Axis acceleration in mm/min²

x_max

int

300

Maximum X-axis travel in mm

y_max

int

200

Maximum Y-axis travel in mm

z_max

int

150

Maximum Z-axis travel in mm

default_v

int

100

Default velocity in mm/min

x_max_v

int

150

Maximum X-axis velocity in mm/min

y_max_v

int

150

Maximum Y-axis velocity in mm/min

z_max_v

int

150

Maximum Z-axis velocity in mm/min

x_steps

int

100

X-axis steps per mm

y_steps

int

100

Y-axis steps per mm

z_steps

int

100

Z-axis steps per mm

Example Usage

# Run with default parameters
ros2 run grbl_ros grbl_node

# Run with custom parameters from config file
ros2 run grbl_ros grbl_node --ros-args --params-file /path/to/config.yaml