This repository serves as a collection of various ROS1 and ROS2 projects. Each project is added as a Git submodule, allowing modular access and maintenance. This guide provides instructions on how to clone the repository with submodules, manage individual projects, and contribute to the collection.
The ros2india repository contains a variety of ROS1 and ROS2 projects, each housed in a separate directory. Each project is a standalone repository, added as a Git submodule, enabling easy management and modular development. You can clone and work with each project independently or with the whole collection.
Some projects currently included are:
- NavRover: A 4-wheeled rover capable of teleoperation, mapping, and autonomous navigation.
- (Add your other ROS1/ROS2 projects here.)
To clone the ros2india repository along with all its submodules (i.e., the individual ROS1/ROS2 projects), use the --recurse-submodules
flag:
-
Open a terminal and run:
git clone --recurse-submodules https://github.com/hwjalapeno/ros2india.git
-
Navigate into the cloned directory:
cd ros2india
-
If you have already cloned the repository without the submodules, you can initialize and update the submodules manually:
git submodule init git submodule update
Each project inside ros2india is included as a submodule. Here’s how you can manage and interact with the individual projects.
To add a new ROS1/ROS2 project to this repository, follow these steps:
-
Navigate to the root of the ros2india repository:
cd /path/to/ros2india
-
Add the project repository as a submodule:
git submodule add https://github.com/username/project-repo.git path/to/project-directory
Replace:
https://github.com/username/project-repo.git
with the repository URL of the project.path/to/project-directory
with the desired path within the ros2india directory.
-
Commit the changes:
git add . git commit -m "Added [Project Name] as a submodule" git push origin main
To pull the latest changes from a specific submodule:
git submodule update --remote --merge
To update all submodules:
git submodule update --remote
1. NavRover
- Description: A 4-wheeled rocker mechanism-based rover with teleoperation, mapping, and navigation capabilities.
- ROS Version: ROS1 (Noetic)
- Quick Start:
cd NavRover catkin_make # or colcon build for ROS2 source devel/setup.bash roslaunch navrover navrover.launch
- Description: (Add description here)
- ROS Version: (Specify ROS version)
- Quick Start: (Add instructions here)
(Repeat this for all other projects)
Contributions are welcome to add new ROS1/ROS2 projects to ros2india or improve the existing ones. To contribute:
- Fork the repository.
- Add your project as a submodule following the steps in the Adding a New Project section.
- Create a pull request (PR) with a description of the project.
This repository is licensed under the MIT License - see the LICENSE file for details.