Skip to content

Available Tools

Yuta edited this page Jun 18, 2025 · 1 revision

Topic Management

  • list_topics()

    • Lists all currently accessible ROS 2 topics.
    • Example: "What topics are available?"
  • check_topic_status(topic_name: str)

    • Checks if a specific ROS 2 topic is actively publishing messages.
    • Parameters:
      • topic_name: The name of the ROS 2 topic to check (e.g., "/scan")
    • Example: "Is the topic /scan publishing data?"
  • get_topic_info(topic_name: str)

    • Gets detailed information about a specific ROS 2 topic including message type and publishers/subscribers.
    • Parameters:
      • topic_name: Name of the topic to get info about
  • echo_ros2_topic(topic_name: str, count: int = 1)

    • Captures and displays messages from a ROS 2 topic.
    • Parameters:
      • topic_name: Name of the topic to echo
      • count: Number of messages to capture (default: 1)
    • Example: Echo 5 messages from /scan topic
  • publish_ros2_topic(topic: str, msg_type: str, msg_content: str, duration: int)

    • Publishes messages to a specific ROS 2 topic for a given duration.
    • Parameters:
      • topic: Topic name to publish to (e.g., "/chatter")
      • msg_type: ROS 2 message type (e.g., "std_msgs/msg/String")
      • msg_content: Message content (e.g., "data: Hello")
      • duration: Duration in seconds to continue publishing
  • check_ros2_topic_hz(topic_name: str)

    • Displays the publishing frequency (Hz) of a given ROS 2 topic.
    • Parameters:
      • topic_name: Name of the topic (e.g., "/scan")
    • Example: "Check the message rate on /scan"

Node Management

  • list_ros2_nodes()

    • Lists all currently running ROS 2 nodes.
    • Example: "Which nodes are currently running?"
  • get_ros2_node_info(node_name: str)

    • Shows detailed information about a specific ROS 2 node including topics, services, and actions.
    • Parameters:
      • node_name: Name of the node (e.g., "/turtlesim")
    • Example: "Tell me about node /turtlesim"
  • run_ros2_executable(package: str, executable: str)

    • Runs a ROS 2 executable from a specified package.
    • Parameters:
      • package: Name of the ROS 2 package
      • executable: Name of the executable to run
    • Example: "Start the turtlesim node"

Service Management

  • list_ros2_services()

    • Lists all available ROS 2 services in the system.
  • call_ros2_service(service_name: str, srv_type: str, request: str)

    • Calls a ROS 2 service with specified parameters.
    • Parameters:
      • service_name: Name of the service to call
      • srv_type: Type of the service (e.g., "std_srvs/srv/Empty")
      • request: Request payload in string format (e.g., "{}")

Action Management

  • list_ros2_actions()

    • Lists all available ROS 2 actions in the system.
  • send_ros2_action_goal(action_name: str, action_type: str, goal: str)

    • Sends a goal to a ROS 2 action server.
    • Parameters:
      • action_name: Name of the action
      • action_type: Action type (e.g., "example_interfaces/action/Fibonacci")
      • goal: Goal message (e.g., "{order: 5}")

Package Management

  • find_ros2_package(pkg_name: str)
    • Searches for available ROS 2 packages that match a given keyword.
    • Parameters:
      • pkg_name: Partial or full name of the package to search for
    • Example: "Are there any packages related to turtle?"

Interface Information

  • show_ros2_interface(msg_type: str)
    • Shows the interface definition for a given ROS 2 message, service, or action type.
    • Parameters:
      • msg_type: The interface type to show (e.g., "std_msgs/msg/String")

GUI Applications

The following tools launch GUI applications via a WebSocket server. Make sure your WebSocket server is running on localhost:8765.

  • launch_rqt_graph()

    • Launches rqt_graph for visualizing ROS 2 node connections and topic flow.
  • launch_rviz()

    • Launches RViz2 for 3D visualization of robot data.
  • launch_turtlesim()

    • Launches the turtlesim simulation for basic ROS 2 tutorials.
  • launch_gazebo()

    • Launches the Gazebo physics simulation environment.
  • launch_turtlebot3_world()

    • Launches TurtleBot3 simulation in a world environment.
  • launch_turtlebot3_empty_world()

    • Launches TurtleBot3 simulation in an empty world environment.

System Management

  • run_ros2_doctor()

    • Runs ROS 2 doctor to check environment setup and identify potential issues.
  • debug_ros2_environment()

    • Provides detailed debugging information about the ROS 2 environment including environment variables, available topics, and running nodes.
  • clean_all_ros2_nodes()

    • Kills all currently running ROS 2 and Gazebo related processes to clean the environment.

Clone this wiki locally