Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development #5

Merged
merged 29 commits into from
Jul 16, 2024
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
738f9fc
Added config files
CihatAltiparmak May 26, 2024
6f3c118
Beginning of Middleware Benchmark Implementation
CihatAltiparmak May 28, 2024
5a222d3
Refactor benchmark code
CihatAltiparmak May 31, 2024
bfbfc0d
Integrated ros-industrial-ci and updated some external dependencies
CihatAltiparmak Jun 1, 2024
1d3f0ff
Changed the function namings by camelCase and some changes in launch …
CihatAltiparmak Jun 10, 2024
6ab2aad
Made test case creation flexible and removed unnecessary imports from…
CihatAltiparmak Jun 17, 2024
a7f2631
Added how to run and how to install sections to README and some pre-fix
CihatAltiparmak Jun 17, 2024
cd24a1e
Fix CI for UPSTREAM_WORKSPACE
CihatAltiparmak Jun 20, 2024
efc00b8
Rearranged directory tree structure and some modifications
CihatAltiparmak Jun 21, 2024
95bfbc7
Added documentation and fixed package.xml
CihatAltiparmak Jun 21, 2024
a682568
Removed ScenarioPerceptionPipelineTestCaseGenerator class
CihatAltiparmak Jun 23, 2024
3a25bdc
Renamed the files related to scenario_percpetion_pipeline
CihatAltiparmak Jul 2, 2024
ecfeb8e
Merge pull request #2 from CihatAltiparmak/fix/refactor_codebase
CihatAltiparmak Jul 2, 2024
bc2fcff
Feature/add documents (#4)
CihatAltiparmak Jul 2, 2024
0ba81e8
Renamed ${PROJECT_NAME} as moveit_middleware_benchmark in CmakeLists.…
CihatAltiparmak Jul 3, 2024
3857b68
Added comments to make the example test cases more understandable. Se…
CihatAltiparmak Jul 3, 2024
fa4710c
Modified README.md and fixed typo of description in package.xml
CihatAltiparmak Jul 3, 2024
88543a0
Fixed how_to_install documentation. See ( https://github.com/CihatAlt…
CihatAltiparmak Jul 4, 2024
57a5a2c
Deleted index.md. See ( https://github.com/CihatAltiparmak/moveit_mid…
CihatAltiparmak Jul 4, 2024
066e8df
Grouped all MoveIt headers into one place. See ( https://github.com/C…
CihatAltiparmak Jul 4, 2024
916a595
Put protected members after public ones and removed \return tag from …
CihatAltiparmak Jul 4, 2024
1acebf4
Made the inputs which is unnecessary to change constant. See ( https:…
CihatAltiparmak Jul 4, 2024
dafc402
Add LICENSE to src/scenario_perception_pipeline_benchmark_main.cpp. S…
CihatAltiparmak Jul 4, 2024
caa5496
Remove mongo_db_warehouse stuff in launch/scenario_perception_pipelin…
CihatAltiparmak Jul 4, 2024
e61a02a
Fixed the issue not to be able to terminate all of nodes in launch as…
CihatAltiparmak Jul 10, 2024
398bada
Fixed ros2 node ptr destruction problem, which gives rise to finish w…
CihatAltiparmak Jul 11, 2024
33677ff
Fixed documentation of perception pipeline. See ( https://github.com/…
CihatAltiparmak Jul 15, 2024
f2d0ab7
Modifed explanations in how_to_install section of document. See ( htt…
CihatAltiparmak Jul 15, 2024
2b1c8b1
Given a link which directs to How To Run page inside How To Install. …
CihatAltiparmak Jul 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
BasedOnStyle: Google
ColumnLimit: 120
MaxEmptyLinesToKeep: 1
SortIncludes: false

Standard: Auto
IndentWidth: 2
TabWidth: 2
UseTab: Never
AccessModifierOffset: -2
ConstructorInitializerIndentWidth: 2
NamespaceIndentation: None
ContinuationIndentWidth: 4
IndentCaseLabels: true
IndentFunctionDeclarationAfterType: false

AlignEscapedNewlinesLeft: false
AlignTrailingComments: true

AllowAllParametersOfDeclarationOnNextLine: false
ExperimentalAutoDetectBinPacking: false
ObjCSpaceBeforeProtocolList: true
Cpp11BracedListStyle: false

AllowShortBlocksOnASingleLine: true
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortCaseLabelsOnASingleLine: false

AlwaysBreakTemplateDeclarations: true
AlwaysBreakBeforeMultilineStrings: false
BreakBeforeBinaryOperators: false
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: true

BinPackParameters: true
ConstructorInitializerAllOnOneLineOrOnePerLine: true
DerivePointerBinding: false
PointerBindsToType: true

PenaltyExcessCharacter: 50
PenaltyBreakBeforeFirstCallParameter: 30
PenaltyBreakComment: 1000
PenaltyBreakFirstLessLess: 10
PenaltyBreakString: 100
PenaltyReturnTypeOnItsOwnLine: 50

SpacesBeforeTrailingComments: 2
SpacesInParentheses: false
SpacesInAngles: false
SpaceInEmptyParentheses: false
SpacesInCStyleCastParentheses: false
SpaceAfterCStyleCast: false
SpaceAfterControlStatementKeyword: true
SpaceBeforeAssignmentOperators: true

# Configure each individual brace in BraceWrapping
BreakBeforeBraces: Custom

# Qualifiers (const, volatile, static, etc)
QualifierAlignment: Custom
QualifierOrder: ['static', 'inline', 'constexpr', 'const', 'volatile', 'type']

# Control of individual brace wrapping cases
BraceWrapping:
AfterCaseLabel: true
AfterClass: true
AfterControlStatement: true
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterStruct: true
AfterUnion: true
BeforeCatch: true
BeforeElse: true
IndentBraces: false
...
65 changes: 65 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
Checks: '-*,
performance-*,
llvm-namespace-comment,
modernize-redundant-void-arg,
modernize-use-nullptr,
modernize-use-default,
modernize-use-override,
modernize-loop-convert,
modernize-make-shared,
modernize-make-unique,
modernize-avoid-bind,
misc-unused-parameters,
readability-braces-around-statements,
readability-named-parameter,
readability-redundant-smartptr-get,
readability-redundant-string-cstr,
readability-simplify-boolean-expr,
readability-container-size-empty,
readability-identifier-naming,
readability-static-definition-in-anonymous-namespace,
'
HeaderFilterRegex: ''
AnalyzeTemporaryDtors: false
CheckOptions:
- key: llvm-namespace-comment.ShortNamespaceLines
value: '10'
- key: llvm-namespace-comment.SpacesBeforeComments
value: '2'
- key: misc-unused-parameters.StrictMode
value: '1'
- key: readability-braces-around-statements.ShortStatementLines
value: '2'
# type names
- key: readability-identifier-naming.ClassCase
value: CamelCase
- key: readability-identifier-naming.EnumCase
value: CamelCase
- key: readability-identifier-naming.UnionCase
value: CamelCase
# function names
- key: readability-identifier-naming.FunctionCase
value: camelBack
# method names
- key: readability-identifier-naming.MethodCase
value: camelBack
# variable names
- key: readability-identifier-naming.VariableCase
value: lower_case
- key: readability-identifier-naming.ProtectedMemberSuffix
value: '_'
- key: readability-identifier-naming.PrivateMemberSuffix
value: '_'
# const static or global variables are UPPER_CASE
- key: readability-identifier-naming.EnumConstantCase
value: UPPER_CASE
- key: readability-identifier-naming.StaticVariableCasePrefix
value: 's_'
- key: readability-identifier-naming.StaticConstantCase
value: UPPER_CASE
- key: readability-identifier-naming.GlobalConstantCase
value: UPPER_CASE
- key: readability-identifier-naming.ClassConstantCase
value: UPPER_CASE
...
19 changes: 19 additions & 0 deletions .codespell_words
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
ang
ans
atleast
ba
dof
dur
iff
keyserver
nto
ot
parameterizes
planed
tork
uint
whis
sinic
padd
brin
aas
24 changes: 24 additions & 0 deletions .github/workflows/industrial_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: CI

on: [push, pull_request]

jobs:
industrial_ci:
name: ROS ${{ matrix.ROS_DISTRO }} (${{ matrix.ROS_REPO }})
strategy:
matrix:
ROS_DISTRO: [rolling]
ROS_REPO: [testing, main]
UPSTREAM_WORKSPACE: [moveit_middleware_benchmark.repos]
UPSTREAM_CMAKE_ARGS: [-DCMAKE_BUILD_TYPE=Release --packages-skip test_dynmsg dynmsg_demo]
env:
CCACHE_DIR: "${{ github.workspace }}/.ccache"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: 'ros-industrial/industrial_ci@master'
env:
ROS_DISTRO: ${{ matrix.ROS_DISTRO }}
ROS_REPO: ${{ matrix.ROS_REPO }}
UPSTREAM_WORKSPACE: ${{ matrix.UPSTREAM_WORKSPACE }}
UPSTREAM_CMAKE_ARGS: ${{ matrix.UPSTREAM_CMAKE_ARGS }}
78 changes: 78 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
*~
~$
.swp$

# colcon
build/
install/
log/

bin/
lib/
msg_gen/
srv_gen/
msg/.*Action\.msg$
msg/.*ActionFeedback\.msg$
msg/.*ActionGoal\.msg$
msg/.*ActionResult\.msg$
msg/.*Feedback\.msg$
msg/.*Goal\.msg$
msg/.*Result\.msg$
msg/_.*\.py$

\.pcd$
.pyc$

# Generated by dynamic reconfigure
\.cfgc$
/cfg/cpp/
/cfg/.*\.py$

# Ignore generated docs
.dox$
.wikidoc$

# eclipse stuff
.project
.cproject

# qcreator stuff
CMakeLists.txt.user

srv/_.*\.py$
\.pcd$
.pyc$
qtcreator-*
*.user

*~$

# Emacs
.#*

# VSCode
.vscode

# Vim
*.swp

# Continuous Integration
.moveit_ci

*.pyc

#gdb
*.gdb

_build
_autosummary

# VSCode Devcontainer
.devcontainer

# clangd
.cache

# source dependencies (see moveit2.repos)
moveit_msgs
moveit_resources
63 changes: 63 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# To use:
#
# pre-commit run -a
#
# Or:
#
# pre-commit install # (runs every time you commit in git)
#
# To update this file:
#
# pre-commit autoupdate
#
# See https://github.com/pre-commit/pre-commit

repos:
# Standard hooks
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
- id: check-json
- id: check-merge-conflict
- id: check-symlinks
- id: check-toml
- id: check-yaml
- id: debug-statements
- id: destroyed-symlinks
- id: detect-private-key
- id: end-of-file-fixer
- id: mixed-line-ending
- id: pretty-format-json
- id: trailing-whitespace

- repo: https://github.com/psf/black
rev: 23.10.0
hooks:
- id: black

- repo: local
hooks:
- id: clang-format
name: clang-format
description: Format files with ClangFormat.
entry: clang-format-14
language: system
files: \.(c|cc|cxx|cpp|frag|glsl|h|hpp|hxx|ih|ispc|ipp|java|js|m|proto|vert)$
args: ['-fallback-style=none', '-i']
- repo: https://github.com/codespell-project/codespell
rev: v2.2.6
hooks:
- id: codespell
args: ['--write-changes', '--ignore-words=.codespell_words', '--skip="*.eps"']
exclude: CHANGELOG.rst

- repo: https://github.com/cheshirekow/cmake-format-precommit
rev: v0.6.10
hooks:
- id: cmake-format
- id: cmake-lint
args:
- "--disabled-codes=C0301" # Disable Line too long lint
- "--suppress-decorations"
46 changes: 46 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
cmake_minimum_required(VERSION 3.8)
project(moveit_middleware_benchmark)

if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()

# find dependencies
find_package(ament_cmake REQUIRED)
find_package(moveit_ros_planning_interface REQUIRED)
find_package(rclcpp REQUIRED)
find_package(benchmark REQUIRED)
find_package(dynmsg REQUIRED)
find_package(nav_msgs REQUIRED)
find_package(ament_index_cpp REQUIRED)
find_package(yaml-cpp REQUIRED)

add_executable(
scenario_perception_pipeline_benchmark_main
src/scenario_perception_pipeline_benchmark_main.cpp
src/scenarios/scenario_perception_pipeline.cpp)

ament_target_dependencies(
scenario_perception_pipeline_benchmark_main
PUBLIC
"moveit_ros_planning_interface"
"rclcpp"
"benchmark"
"dynmsg"
"nav_msgs"
"yaml-cpp")

target_include_directories(
scenario_perception_pipeline_benchmark_main
PUBLIC $<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)

target_link_libraries(scenario_perception_pipeline_benchmark_main
PUBLIC "benchmark::benchmark" ${YAML_CPP_LIBRARIES})

install(TARGETS scenario_perception_pipeline_benchmark_main
DESTINATION lib/${PROJECT_NAME})
CihatAltiparmak marked this conversation as resolved.
Show resolved Hide resolved

install(DIRECTORY launch config DESTINATION share/${PROJECT_NAME})

ament_package()
Loading
Loading