Command Reference
The genesys command-line interface (CLI) is the unified entry point for managing your ROS 2 projects. This page provides a comprehensive reference for every available command, its options, and examples.
genesys new
genesys newCreates a new, structured ROS 2 workspace with all the standard directories.
Signature
genesys new <project_name>Description This command generates a new directory with the given <project_name>. Inside, it creates a standard ROS 2 workspace layout, including src/, launch/, config/, and sim/ directories. This ensures your projects start with a consistent and clean structure.
Example
# Creates a new workspace directory named "my_robot_ws"
genesys new my_robot_ws
# Navigate into the new workspace
cd my_robot_wsgenesys make pkg
genesys make pkgInteractively creates a new Python or C++ package within the src/ directory.
Signature
genesys make pkg <pkg_name> [--with-node]Description This command launches an interactive wizard to help you create a new ROS 2 package. It will prompt you for details like the package type (Python/C++) and description. It automatically generates the package.xml, setup.py (for Python), and CMakeLists.txt (for C++) files.
--with-node: If specified, the wizard will ptompt you to know what type of node (publisher, Subscriber, Service, Action Service, Interface, etc) after that, it will immediately proceed to themake nodeflow after the package is created.
Example
# Starts the interactive wizard to create a Python package named "robot_brain"
genesys make pkg robot_braingenesys make node
genesys make nodeCreates a new node and automatically registers it within an existing package.
When creating it, you will be prompted to selecte the type of node you want to create (publisher/subscriber, actionservice, service, interface), etc.
Signature
genesys make node <node_name> --pkg <package_name>Description This command generates a new node file and, more importantly, handles all the boilerplate for registering it. It will:
Create the node source file (e.g.,
src/my_pkg/my_pkg/my_node.py).Add the node as an executable entry point in the package's
setup.pyorCMakeLists.txt.Generate or update a launch file in the workspace's
launch/directory to include the new node.
Example
# Creates a node named "camera_processor" inside the "robot_vision" package
genesys make node camera_processor --pkg robot_visiongenesys build
genesys buildBuilds the entire workspace using colcon and sources the environment.
Signature
genesys buildDescription This is a convenience wrapper that runs colcon build --symlink-install and then automatically sources the install/setup.bash file for you. This means that after the build completes, your new nodes are immediately available as executables in your current terminal session.
Example
# Build all packages in the current workspace
genesys buildgenesys run
genesys runRuns a node by its executable name without needing to specify the package.
Signature
genesys run <node_name>Description This command searches your workspace for a node with the given executable name and runs it using ros2 run. It saves you from having to remember which package a specific node belongs to.
Example
# Assuming you have a node named "path_planner_node" somewhere in your workspace
genesys run path_planner_node
# This is equivalent to running `ros2 run <some_pkg> path_planner_node`genesys launch
genesys launchLaunches a package's default launch file or a specific one.
Signature
genesys launch <pkg_name>[:<launch_file_name>]
genesys launch --allDescription This command simplifies launching your application.
genesys launch <pkg_name>: Looks for and runs a default launch file named<pkg_name>_launch.pyin the workspace'slaunch/directory.genesys launch <pkg_name>:<file_name>: Runs a specific launch file from thelaunch/directory (e.g.,launch/file_name.py).genesys launch --all: Finds and executes adefault.launch.pyfile in every package's launch directory.
Example
# Run the default launch file for the 'robot_brain' package
genesys launch robot_brain
# Run a specific launch file named 'navigation_launch.py'
genesys launch robot_brain:navigationgenesys sim
genesys simStarts a Gazebo simulation with a specified world and robot model.
Signature
genesys sim <world_file>Description This command provides a one-step way to start a simulation. It launches Gazebo, loads the specified world file (e.g., from a worlds/ directory), and automatically includes any robot models found in the sim/models directory of your workspace.
Example
# Start Gazebo and load the 'my_world.world' file
genesys sim my_world.worldgenesys doctor
genesys doctorChecks the local environment for common configuration issues.
Signature
genesys doctorDescription A simple diagnostic tool to ensure your development environment is set up correctly. It checks for a sourced ROS 2 distribution, required dependencies, and other common setup problems.
Example
# Run a check on your environment
genesys doctorGenesys Tooling Commands
Genesys provides a suite of commands that act as convenient aliases for common ros2 CLI functions.
Node Commands
genesys node list: Lists all active nodes. This is an equivalent toros2 node list.genesys node info <node>: Displays detailed information about a specific node. This command mirrorsros2 node info <node>.
Topic Commands
genesys topic list: Lists all active topics.genesys topic info <topic>: Displays information about a given topic, similar toros2 topic info <topic>.genesys topic echo <topic>: Prints messages from a topic to the console, equivalent toros2 topic echo <topic>.genesys topic pub <topic> <msg_type> <args>: Publishes a message to a topic directly from the command line. This is an alias forros2 topic pub <topic> <msg_type> <args>.genesys topic bw <topic>: Shows the bandwidth usage for a specified topic, which is an alias forros2 topic bw <topic>.genesys topic find <msg_type>: Finds all topics that use a specific message type, mirroring the functionality ofros2 topic find <msg_type>.
Service Commands
genesys service list: Lists all active services.genesys service type <srv>: Prints the service type of a specific service, equivalent toros2 service type <srv>.genesys service info <srv>: Displays information about a service, equivalent toros2 service info <srv>.genesys service find <srv_type>: Finds services that use a specific service type.genesys service call <srv> <srv_type> <args>: Calls a service from the CLI, which is an alias forros2 service call <srv> <srv_type> <args>.genesys service echo <srv>: Displays the service data, an alias forros2 service echo <srv>.
Action Commands
genesys action list: Lists all active actions, mirroringros2 action list.genesys action type <action>: Prints the action type of a specified action.genesys action info <action>: Displays information about an action, similar toros2 action info <action>.genesys action send_goal <action> <args>: Sends a goal to an action server from the CLI, an alias forros2 action send_goal <action> <args>.genesys action echo <action>: Displays the action data, an alias forros2 action echo <action>.
Parameter Commands
genesys param list: Lists all parameters for a node.genesys param get <node> <param>: Gets the value of a specific parameter from a node.genesys param set <node> <param> <value>: Sets a parameter value on a node.genesys param dump <node>: Dumps all parameters from a node to a YAML file.genesys param load <node> <file>: Loads parameters from a file onto a node.
Debugging Tools:
genesys debug record <topics>: Records data from specified topics, serving as a simplified version ofros2 bag record.genesys debug replay <file>: Replays recorded data from a.db3file, similar toros2 bag play
Last updated
Was this helpful?
