Skip to content

Commit

Permalink
Merge branch 'feature/readme_update' into devel/ros2-foxy
Browse files Browse the repository at this point in the history
  • Loading branch information
NestorDP committed Aug 11, 2023
2 parents 1abaac5 + 7a755df commit b9d2c60
Show file tree
Hide file tree
Showing 3 changed files with 117 additions and 47 deletions.
18 changes: 7 additions & 11 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,20 @@ The purpose of this issue is to enhance the codebase by including comprehensive

### Proposed Changes:

1. Add test cases to check for invalid or missing IP addresses before starting the UDP connection.
2. Verify that exceptions are raised when attempting to establish a connection without a valid IP address.
3. Test the system's response to various connection-related problems, such as network unavailability or port conflicts, to ensure graceful handling of such scenarios.
1. Add test cases...
2. Verify that...
3. Test the system's response...

### Expected Benefits:
By adding these exceptions tests, we can achieve the following benefits:

Improve the robustness and reliability of the system by catching potential issues during connection establishment.
Reduce the likelihood of unexpected failures and errors, which will facilitate easier debugging and maintenance.
Enhance the overall stability of the system, providing a more seamless experience for end-users.
Improve the robustness and reliability...
Reduce the likelihood of unexpected failures and errors...
Enhance the overall stability of the system...


## Steps to Reproduce
Set up the testing environment to isolate the code related to IP address validation and UDP connection establishment.
Design test cases to cover scenarios where an invalid or missing IP address is provided.
Implement the tests and ensure they raise appropriate exceptions when necessary.
Create test cases to simulate various connection-related problems and validate the system's response.
Run the test suite and observe the results, ensuring that all tests pass successfully.
Set up the testing environment...

## Additional Notes
Any additional information or context relevant to the issue can be added here.
28 changes: 28 additions & 0 deletions .github/workflows/github-actions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Code Quality
run-name: Run Lint Checks
on: [push, pull_request]
jobs:
cpplint:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3

- name: Set up Python 3.7
uses: actions/setup-python@v3
with:
python-version: 3.7

- name: Update pip
run: python -m pip install --upgrade pip

- name: Install dependencies
run: pip install cpplint flake8

- name: Lint with flake8
run: flake8

- name: Lint with cpplint
run: cpplint --recursive .
118 changes: 82 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,62 +38,108 @@ Get started by following the installation instructions below to set up the Littl
- [Contact](#contact)



## Installation

## usage
To get started with the Littlebot ROS2 package, follow the steps below:

## configuration
### 1. Create a ROS2 Workspace:
Before you begin, make sure you have ROS2 (Robot Operating System 2) installed on your system. If you don't have it, you can follow the official ROS2 installation guide for your operating system. Once ROS2 is installed, create a new ROS2 workspace if you don't have one already. You can create a workspace by running the following commands in your terminal:

## contributing
```bash
# Create a new ROS2 workspace (if you have not created one yet)
mkdir -p ~/littlebot_ws/src
cd ~/littlebot_ws/
colcon build
```

## license
### 2. Download the Littlebot ROS2 Package:
Next, navigate to the src directory of your ROS2 workspace, and clone the Littlebot ROS2 package repository from GitHub:

## credits
```bash
# Move to the 'src' directory of your ROS2 workspace
cd ~/littlebot_ws/src/
# Clone the Littlebot ROS2 package repository
git clone https://github.com/NestorDP/littlebot.git
```

### 3. Resolve Dependencies:
Once you have cloned the repository, run rosdep to resolve any package dependencies that the Littlebot ROS2 package requires:

```bash
# Navigate to the root of your ROS2 workspace
cd ~/littlebot_ws/
# Use rosdep to install dependencies
rosdep install --from-paths src --ignore-src -r -y
```

## contact
### 4. Build the Package:
After resolving the dependencies, build the package using colcon:

```bash
# Build the package
colcon build
```
The build process will compile the Littlebot ROS2 package and make it ready for use.

<!-- ## Testando o Littlebot
### 5. Source the Workspace:
To ensure ROS2 can find the Littlebot ROS2 package, you need to source your workspace. Run the following command:

Estas instruções te ajudarão a fazer os primeiros testes com a plataforma Littlebot -->
```bash
# Source the workspace (you might want to add this line to your .bashrc or .bash_profile)
source ~/littlebot_ws/install/setup.bash
```

<!-- ### Pré-requisitos
### 6. Verify the Installation:
To verify that the package is correctly installed and accessible, you can list the ROS2 packages available in your workspace:

Para testar o Littlebot em seu sistema você precisa ter instalado o ROS ([melodic](http://wiki.ros.org/melodic) recomendado). Um erro pode acontecer ao tentar vizualizar o modelo no RVIZ no ROS-melodic, caso isso ocorra, pode ser necessário mudar uma variável de ambiente, como segue abaixo: -->
```bash
# List packages in your ROS2 workspace
colcon list
```

If the Littlebot ROS2 package is listed, you have successfully installed it.

<!-- ```bash
export LC_NUMERIC="en_US.UTF-8"
``` -->
Congratulations! You have now installed the Littlebot ROS2 package, and you can begin configuring and experimenting with your Littlebot robot using ROS2.
## Usage

<!-- ### Rodando a simulação
## Configuration

Para simular o Littlebot, o primeiro passo é criar um [workspace ROS](http://wiki.ros.org/catkin/Tutorials/create_a_workspace)

```bash
mkdir -p ~/littlebot_ws/src
cd littlebot_ws
catkin_make
source devel/setup.bash
```
## Contribution

Após criar o workspace fazer o clone do repositório
If ou want to report a bug, submit a feature request, or contribute code, your input is valuable in making this project better.

```bash
cd src
git clone https://github.com/NestorDP/littlebot.git
cd ..
catkin_make
source devel/setup.bash
```
### Bug Reports and Feature Requests

Para rodar a simulção no Gazebo
If you come across any issues or have ideas for new features, please feel free to [open an issue](https://github.com/NestorDP/littlebot/issues). When creating a new issue, please use the available issue template and provide as much detail as possible. This information will help us better understand and address your request.

```bash
roslaunch littlebot_gazebo gazebo.launch
``` -->
### Contributing Code

# Wiki
If you want to contribute code to the project, we follow a typical pull request (PR) workflow:

For more information see the [littleBOT wiki](https://github.com/NestorDP/littlebot/wiki)
1. Fork the repository and create a new branch from the `devel/ros2-<ros distro>` branch.
2. Make your changes in the new branch and test them thoroughly.
3. Ensure your code follows the project's coding conventions and standards.
4. Submit a pull request (PR) to the `devel/ros2-<ros distro>` branch of this repository.
5. Include a detailed description of your changes and the problem they solve.
I will review your PR, provide feedback if needed, and work with you to ensure your contribution aligns with the project's goals.

### Code Guidelines

To maintain a consistent codebase, please follow these guidelines when contributing:

- Adhere to the [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) and formatting conventions.
- Write clear, concise, and well-documented code.
- Ensure your changes do not break existing functionality.
- Include unit tests to validate your code.

## license
By contributing to this project, you agree that your contributions will be licensed under the [**GNU General Public License v3.0**](https://github.com/NestorDP/littlebot/blob/devel/ros2-foxy/LICENSE). This allows us to maintain an open and collaborative environment for the community.

Thank you for considering contributing to our project. Your involvement makes a significant difference in the development and success of LittleBOT!

## credits

0 comments on commit b9d2c60

Please sign in to comment.