### Launch turtlesim node (ROS 1) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/docs/installation.md Starts the turtlesim simulation environment for ROS 1. This is a common 'hello-world' example for testing ROS functionalities. ```bash rosrun turtlesim turtlesim_node ``` -------------------------------- ### Run ROS-MCP Server Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/6_chatgpt/README.md Starts the ROS-MCP server using different methods depending on the operating system and installed tools. It can be run with 'uv' for faster execution or directly with Python. ```bash $env:MCP_TRANSPORT="streamable-http" ``` ```bash uv run server.py ``` ```bash python server.py ``` ```bash export MCP_TRANSPORT="streamable-http" uv run server.py ``` ```bash cd scripts launch_mcp_server.sh ``` -------------------------------- ### Clone ROS-MCP Server Repository Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/6_chatgpt/README.md Clones the ROS-MCP Server repository from GitHub and navigates into the downloaded directory. This is the first step in setting up the ROS-MCP server locally. ```bash git clone https://github.com/robotmcp/ros-mcp-server.git cd ros-mcp-server ``` -------------------------------- ### Tunnel ROS-MCP Server with ngrok Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/6_chatgpt/README.md Launches ngrok to create a tunnel for the ROS-MCP server, exposing it via a public URL. It sets the local port and ngrok domain, then starts the HTTP tunnel. ```bash $env:MCP_PORT=9000 $env:MCP_DOMAIN= ``` ```bash ngrok http --url=$env:MCP_DOMAIN $env:MCP_PORT ``` ```bash export MCP_PORT=9000 export MCP_DOMAIN= ``` ```bash ngrok http --url=${MCP_DOMAIN} ${MCP_PORT} ``` ```bash launch_mcp_tunnel_.sh ``` -------------------------------- ### Install ngrok on Linux Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/6_chatgpt/README.md Installs the ngrok agent on Linux systems using the apt package manager or snap. ngrok is used to expose local servers to the internet. ```bash curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \ | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null \ && echo "deb https://ngrok-agent.s3.amazonaws.com bookworm main" \ | sudo tee /etc/apt/sources.list.d/ngrok.list \ && sudo apt update \ && sudo apt install ngrok ``` ```bash sudo snap install ngrok ``` -------------------------------- ### Execute ROS Launch Script Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/6_chatgpt/README.md This code snippet represents a custom script, likely named 'launch_ros.sh', used to initiate ROS processes. The exact commands within this script are not detailed but it serves as a convenient way to start the ROS environment. ```bash launch_ros.sh ``` -------------------------------- ### Launch turtlesim node (ROS 2) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/docs/installation.md Starts the turtlesim simulation environment for ROS 2. It's a simple way to test ROS communication without complex dependencies. ```bash ros2 run turtlesim turtlesim_node ``` -------------------------------- ### Install uv Package Manager Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/6_chatgpt/README.md Installs the 'uv' package manager on Windows using winget or pip, and on Linux using a script, pip, or snap. 'uv' is a fast Python package installer and resolver. ```bash winget install --id=astral-sh.uv -e ``` ```bash pip install uv ``` ```bash curl -LsSf https://astral.sh/uv/install.sh | sh ``` ```bash sudo snap install --classic astral-uv ``` -------------------------------- ### Clone ros-mcp-server Repository Source: https://github.com/robotmcp/ros-mcp-server/blob/main/docs/installation.md Clones the ros-mcp-server repository from GitHub using Git. This is the first step in setting up the server. ```bash git clone https://github.com/robotmcp/ros-mcp-server.git ``` -------------------------------- ### Launch Turtlesim Node (ROS1) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md Launches the Turtlesim simulator node in a ROS1 environment. Requires sourcing the ROS1 environment setup script before execution. ```bash source /opt/ros/noetic/setup.bash # or /opt/ros//setup.bash rosrun turtlesim turtlesim_node ``` -------------------------------- ### Start TurtleSim Docker Container Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/5_docker_turtlesim/README.md Launches the Docker container, which automatically starts TurtleSim and the rosbridge websocket server. It assumes the container is already built. ```bash docker compose up ``` -------------------------------- ### Launch Turtlesim Node (ROS2) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md Launches the Turtlesim simulator node in a ROS2 environment. Requires sourcing the ROS2 environment setup script before execution. ```bash source /opt/ros/humble/setup.bash # or /opt/ros/jazzy/setup.bash ros2 run turtlesim turtlesim_node ``` -------------------------------- ### Explore ROS Services (ROS1) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md Lists all available ROS services and retrieves information about the `/turtle1/set_pen` service in a ROS1 environment. Assumes Turtlesim is running. ```bash # List all services rosservice list # Get information about a specific service rosservice info /turtle1/set_pen ``` -------------------------------- ### Installing X11 Forwarding Apps (WSL) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md This command installs necessary applications for X11 forwarding on Windows Subsystem for Linux (WSL), which is required for graphical applications like Turtlesim to display correctly. ```bash sudo apt install x11-apps ``` -------------------------------- ### Explore ROS Services (ROS2) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md Lists all available ROS services and retrieves the type of the `/turtle1/set_pen` service in a ROS2 environment. Assumes Turtlesim is running. ```bash # List all services ros2 service list # Get information about a specific service ros2 service type /turtle1/set_pen ``` -------------------------------- ### Start XQuartz and Allow Localhost Connections (macOS) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/5_docker_turtlesim/README.md Starts the XQuartz application and configures it to allow connections from localhost. This is necessary for running Dockerized graphical applications on macOS. ```bash # Start XQuartz open -a XQuartz # Allow connections from localhost xhost +localhost ``` -------------------------------- ### Explore ROS Topics (ROS1) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md Lists all available ROS topics and echoes data from the turtle's pose and command velocity topics in a ROS1 environment. Assumes Turtlesim is running. ```bash # Source ROS environment source /opt/ros/noetic/setup.bash # List all topics rostopic list # Monitor turtle position rostopic echo /turtle1/pose # Monitor velocity commands rostopic echo /turtle1/cmd_vel ``` -------------------------------- ### Install uv Python Virtual Environment Manager Source: https://github.com/robotmcp/ros-mcp-server/blob/main/docs/installation.md Provides two methods for installing the uv Python virtual environment manager: using a shell installer script or via pip. ```bash curl -LsSf https://astral.sh/uv/install.sh | sh ``` ```bash pip install uv ``` -------------------------------- ### Verifying ROS Installation (ROS1) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md This command checks the installed ROS version for ROS1 systems, which can be helpful for troubleshooting environment-related issues. ```bash rosversion -d ``` -------------------------------- ### Robot Setup and Customization Commands (Natural Language) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md These natural language commands enable users to configure the robot's environment and appearance, such as resetting its position, changing pen color, spawning new turtles, or clearing the background. They interact with the ROS system through the MCP Server. ```natural_language Reset the turtle to the center ``` ```natural_language Change the turtle's pen color to red ``` ```natural_language Spawn a new turtle ``` ```natural_language Clear the background ``` -------------------------------- ### Diagnosing ROS2 Installation Issues Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md This command runs a diagnostic tool for ROS2 installations, providing a report that can help identify and resolve common ROS-related problems. ```bash ros2 doctor --report ``` -------------------------------- ### Launch ROS Bridge and Turtlesim in WSL Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/6_chatgpt/README.md This snippet demonstrates how to launch the rosbridge server and the turtlesim node within a WSL environment. It requires sourcing the ROS 2 Jazzy setup and then executing the launch command. The ampersand '&' allows both processes to run concurrently. ```bash source /opt/ros/jazzy/setup.bash ros2 launch rosbridge_server rosbridge_websocket_launch.xml & ros2 run turtlesim turtlesim_node ``` -------------------------------- ### Explore ROS Topics (ROS2) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md Lists all available ROS topics and echoes data from the turtle's pose and command velocity topics in a ROS2 environment. Assumes Turtlesim is running. ```bash # Source ROS2 environment (adjust for your version) source /opt/ros/humble/setup.bash # or /opt/ros/jazzy/setup.bash # List all topics ros2 topic list # Monitor turtle position ros2 topic echo /turtle1/pose # Monitor velocity commands ros2 topic echo /turtle1/cmd_vel ``` -------------------------------- ### Source ROS2 Environment and List Topics Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/5_docker_turtlesim/README.md Sources the ROS2 Humble environment and lists all available ROS2 topics. This is a foundational step for interacting with ROS2 systems. ```bash source /opt/ros/humble/setup.bash ros2 topic list ``` -------------------------------- ### Configure ngrok Authtoken Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/6_chatgpt/README.md Activates the ngrok agent by adding your authentication token. This command is essential for connecting ngrok to your account and enabling its features. ```bash ngrok config add-authtoken ``` -------------------------------- ### Launch LIMO Base Driver Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/3_limo_mobile_robot/real_robot/README.md Starts the core driver for the LIMO robot's base functionalities. This is a prerequisite for robot control. ```bash roslaunch limo_base limo_start.launch ``` -------------------------------- ### Install rosbridge_server for ROS 2 Source: https://github.com/robotmcp/ros-mcp-server/blob/main/docs/installation.md Installs the rosbridge_server package for ROS 2 Humble and other ROS distributions. This package enables MCP to interface with ROS 2 through WebSockets. ```bash sudo apt install ros-humble-rosbridge-server ``` ```bash sudo apt install ros-${ROS_DISTRO}-rosbridge-server ``` -------------------------------- ### Launch rosbridge Websocket Server Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/3_limo_mobile_robot/real_robot/README.md Starts the rosbridge server to enable communication between ROS and external applications via WebSockets. This is crucial for connecting the MCP server. ```bash roslaunch rosbridge_server rosbridge_websocket.launch ``` -------------------------------- ### Echo Turtlesim Pose and Velocity Topics Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/5_docker_turtlesim/README.md Subscribes to and displays messages from the '/turtle1/pose' and '/turtle1/cmd_vel' topics, allowing observation of turtle movement and commands. ```bash ros2 topic echo /turtle1/pose ros2 topic echo /turtle1/cmd_vel ``` -------------------------------- ### Build Docker Container for TurtleSim Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/5_docker_turtlesim/README.md Builds the Docker container for the TurtleSim example. This command ensures a clean build without using cached layers. ```bash cd examples/5_docker_turtlesim docker compose build --no-cache turtlesim ``` -------------------------------- ### Install rosbridge_server for ROS 1 Source: https://github.com/robotmcp/ros-mcp-server/blob/main/docs/installation.md Installs the rosbridge_server package for ROS Noetic and other ROS distributions. This package is essential for MCP to communicate with ROS via WebSocket. ```bash sudo apt install ros-noetic-rosbridge-server ``` ```bash sudo apt install ros-${ROS_DISTRO}-rosbridge-server ``` -------------------------------- ### Sourcing ROS Environment Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md This command is crucial for setting up the ROS environment variables in the current terminal session. It ensures that ROS commands and packages are accessible. ```bash source /opt/ros/[version]/setup.bash ``` -------------------------------- ### Configure MCP Server in Claude Desktop (JSON) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/docs/installation.md This snippet shows how to add the ros-mcp-server configuration to the Claude Desktop JSON settings. It specifies the command to launch the server using WSL, including the distribution, Python environment, and the directory of the ros-mcp-server. ```json { "mcpServers": { "ros-mcp-server": { "command": "wsl", "args": [ "-d", "Ubuntu-22.04", "/home/youruser/.local/bin/uv", "--directory", "//ros-mcp-server", "run", "server.py" ] } } } ``` -------------------------------- ### Install rosbridge-server on Unitree GO2 Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/4_unitree_go2/real_robot/README.md Installs the rosbridge_server package on the Unitree GO2 robot using apt. This package provides WebSocket and TCP servers for ROS communication, enabling interaction with external applications like ros-mcp-server. ```bash sudo apt install ros-foxy-rosbridge-server ``` -------------------------------- ### Terminate Claude Desktop Processes Source: https://github.com/robotmcp/ros-mcp-server/blob/main/docs/installation.md Commands to completely terminate Claude Desktop processes, useful for troubleshooting connection issues. Includes using pkill and killall. ```bash # Completely terminate Claude Desktop processes pkill -f claude-desktop # Or alternatively killall claude-desktop ``` -------------------------------- ### Install and Activate SSH Server Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/3_limo_mobile_robot/real_robot/README.md Installs the OpenSSH server on the LIMO robot and enables its service to allow remote connections from the user PC. This facilitates file transfer and remote command execution. ```bash sudo apt update sudo apt install openssh-server sudo systemctl enable ssh sudo systemctl start ssh sudo systemctl status ssh ``` -------------------------------- ### Configure ROS-MCP Server Environment Variables (Linux) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/6_chatgpt/README.md Sets multiple environment variables in WSL (Linux) for the ROS-MCP server, including host, port, and domain. These variables should typically be added to the .bashrc file for persistence. ```bash export MCP_HOST=127.0.0.1 export MCP_PORT=9000 export MCP_DOMAIN=abc123xyz789.ngrok-free.app ``` -------------------------------- ### Replace LIMO Launch Files Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/3_limo_mobile_robot/real_robot/README.md Replaces the default `limo_base.launch` and `limo_start.launch` files on the LIMO robot with modified versions. These files are essential for launching and configuring the LIMO robot's ROS nodes. ```bash cd //ros-mcp-server scp ./examples/limo/launch/limo_base.launch \ @:~/catkin_ws/src/limo_base/launch/ scp ./examples/limo/launch/limo/limo_start.launch \ @:~/catkin_ws/src/limo_bringup/launch/ ``` -------------------------------- ### Start cmd_vel Repeater Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/3_limo_mobile_robot/real_robot/README.md Runs the Python script responsible for repeating velocity commands. This facilitates command propagation within the ROS system. ```bash rosrun limo_base cmd_vel_repeat.py ``` -------------------------------- ### Set MCP_DOMAIN Environment Variable Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/6_chatgpt/README.md Sets the MCP_DOMAIN environment variable on Windows (PowerShell) and Linux (bash) to your ngrok public domain. This variable is used by the ROS-MCP server to configure its network endpoint. ```bash $env:MCP_DOMAIN=abc123xyz789.ngrok-free.app ``` ```bash export MCP_DOMAIN=abc123xyz789.ngrok-free.app ``` -------------------------------- ### Clone Unitree GO2 ROS2 Package Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/4_unitree_go2/real_robot/README.md Clones the official Unitree ROS2 package ('unitree_go') from GitHub. This is the first step to get the necessary code for controlling the Unitree GO2 robot. ```bash git clone https://github.com/unitreerobotics/unitree_ros2.git ``` -------------------------------- ### Allow Docker Connections (Linux) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/5_docker_turtlesim/README.md Configures the X server to allow local Docker containers to connect and display graphical applications. This is a common step for enabling X11 forwarding. ```bash xhost +local:docker ``` -------------------------------- ### Ruff Local Setup Source: https://github.com/robotmcp/ros-mcp-server/blob/main/docs/contributing.md Commands for setting up Ruff for local development, either automatically fixing issues on commit using pre-commit or manually applying formatting and checks. ```bash pre-commit install ``` ```bash ruff format . && ruff check --fix . ``` -------------------------------- ### Manually Launch TurtleSim Nodes Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/5_docker_turtlesim/README.md Provides commands to manually launch the TurtleSim node and the teleoperation node within the container. This is an alternative to the automatic launch script. ```bash # Access the container docker exec -it ros2-turtlesim bash # Source ROS2 environment source /opt/ros/humble/setup.bash # Start turtlesim in one terminal ros2 run turtlesim turtlesim_node # In another terminal, start the teleop node ros2 run turtlesim turtle_teleop_key ``` -------------------------------- ### Inspect ROS2 Topics Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/5_docker_turtlesim/README.md Commands to access the Docker container and inspect ROS2 topics. This is useful for debugging and verifying that ROS2 nodes are communicating. ```bash # Access the container docker exec -it ros2-turtlesim bash ``` -------------------------------- ### Transfer and Make Executable Helper Script Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/3_limo_mobile_robot/real_robot/README.md Copies the `cmd_vel_repeat.py` script from the user PC to the LIMO robot's workspace and sets execute permissions. This script helps in re-publishing `cmd_vel` commands at a fixed frequency for stable motor control. ```bash cd //ros-mcp-server scp ./examples/limo/scripts \ @:~/catkin_ws/src/limo_base ssh @ \ "chmod +x ~/catkin_ws/src/limo_base/scripts/cmd_vel_repeat.py" ``` -------------------------------- ### Launch DaBai U3 Camera Node Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/3_limo_mobile_robot/real_robot/README.md Launches the DaBai U3 depth camera node, which is standard for LIMO robots. This enables visual data acquisition. ```bash roslaunch astra_camera dabai_u3.launch ``` -------------------------------- ### Access and Execute Commands within TurtleSim Container Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/5_docker_turtlesim/README.md Starts the Docker container in detached mode and then attaches a bash shell to the running 'ros2-turtlesim' container for interactive commands. ```bash docker compose up -d docker exec -it ros2-turtlesim bash ``` -------------------------------- ### Robot Information Queries (Natural Language) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md These natural language queries allow users to ask the AI assistant for information about the robot's current state, available topics and services, and its position. These queries leverage the ROS MCP Server to retrieve data from the robot. ```natural_language Tell me about this robot. ``` ```natural_language What topics and services are available on the robot? ``` ```natural_language What is the turtle's current position? ``` -------------------------------- ### Build Unitree GO2 ROS2 Package Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/4_unitree_go2/real_robot/README.md Builds the 'unitree_go' ROS2 package within the specified workspace on the Unitree GO2 robot using 'colcon build'. Ensures the package is compiled and ready for use. ```bash cd ~/cyclonedds_ws colcon build --symlink-install ``` -------------------------------- ### Monitoring ROS Topics Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md This command allows you to subscribe to and view the messages being published on a specific ROS topic in real-time. It's useful for debugging and understanding the data flow within the ROS system. ```bash rostopic echo ``` -------------------------------- ### Enabling X11 Forwarding via SSH Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md This command demonstrates how to use SSH with the -X flag to enable X11 forwarding, allowing graphical applications running on a remote server to be displayed on the local machine. ```bash ssh -X username@hostname ``` -------------------------------- ### Move Unitree GO2 Package to Workspace Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/4_unitree_go2/real_robot/README.md Copies the 'unitree' package from the cloned repository to the specified workspace directory on the Unitree GO2 robot. Requires SSH access to the robot. ```bash cd unitree_ros2/cyclonedds_ws/src/ scp -r unitree unitree@192.168.123.18:/home/unitree/cyclonedds_ws/src/ ``` -------------------------------- ### Verify Network Connection with Ping Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/3_limo_mobile_robot/real_robot/README.md Checks network connectivity between the user PC and the LIMO robot by sending ICMP echo requests. This step is crucial before proceeding with ROS network setup to ensure communication is established. ```bash ping # e.g., ping 192.168.0.20 ``` -------------------------------- ### Stop and Remove Docker Resources Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/5_docker_turtlesim/README.md Commands to stop and remove the Docker Compose stack and the built Docker image for the ROS MCP server and Turtlesim. ```bash docker-compose down docker rmi ros-mcp-server_turtlesim ``` -------------------------------- ### Basic Robot Movement Commands (Natural Language) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md These are natural language commands that can be used to control basic turtle movements like forward, backward, turning, and stopping. They are designed to be interpreted by an AI assistant connected to the ROS MCP Server. ```natural_language Move the turtle forward ``` ```natural_language Turn the turtle left ``` ```natural_language Make the turtle go backward ``` ```natural_language Stop the turtle ``` -------------------------------- ### Source ROS2 Workspace Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/4_unitree_go2/real_robot/README.md Sources the ROS2 environment variables from the '.bashrc' file on the Unitree GO2 robot. This makes ROS2 commands and package functionalities available in the current terminal session. ```bash source ~/.bashrc ``` -------------------------------- ### Launch Turtle Teleoperation Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/5_docker_turtlesim/README.md Launches the turtle teleoperation node within the ROS2 environment inside the container. This allows controlling the turtle using keyboard input. ```bash source /opt/ros/humble/setup.bash ros2 run turtlesim turtle_teleop_key ``` -------------------------------- ### Verify Rosbridge Server Container Logs Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/5_docker_turtlesim/README.md Checks the logs of the Docker container running the ROS2 Turtlesim simulation to verify the rosbridge websocket server is active. ```bash docker logs ros2-turtlesim ``` -------------------------------- ### Run Camera Bridge Script Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/4_unitree_go2/real_robot/README.md Executes the 'camera_bridge.py' script on the Unitree GO2 robot. This script bridges the robot's proprietary camera stream to a standard ROS2 topic, typically `/camera/rgb/image_raw`. ```bash cd ~/cyclonedds_ws/src/image_process/ python3 camera_bridge.py ``` -------------------------------- ### Advanced Robot Control Commands (Natural Language) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/1_turtlesim/README.md This set of natural language commands allows for more complex robot behaviors, including drawing geometric shapes like squares, navigating to specific coordinates, and creating dynamic patterns such as spirals. These commands require more sophisticated interpretation by the AI assistant. ```natural_language Draw a square with the turtle ``` ```natural_language Move the turtle to position (5, 5) ``` ```natural_language Make the turtle follow a circular path ``` ```natural_language Draw a spiral pattern ``` -------------------------------- ### Transfer Camera Bridge Script Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/4_unitree_go2/real_robot/README.md Copies the 'camera_bridge.py' script from the user's PC to the Unitree GO2 robot's workspace. This script is used to convert the robot's custom camera topic to a standard ROS2 topic. ```bash cd //ros-mcp-server/examples/unitree_go2/real_robot/scripts scp ./camera_bridge.py unitree@192.168.123.18:/home/unitree/cyclonedds_ws/src/image_process/ ``` -------------------------------- ### Launch Rosbridge WebSocket Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/4_unitree_go2/real_robot/README.md Launches the rosbridge_server on the Unitree GO2 robot using ROS2. This enables WebSocket communication, allowing external clients like the ROS MCP Server to connect and interact with the robot's ROS ecosystem. ```bash # Launch rosbridge ros2 launch rosbridge_server rosbridge_websocket_launch.xml ``` -------------------------------- ### Configure ROS Master URI and IP Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/3_limo_mobile_robot/real_robot/README.md Sets the ROS_MASTER_URI and ROS_IP environment variables on the LIMO robot to enable ROS communication. These variables are essential for ROS nodes to find the ROS master and communicate with each other. ```bash echo "export ROS_MASTER_URI=http://:11311" >> ~/.bashrc echo "export ROS_IP=" >> ~/.bashrc source ~/.bashrc ``` -------------------------------- ### Connect to Robot via SSH Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/3_limo_mobile_robot/real_robot/README.md Establishes an SSH connection from the user PC to the LIMO robot using the robot's username and IP address. This allows for secure remote access and management of the robot. ```bash ssh @ # e.g., ssh agilex@192.168.0.20 ``` -------------------------------- ### Convert Shell Script (Linux/WSL) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/5_docker_turtlesim/README.md Converts the line endings of a shell script to Unix format. This is often required in WSL or other Linux environments when dealing with files from Windows. ```bash dos2unix docker/scripts/launch_turtlesim.sh ``` -------------------------------- ### Create Git Branch Source: https://github.com/robotmcp/ros-mcp-server/blob/main/docs/contributing.md Command to create a new Git branch for isolating changes during development. This is a standard Git operation and does not have external dependencies beyond a Git installation. ```bash git checkout -b "your_branch_name" ``` -------------------------------- ### Set DISPLAY Environment Variable (Windows/PowerShell) Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/5_docker_turtlesim/README.md Sets the DISPLAY environment variable in PowerShell for Windows users to enable graphical output from the Docker container. This is necessary for applications like TurtleSim to display correctly. ```powershell $env:DISPLAY="host.docker.internal:0.0" ``` -------------------------------- ### Check Network Connectivity via Ping Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/4_unitree_go2/real_robot/README.md Verifies network connectivity to the Unitree GO2 robot by sending ICMP echo requests. This command helps confirm that the robot is reachable on the network at its assigned IP address. ```bash ping 192.168.123.18 ``` -------------------------------- ### SSH Access to Unitree GO2 Robot Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/4_unitree_go2/real_robot/README.md Establishes an SSH connection to the Unitree GO2 robot for remote access and control. It uses the default username 'unitree' and the robot's IP address. The '-X' flag enables X11 forwarding for graphical applications. ```bash ssh -X unitree@192.168.123.18 ``` -------------------------------- ### List ROS2 Topics Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/3_limo_mobile_robot/isaac_sim/README.md Lists all available ROS2 topics in the current environment. This is useful for verifying that the LIMO robot simulation has correctly published its topics. ```bash ros2 topic list ``` -------------------------------- ### Apply Ruff Formatting Source: https://github.com/robotmcp/ros-mcp-server/blob/main/docs/contributing.md Command to format the project files according to Ruff's default or configured style. This is typically run before committing changes. ```bash ruff format . ``` -------------------------------- ### Launch Rosbridge WebSocket Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/3_limo_mobile_robot/isaac_sim/README.md Launches the rosbridge_server, specifically the rosbridge_websocket_launch.xml file. This enables WebSocket communication, allowing external applications like the ROS MCP Server to connect to the ROS environment. ```bash ros2 launch rosbridge_server rosbridge_websocket_launch.xml ``` -------------------------------- ### Update Gemini CLI MCP Settings Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/2_gemini/README.md This snippet shows how to update the `settings.json` file for Gemini CLI to include the ROS-MCP-Server configuration. It specifies the command and arguments needed to run the server. ```json { "mcpServers": { "ros-mcp-server": { "command": "uv", "args": [ "--directory", "//ros-mcp-server", "run", "server.py" ] } } } ``` -------------------------------- ### Ruff Linting and Formatting Checks Source: https://github.com/robotmcp/ros-mcp-server/blob/main/docs/contributing.md Commands to check code formatting and linting using Ruff. These commands ensure code adheres to project style guidelines and identify potential issues. ```bash ruff format --check . ``` ```bash ruff check . ``` -------------------------------- ### Run Isaac Sim Headless Mode Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/3_limo_mobile_robot/isaac_sim/README.md Executes the Isaac Sim container in headless mode for streaming. This command initiates the simulation environment without a graphical display, preparing it for remote access. ```bash ./runheadless.sh -v ``` -------------------------------- ### Copy LIMO USD File to Isaac Sim Container Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/3_limo_mobile_robot/isaac_sim/README.md Copies the LIMO robot's USD file into the running Isaac Sim Docker container. This makes the robot model accessible within the simulation environment. ```bash cd //ros-mcp-server/examples/limo/isaac_sim/usd/ docker exec mkdir -p /example docker cp ./limo_example.usd :/example/limo_example.usd ``` -------------------------------- ### Execute Isaac Sim WebRTC Streaming Client Source: https://github.com/robotmcp/ros-mcp-server/blob/main/examples/3_limo_mobile_robot/isaac_sim/README.md Launches the Isaac Sim WebRTC streaming client application. This client connects to the running Isaac Sim instance, allowing for remote visualization and control of the simulation. ```bash ./isaacsim-webrtc-streaming-client-1.1.4-linux-x64.AppImage ``` -------------------------------- ### Push Git Branch Source: https://github.com/robotmcp/ros-mcp-server/blob/main/docs/contributing.md Command to push the local branch with committed changes to the remote repository (origin). This requires a connection to the remote repository. ```bash git push origin "your_branch_name" ``` -------------------------------- ### Commit Git Changes Source: https://github.com/robotmcp/ros-mcp-server/blob/main/docs/contributing.md Command to commit staged changes in Git with a descriptive message. This is a fundamental Git operation. ```bash git commit -m "your_commit_message" ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.