Skip to content

Commit

Permalink
chore: project setup
Browse files Browse the repository at this point in the history
  • Loading branch information
curious-vv1 committed Mar 20, 2024
1 parent 7359908 commit efb18a5
Show file tree
Hide file tree
Showing 517 changed files with 66,988 additions and 20 deletions.
16 changes: 8 additions & 8 deletions .github/Contributor_Guide/Contributing.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Contribute to <Project_Name>
# Contribute to Turtlebot Navigation

Thank you for taking the time to contribute to <project_name>! We really appreciate it.
Thank you for taking the time to contribute to Turtlebot Navigation! We really appreciate it.

Before contributing, please make sure to read the [Code of Conduct](../../CODE_OF_CONDUCT.md). We expect you to follow it in all your interactions with the project.

## New to <Project_Name>?
## New to Turtlebot Navigation?

If you are new to <Project_Name>, please take a look at the [documentation](./Project_Tour.md). It is a great place to start.
If you are new to Turtlebot Navigation, please take a look at the [documentation](./Project_Tour.md). It is a great place to start.

## New Contributor Guide

To get an overview of the codebase, check out the '[README.md](../src/README.md)' file in the `src` directory.
To get an overview of the codebase, check out the '[README.md](../../README.md)' file in the `src` directory.

that will help you understand the structure of the project.

Expand All @@ -22,13 +22,13 @@ If you find a bug in the source code, you can help us by [submitting an issue](.

### Suggesting Enhancements

If you want to suggest an enhancement to <Project_Name>, please [submit an issue](../ISSUE_TEMPLATE/feature_request.yaml).
If you want to suggest an enhancement to Turtlebot Navigation, please [submit an issue](../ISSUE_TEMPLATE/feature_request.yaml).

### Pull Requests

If you want to contribute to <Project_Name>, submit a pull request.
If you want to contribute to Turtlebot Navigation, submit a pull request.

- url: `https://github.com/OPCODE-Open-Spring-Fest/<project_Name>/compare/branch...YOURGITHUBUSERNAME:<project_Name>:BRANCH?quick_pull=1&template=pr.md`
- url: `https://github.com/OPCODE-Open-Spring-Fest/turtlebot-navigation/compare/branch...YOURGITHUBUSERNAME:turtlebot-navigation:BRANCH?quick_pull=1&template=pr.md`

### Requirements

Expand Down
145 changes: 136 additions & 9 deletions .github/Contributor_Guide/Project_Tour.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,139 @@
# Project Tour

* notes:
* > Discuss about your project file structure
* > what each folder is responsible
* > then go through each file in folders and explain there purpose
* > if possible create a doc system ( there are autogen docs available for most of the languages )
* > decide coding style , linting style and formatting style and other themes like variable naming etc.
* > provide an example for existing function and tests system if possible
*
* > Navigate to turtle_ws --> src, the src is the folder in which all the changes are to be done its file structure is defined.
### Project File Structure

```
src
├── turtlebot3_fake_node
│   ├── CHANGELOG.rst
│   ├── CMakeLists.txt
│   ├── include
│   │   └── turtlebot3_fake_node
│   │   └── turtlebot3_fake_node.hpp
│   ├── launch
│   │   ├── rviz2.launch.py
│   │   └── turtlebot3_fake_node.launch.py
│   ├── package.xml
│   ├── param
│   │   ├── burger.yaml
│   │   ├── waffle_pi.yaml
│   │   └── waffle.yaml
│   └── src
│   └── turtlebot3_fake_node.cpp
├── turtlebot3_gazebo
│   ├── CHANGELOG.rst
│   ├── CMakeLists.txt
│   ├── include
│   │   └── turtlebot3_gazebo
│   │   └── turtlebot3_drive.hpp
│   ├── launch
│   │   ├── empty_world.launch.py
│   │   ├── maze.launch.py
│   │   ├── robot_state_publisher.launch.py
│   │   ├── spawn_turtlebot3.launch.py
│   │   ├── turtlebot3_dqn_stage1.launch.py
│   │   ├── turtlebot3_dqn_stage2.launch.py
│   │   ├── turtlebot3_dqn_stage3.launch.py
│   │   ├── turtlebot3_dqn_stage4.launch.py
│   │   ├── turtlebot3_house.launch.py
│   │   └── turtlebot3_world.launch.py
│   ├── models
│   │   ├── turtlebot3_burger
│   │   │   ├── model-1_4.sdf
│   │   │   ├── model.config
│   │   │   └── model.sdf
│   │   ├── turtlebot3_common
│   │   │   ├── meshes
│   │   │   │   ├── burger_base.dae
│   │   │   │   ├── lds.dae
│   │   │   │   ├── r200.dae
│   │   │   │   ├── tire.dae
│   │   │   │   ├── waffle_base.dae
│   │   │   │   └── waffle_pi_base.dae
│   │   │   └── model.config
│   │   ├── turtlebot3_dqn_world
│   │   │   ├── goal_box
│   │   │   │   ├── model.config
│   │   │   │   └── model.sdf
│   │   │   ├── inner_walls
│   │   │   │   ├── model.config
│   │   │   │   └── model.sdf
│   │   │   ├── model.config
│   │   │   ├── model.sdf
│   │   │   ├── obstacle1
│   │   │   │   ├── model.config
│   │   │   │   └── model.sdf
│   │   │   ├── obstacle2
│   │   │   │   ├── model.config
│   │   │   │   └── model.sdf
│   │   │   ├── obstacle_plugin
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── obstacle1.cc
│   │   │   │   ├── obstacle2.cc
│   │   │   │   └── obstacles.cc
│   │   │   └── obstacles
│   │   │   ├── model.config
│   │   │   └── model.sdf
│   │   ├── turtlebot3_house
│   │   │   ├── model.config
│   │   │   └── model.sdf
│   │   ├── turtlebot3_waffle
│   │   │   ├── model-1_4.sdf
│   │   │   ├── model.config
│   │   │   └── model.sdf
│   │   ├── turtlebot3_waffle_pi
│   │   │   ├── model-1_4_.sdf
│   │   │   ├── model.config
│   │   │   └── model.sdf
│   │   └── turtlebot3_world
│   │   ├── meshes
│   │   │   ├── hexagon.dae
│   │   │   └── wall.dae
│   │   ├── model-1_4.sdf
│   │   ├── model.config
│   │   └── model.sdf
│   ├── package.xml
│   ├── rviz
│   │   └── tb3_gazebo.rviz
│   ├── src
│   │   └── turtlebot3_drive.cpp
│   ├── urdf
│   │   ├── common_properties.urdf
│   │   ├── turtlebot3_burger.urdf
│   │   ├── turtlebot3_waffle_pi.urdf
│   │   └── turtlebot3_waffle.urdf
│   └── worlds
│   ├── empty_world.world
│   ├── maze.world
│   ├── turtlebot3_dqn_stage1.world
│   ├── turtlebot3_dqn_stage2.world
│   ├── turtlebot3_dqn_stage3.world
│   ├── turtlebot3_dqn_stage4.world
│   ├── turtlebot3_house.world
│   └── turtlebot3_world.world
├── turtlebot3_simulations
│   ├── CHANGELOG.rst
│   ├── CMakeLists.txt
│   └── package.xml
└── turtlebot3_simulations_ci.repos
```

# MAKE SURE PROJECT MANAGERS UPDATE THIS MD
* > Go through launch folder for a better understanding of turtlebot3_gazebo --> launch and worlds already available
```
├── empty_world.launch.py
├── maze.launch.py
├── robot_state_publisher.launch.py
├── spawn_turtlebot3.launch.py
├── turtlebot3_dqn_stage1.launch.py
├── turtlebot3_dqn_stage2.launch.py
├── turtlebot3_dqn_stage3.launch.py
├── turtlebot3_dqn_stage4.launch.py
├── turtlebot3_house.launch.py
└── turtlebot3_world.launch.py
```
* > All the dependencies can be found in package.xml file present in each folder in src if you face any issue in setup please take a look at those
* > Existing function:-Can Navigate through a maze world made using rViz.
*
38 changes: 36 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,36 @@
# template
Template Repository for OpenSpringFest
# TurtleBot Navigation
A turtlebot which a differential drive bot equipped with LiDAR, wheel encoders and imu to collect information of surrounding. This bot can be used to navigate autonomously through a given area once map is made of that world.

In Gazebo different types of worlds can be made to navigate and simulate autonoumous navigation.

## Prerequisites:

- Ubuntu v22.04
- Download here
- [Ubuntu 22.04 LTS](https://ubuntu.com/download/desktop)
- [ROS Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html)
- [Node js v18+](https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-20-04#option-3-installing-node-using-the-node-version-manager)

## Setup for local system

- Clone this repo in your system
- `git clone https://github.com/OPCODE-Open-Spring-Fest/DevHub.git`
- Navigate to the project directory
- `cd turtlebot-navigation/`
- Now install the node modules
- `npm install`
- Navigate to ros workspace directory turtle_ws
- `cd turtle_ws/`
- Now build the workspace using the following command
- `colcon build`


## Learnin Resources

- Navigation Stack
- [Nav2 Stack](https://navigation.ros.org/getting_started/index.html)
- Mapping
- [SLAM](https://navigation.ros.org/tutorials/docs/navigation2_with_slam.html)
- Go to .github --> Contributor_Guide --> Project_Tour for more information in this project


2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions turtle_ws/build/.built_by
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
colcon
Empty file added turtle_ws/build/COLCON_IGNORE
Empty file.
Loading

0 comments on commit efb18a5

Please sign in to comment.