Add Docker Support for Traversability Estimation #83
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces Docker support to the Traversability Estimation project, significantly simplifying the setup process for new developers and ensuring consistency across different development environments.
Key Changes:
Dockerfile: A Dockerfile has been added which encapsulates all necessary dependencies including ROS Noetic, Gazebo, and other critical project-specific dependencies. This ensures that any developer can start working with the project with minimal setup, avoiding common issues related to dependency versions or missing components.
Shell Script (ros_traversability_estimation.sh): This script automates the process of running the Docker container with appropriate settings for GPU support and GUI applications. It simplifies the process for developers to get the environment running immediately for interactive development and testing.
Documentation (README.md in the Docker folder): Comprehensive documentation has been included to guide users on how to build and run the Docker container. It provides step-by-step instructions and clarifies how the Docker environment is structured, which is crucial for transparency and ease of use.
Benefits:
Consistency: Ensures every developer works in a uniform environment, reducing "it works on my machine" problems.
Accessibility: Lowers the barrier for new contributors, allowing them to get up and running quickly without navigating complex setup procedures.
Isolation: By using Docker, we isolate the development environment from individual machine configurations, leading to more reproducible results and fewer conflicts between differing development setups.
How to Use:
To build the Docker image:
docker build -t ros-traversability .
To run the Docker container:
./ros_traversability_estimation.sh
This setup has been tested thoroughly to ensure compatibility and functionality across different systems. It's geared towards making the development process as straightforward as possible, especially for newcomers to the project.