Skip to content

Conversation

stex2005
Copy link
Collaborator

@stex2005 stex2005 commented Sep 30, 2025

Closes #136

Completed Tasks:

  • Analyzed current script - Identified all functionality in launch_ros.sh
  • Created ROS2 launch files - Replaced shell script with proper launch files:
  • ros_mcp_rosbridge.launch.py - Rosbridge only
  • ros_mcp_turtlesim.launch.py - Turtlesim only
  • Updated documentation - Created comprehensive launch system guide

Key Improvements:

  • Proper process management with automatic cleanup
  • Configuration options via launch arguments
  • ROS2 integration with standard ros2 launch command
  • Better logging and error handling
  • Modular design for different use cases

Usage Examples:

The new launch system provides better reliability, easier maintenance, and proper integration with ROS2 tooling compared to the manual shell script approach.

Ready for Review ✅

…anual launch_ros.sh + Added docs on launch system
@stex2005 stex2005 requested a review from rjohn-v September 30, 2025 20:27
@stex2005 stex2005 self-assigned this Sep 30, 2025
@stex2005 stex2005 added the bug Something isn't working label Sep 30, 2025
@stex2005 stex2005 linked an issue Sep 30, 2025 that may be closed by this pull request
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this file have any benefit over directly running
ros2 launch rosbridge_server rosbridge_websocket_launch.xml ?

Having a python file makes sense when launching multiple nodes at once (like with turtlesim), of course.

What is the issue that this file is trying to address?

Copy link
Collaborator Author

@stex2005 stex2005 Sep 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea is that:

  • it incorporates within the launch file information about the ip/port of the rosbridge (defaul 127.0.0.1:9090).
  • it manages more gently startup/shutdown.
  • it creates a baseline for running rosbridge with other nodes, some sort of template launch.py
  • it is easier to find and users don't have to remember the specific command: ros2 launch rosbridge_server rosbridge_websocket_launch.xml

Can be removed if not needed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the intended audience for this instruction file?

Specifically the line "The ROS-MCP Server uses proper ROS2 launch files for process management." is a bit confusing since the ROS-MCP server does not explicitly need to use any launch files at all.

They are useful tools in the examples and tutorials, and having good, modern launch files for these is valuable. But do we need a document telling users of the MCP server about why we chose certain launch systems for the examples?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a guide that provides template launch files for developers to integrate their robots with the ROS-MCP Server. These templates demonstrate how to combine your robot's existing launch files with rosbridge for MCP communication.

Future Vision: As rosbridge becomes a standard ROS node, the ROS-MCP Server itself will be launchable through ROS2 launch files, making integration even more seamless.

@stex2005 stex2005 requested a review from rjohn-v September 30, 2025 23:47
@stex2005
Copy link
Collaborator Author

stex2005 commented Oct 1, 2025

Ready for Review ✅

@stex2005 stex2005 requested review from lpigeon and mokcontoro October 1, 2025 18:22
@stex2005 stex2005 merged commit f30cde0 into develop Oct 7, 2025
1 check passed
@stex2005 stex2005 deleted the fix/ros2-launch branch October 7, 2025 14:08
@stex2005
Copy link
Collaborator Author

stex2005 commented Oct 7, 2025

Closes #136

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace launch_ros.sh with proper ROS2 launch

2 participants