|  | 
|  | 1 | +# ROS 2 Debugging Assistant | 
|  | 2 | + | 
|  | 3 | +The ROS 2 Debugging Assistant is an interactive tool that helps developers inspect and troubleshoot their ROS 2 systems using natural language. It provides a chat-like interface powered by Streamlit where you can ask questions about your ROS 2 setup and execute common debugging commands. | 
|  | 4 | + | 
|  | 5 | + | 
|  | 6 | + | 
|  | 7 | +## Features | 
|  | 8 | + | 
|  | 9 | +- Interactive chat interface for debugging ROS 2 systems | 
|  | 10 | +- Real-time streaming of responses and tool executions | 
|  | 11 | +- Support for common ROS 2 debugging commands: | 
|  | 12 | +  - Topic inspection and manipulation | 
|  | 13 | +  - Service inspection | 
|  | 14 | +  - Node information | 
|  | 15 | +  - Action server details | 
|  | 16 | +  - Interface inspection | 
|  | 17 | + | 
|  | 18 | +## Running the Assistant | 
|  | 19 | + | 
|  | 20 | +1. Make sure you have RAI installed and configured according to the [setup instructions](../README.md#setup) | 
|  | 21 | + | 
|  | 22 | +2. Launch the debugging assistant: | 
|  | 23 | + | 
|  | 24 | +```sh | 
|  | 25 | +source setup_shell.sh | 
|  | 26 | +streamlit run src/rai/rai/tools/debugging_assistant.py | 
|  | 27 | +``` | 
|  | 28 | + | 
|  | 29 | +## Usage Examples | 
|  | 30 | + | 
|  | 31 | +Here are some example queries you can try: | 
|  | 32 | + | 
|  | 33 | +- "What topics are currently available?" | 
|  | 34 | +- "Show me the message type for /cmd_vel" | 
|  | 35 | +- "List all active nodes" | 
|  | 36 | +- "What services does the /robot_state_publisher node provide?" | 
|  | 37 | +- "Show me information about the /navigate_to_pose action" | 
|  | 38 | + | 
|  | 39 | +## How it Works | 
|  | 40 | + | 
|  | 41 | +The debugging assistant uses RAI's conversational agent capabilities combined with ROS 2 debugging tools. The key components are: | 
|  | 42 | + | 
|  | 43 | +1. **Streamlit Interface**: Provides the chat UI and displays tool execution results | 
|  | 44 | +2. **ROS 2 Tools**: Collection of debugging tools that wrap common ROS 2 CLI commands | 
|  | 45 | +3. **Streaming Callbacks**: Real-time updates of LLM responses and tool executions | 
|  | 46 | + | 
|  | 47 | +## Limitations | 
|  | 48 | + | 
|  | 49 | +- The assistant can only execute safe, read-only commands by default | 
|  | 50 | +- Some complex debugging scenarios may require manual intervention | 
|  | 51 | +- Performance depends on the chosen LLM vendor and model | 
0 commit comments