Skip to content

Commit 7fbdcde

Browse files
Added base pre-commit hooks to include whitespace and eol checks.
Signed-off-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com>
1 parent 857b45b commit 7fbdcde

155 files changed

Lines changed: 1387 additions & 1412 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868
- persist_to_workspace:
6969
root: .
7070
paths:
71-
- _build
71+
- _build
7272
docs_publish:
7373
executor: docs_exec
7474
steps:

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ _build
22
lib/
33
bin/
44
pyvenv.cfg
5-
.DS_Store
5+
.DS_Store

.pre-commit-config.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,10 @@ repos:
2121
- id: codespell
2222
args: ['--write-changes', '--ignore-words=.codespell_words']
2323
exclude: CHANGELOG\.rst|\.(svg|pyc|drawio|dcf|eds)$
24+
25+
- repo: https://github.com/pre-commit/pre-commit-hooks
26+
rev: v5.0.0
27+
hooks:
28+
- id: end-of-file-fixer
29+
- id: mixed-line-ending
30+
- id: trailing-whitespace

2021summerOfCode/projects/assisted_teleop.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
3. Assisted Teleop
55
==================
66

7-
**Task description**
7+
**Task description**
88

9-
In mobile robot and autonomous vehicle navigation, there are situations where a human driver is required to intervene to get the vehicle out of a sticky situation. This can be both as a backup in case of autonomy failure as well as the primary function of the robot (e.g. telepresence robots).
9+
In mobile robot and autonomous vehicle navigation, there are situations where a human driver is required to intervene to get the vehicle out of a sticky situation. This can be both as a backup in case of autonomy failure as well as the primary function of the robot (e.g. telepresence robots).
1010

1111
This project's aim is to create an assisted teleop feature in Nav2 by means of a new behavior tree configuration file (the file that defines the flow of information for the navigation task) and potentially new plugins. This feature should make sure to use the local costmap and/or sensor data in order to avoid obstacles and take position and/or velocity commands to attempt to follow.
1212

@@ -31,7 +31,7 @@ This will be an excellent chance to make a substantial new feature in the Nav2 s
3131
- Mobile robot navigation experience
3232
- Recommended: Gazebo simulation, ROS navigation, Behavior trees
3333

34-
**List of relevant open source software repositories and refs**
34+
**List of relevant open source software repositories and refs**
3535

3636
- `ROS <https://www.ros.org/>`_
3737
- `Gazebo Simulator <http://gazebosim.org/>`_

2021summerOfCode/projects/create_configuration_assistant.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
1. Create a Configuration Assistant (Analog to MoveIt)
66
======================================================
77

8-
**Task description**
8+
**Task description**
99

1010
`Moveit <https://moveit.ros.org/>`_ has long has a QT `configuration assistant <http://docs.ros.org/kinetic/api/moveit_tutorials/html/doc/setup_assistant/setup_assistant_tutorial.html>`_. This setup assistant helps the user configure their UDRF and needs to setup MoveIt configuration files.
1111

@@ -43,12 +43,12 @@ After the items are configured, there should be a preview to see how the paramet
4343
- 3D programming (maybe needed in the preview)
4444
- Recommended: Gazebo simulation, ROS, and Navigation experience
4545

46-
**List of relevant open source software repositories and refs**
46+
**List of relevant open source software repositories and refs**
4747

4848
- `QT <https://www.qt.io/>`_
4949
- `Gazebo Simulator <http://gazebosim.org/>`_
5050
- `Original github issue page <https://github.com/ros-navigation/navigation2/issues/1721>`_
5151

5252
**Licensing**
5353
- All contributions will be under the Apache 2.0 license.
54-
- No other CLA's are required.
54+
- No other CLA's are required.

2021summerOfCode/projects/create_plugins.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,3 @@ Your task will be to create a high-quality implementation of one of the followin
4646
**Licensing**
4747
- All contributions will be under the Apache 2.0 license.
4848
- No other CLA's are required.
49-

2021summerOfCode/projects/dynamic.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
1. Navigation Dynamic Obstacle Integration
66
==========================================
77

8-
**Task description**
8+
**Task description**
99

1010
The Navigation Stack has long provided robust navigation in a wide range of environments. Controllers have been developed to operate effectively in the presence of dynamic obstacles without explicitly modeling the characteristics of dynamic obstacles. However, as the field has progressed and we see more and more robots using ROS deployed in human-filled spaces, more consideration must be taken with respect to dynamic obstacles such as people, carts, animals, and vehicles.
1111

@@ -33,7 +33,7 @@ If time permits, you may also work to also integrate this dynamic information in
3333
- Geometry and statistics
3434
- Recommended: Gazebo simulation, machine learning, ROS navigation
3535

36-
**List of relevant open source software repositories and refs**
36+
**List of relevant open source software repositories and refs**
3737

3838
- `Starting project <https://github.com/ros-navigation/navigation2_dynamic/>`_
3939
- `ROS <https://www.ros.org/>`_

2021summerOfCode/projects/grid_maps.rst

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
3. Port Grid Maps to ROS 2 and Environmental Model
99
==================================================
1010

11-
**Task description**
11+
**Task description**
1212
Grid Maps was created by ETH Zurich and later transferred to ANYbotics. It is a universal grid map library for mobile robotic mapping that can be used as the basis of environmental models and various forms of grid maps available in ROS 1. This library is one of the top downloaded ROS packages. Your task will be to work with the community and the mentor to port grid_maps metapackage from ROS 1 to ROS 2 and help develop the next generation environment model in ROS 2 to replace costmap_2d.
1313

1414
This will involve porting code from ROS 1 to ROS 2, analyzing uses of the environmental model to define an abstract interface to allow replacement of costmap_2d with grid_map, and building up the basic grid-operations for costmaps. It is not expected to complete the full new model with sensor processing over the course of the summer. If completed early, you may be able to help design a gradient model to complement your implemented costmap model using grid_maps. This will allow robots to select a gradient or a costmap model on startup.
@@ -33,7 +33,7 @@ This will involve porting code from ROS 1 to ROS 2, analyzing uses of the enviro
3333
- Coordinate transformations and basic geometry
3434
- Recommended: Gazebo simulation and Navigation experience
3535

36-
**List of relevant open source software repositories and refs**
36+
**List of relevant open source software repositories and refs**
3737

3838
- `ROS <https://www.ros.org/>`_
3939
- `Gazebo Simulator <http://gazebosim.org/>`_
@@ -44,4 +44,3 @@ This will involve porting code from ROS 1 to ROS 2, analyzing uses of the enviro
4444
**Licensing**
4545
- All contributions will be under the Apache 2.0 license.
4646
- No other CLA's are required.
47-

2021summerOfCode/projects/localization.rst

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@
66
6. 2D/3D Localization Improvements
77
==================================
88

9-
**Task description**
9+
**Task description**
1010

11-
The Navigation2 stack uses AMCL as its primary localization engine. Over the last 10 years, essentially no updates to AMCL has been made. This is due to the code base for this implementation of an Adaptive Monte Carlo Localizer is written in embedded C, not well structured, and very sensitive to changes. A-MCL implementations have been a hallmark of localization for over a decade but this particular implementation should be deprecated.
11+
The Navigation2 stack uses AMCL as its primary localization engine. Over the last 10 years, essentially no updates to AMCL has been made. This is due to the code base for this implementation of an Adaptive Monte Carlo Localizer is written in embedded C, not well structured, and very sensitive to changes. A-MCL implementations have been a hallmark of localization for over a decade but this particular implementation should be deprecated.
1212

1313
Your target involves designing and creating a new localization engine for the Nav2 stack. The requirements of this are:
1414
- Support 2D laser scanners
1515
- Support 3D laser scanners, where 2D case could potentially be a simplified case
1616
- Accurately track the localization of a robot in a given occupancy grid
1717

18-
The reason that specific method is left open-ended is to allow for creativity, novelty, or reimplementation of a what you feel is best. We have, however, analyzed other MCL variants as being good options. This may include reimplementing an A-MCL that is designed to be modified with modular components and support sampling from a 3D lidar. Another option is a NDT-MCL using NDT 2D/3D scan matching. Other options may be proposed and discussed with mentors during the application phase. The task involves 3D as well since there is no standard 3D localizer in ROS 2 yet and more and more robust 3D SLAM libraries have emerged over the last 2 years.
18+
The reason that specific method is left open-ended is to allow for creativity, novelty, or reimplementation of a what you feel is best. We have, however, analyzed other MCL variants as being good options. This may include reimplementing an A-MCL that is designed to be modified with modular components and support sampling from a 3D lidar. Another option is a NDT-MCL using NDT 2D/3D scan matching. Other options may be proposed and discussed with mentors during the application phase. The task involves 3D as well since there is no standard 3D localizer in ROS 2 yet and more and more robust 3D SLAM libraries have emerged over the last 2 years.
1919

2020
An optional but recommended feature of this work would be to also accept the inputs from multiple laser scanners. However it is not strictly required.
2121

@@ -38,7 +38,7 @@ An optional but recommended feature of this work would be to also accept the inp
3838
- Ability to read and implement academic works
3939
- Recommended: Gazebo simulation and Navigation experience
4040

41-
**List of relevant open source software repositories and refs**
41+
**List of relevant open source software repositories and refs**
4242

4343
- `ROS <https://www.ros.org/>`_
4444
- `Gazebo Simulator <http://gazebosim.org/>`_
@@ -48,6 +48,3 @@ An optional but recommended feature of this work would be to also accept the inp
4848
**Licensing**
4949
- All contributions will be under the Apache 2.0 license.
5050
- No other CLA's are required.
51-
52-
53-

2021summerOfCode/projects/multithreading.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
4. Navigation MultiThreading
55
============================
66

7-
**Task description**
7+
**Task description**
88

99
The aim of this project is the significantly improve the run-time performance of Nav2 making sure to leverage the full capabilities of multi-processor core CPUs. We seek to identify areas in the Nav2 stack that could leverage multi-threading or parallel processing to speed up computations and improve overall user performance on a broad range of compute platforms.
1010

@@ -19,7 +19,7 @@ Some examples include:
1919

2020
We are seeking a student interested in learning about multi-threading and parallel processing, ideally with some exposure to these concepts and libraries already, to analyze potential areas for parallel computing. Then, select the top candidates and implement them with parallel processing and benchmark the improvements to the Nav2 stack they provide.
2121

22-
This will be an excellent chance to apply (or obtain) C++ parallel computing skills while also learning a great deal about how to build mobile robot navigation systems -- both very valuable skillsets.
22+
This will be an excellent chance to apply (or obtain) C++ parallel computing skills while also learning a great deal about how to build mobile robot navigation systems -- both very valuable skillsets.
2323

2424
**Project difficulty: Medium**
2525

@@ -39,7 +39,7 @@ This will be an excellent chance to apply (or obtain) C++ parallel computing ski
3939
- Working knowledge (or ability to quickly obtain) on one or more of: TBB, OpenMP, OpenCL, Cuda, and similar
4040
- Recommended: Gazebo simulation, ROS navigation
4141

42-
**List of relevant open source software repositories and refs**
42+
**List of relevant open source software repositories and refs**
4343

4444
- `ROS <https://www.ros.org/>`_
4545
- `Gazebo Simulator <http://gazebosim.org/>`_

0 commit comments

Comments
 (0)