Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Devel #1

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

Merged
merged 136 commits into from
Oct 16, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
aaf764a
Cattkinize (optional) and remove openGL from cmake
facontidavide Apr 18, 2018
e07c513
more consistent naming of methods and removing the Drawing part of th…
facontidavide Apr 18, 2018
86a775d
minor changes
facontidavide Apr 18, 2018
b1f88e3
API updated
facontidavide Apr 18, 2018
5b9e214
directory renamed
Apr 19, 2018
ee91c11
fix in CMakeLists.txt
Apr 19, 2018
fd21426
fixing compilation of tests
Apr 19, 2018
8405a24
Adding clang format
Apr 19, 2018
54d87b0
Update .travis.yml
facontidavide Apr 19, 2018
28cd4e2
Update .travis.yml
facontidavide Apr 19, 2018
906b7c7
Merge branch 'devel' of https://github.com/facontidavide/Behavior-Tre…
Apr 19, 2018
094cb80
fixed compilation with DEBUG_STDOUT is active
Apr 19, 2018
482d0c5
Copyright updated
Apr 19, 2018
33eec5f
added decorator node
Apr 19, 2018
631d83a
Merge pull request #18 from facontidavide/devel
miccol Apr 19, 2018
d577d04
added first sample of the factory class
Apr 19, 2018
2e09aaa
miscellaneous cleanups
Apr 19, 2018
6994220
using condition variable instead of sleeps
Apr 19, 2018
a52c1ea
cleanup: minimize the scope of N_of_children
Apr 19, 2018
d3b1093
ReturnStatus NodeStatus
Apr 19, 2018
fc6e850
clang format applied
Apr 20, 2018
bae1a64
typo fixed
Apr 20, 2018
cc9a76b
bug fix
Apr 20, 2018
955baf6
don't force release, makes difficult to compile in debug mode
Apr 20, 2018
602d14d
remove warning
Apr 20, 2018
8db859e
100 ms is a sufficient large amount of time to test asynch actions...
Apr 20, 2018
feb440a
camelCase!
Apr 20, 2018
492a98f
bool reade_ for TickEngine
Apr 20, 2018
db401dd
comment again the "unique child" check
Apr 23, 2018
6e31f5d
Remove copy and paste related to Async ActionNode
Apr 23, 2018
ba982f7
fix memory leak in test (detected with Valgrind)
Apr 23, 2018
271e44b
Merge pull request #19 from facontidavide/dev2
miccol Apr 23, 2018
baefffd
renaming runtime output dir to bin
miccol Apr 23, 2018
4f22e95
add GTests in travis
miccol Apr 23, 2018
59a90d8
checking if travis can verify failed tests
miccol Apr 23, 2018
42032b4
reverting to correct test. Travis works
miccol Apr 23, 2018
cca0424
more ActionNode implementations
Apr 23, 2018
b173dec
forgotten
facontidavide Apr 23, 2018
210ac77
fixing the problem with destructors
Apr 23, 2018
52fcbff
Action renamed
facontidavide Apr 27, 2018
1596d60
removed asyncTick in favour of executeTick()
May 3, 2018
ea50858
making tick() private/protected, because only executeTick() should be…
May 3, 2018
1cada0c
various clean-ups
May 3, 2018
3c886c3
Merge pull request #20 from facontidavide/dev_async
miccol May 4, 2018
e3ff405
improve readability of the test
May 8, 2018
8ff609c
remove redundant [setStatus(status)] before [return status]
May 8, 2018
4a6cc7a
multiple changes, read description...
May 9, 2018
c5e268d
forgotten
May 9, 2018
e4b52bd
Merge pull request #23 from facontidavide/unit_test_change
miccol May 10, 2018
34febd2
added subscriber to state change
May 11, 2018
024d4d6
minor change in test
May 11, 2018
21669db
unit test added
May 11, 2018
9d4ab81
minor change, does not seems to affect the execution of the tests
May 11, 2018
29dfce7
Merge pull request #24 from facontidavide/devel
miccol May 11, 2018
5edcd54
adding decorators
May 4, 2018
57d3cda
Added run-time factory
May 4, 2018
7a3560c
Nodes with memory are now parametrized
facontidavide May 7, 2018
e2c43d9
fix style
facontidavide May 7, 2018
0b7977d
fix
facontidavide May 7, 2018
35b0ae5
XML tag BehaviorTreeMetaModel renamed to TreeNodesModel
May 8, 2018
1d5b179
rebase fix
May 11, 2018
45b0c16
Merge pull request #21 from facontidavide/devel_factory
miccol May 14, 2018
a152154
UID added
May 15, 2018
e3d8ab3
adding buildSerializedStatusSnapshot
May 15, 2018
93ac32c
initial version of the serialization file
May 18, 2018
6bdd838
flatbuffers added
May 18, 2018
3e00218
using enum class
May 18, 2018
f1c91dd
moved functions
May 21, 2018
2d6f048
first example of logger
May 21, 2018
4a51d3b
fixed issue in decorators
May 21, 2018
6666f6d
added RUNNING status to control nodes for debuggability
May 21, 2018
608c28b
removed RUNNING for simplicity (user provided tick() might be "atomic")
May 21, 2018
1dd7fb5
added option to make the output less verbose
May 21, 2018
e95a27d
removed DEBUG_STDOUT
May 21, 2018
e06aa6d
REVERTED change. It was a bad idea
May 21, 2018
22f6258
Merge pull request #25 from facontidavide/devel
miccol May 30, 2018
11a4258
third party libraries
facontidavide May 30, 2018
ab678f5
xml parsing didn't handle Conditions
facontidavide May 30, 2018
1eebb19
loggers cornucopia
facontidavide May 30, 2018
4f5bf83
changed the wait logic in ZMQ publisher
Jun 1, 2018
7811dc4
underscore as suffix
Jun 13, 2018
0f247b6
added NodeParameters as a mandatory argument for TreeNode
Jun 13, 2018
564a362
Moved stuff to basic_types.h
Jun 13, 2018
f14654a
cleanups and refactoring
Jun 13, 2018
4f1e50a
clang format
Jun 13, 2018
3ede1ad
Merge pull request #26 from facontidavide/dev_logging
miccol Jun 14, 2018
1716ea3
make exceptions consistent with the standard library
Jun 14, 2018
33ce53a
more simple nodes
Jun 14, 2018
20a2a34
multiple changes and improvements
Jun 14, 2018
8d8d215
comments and cleanups
Jun 14, 2018
a510b38
fix compilation error
Jun 18, 2018
5ce3c11
Merge branch 'param_export' into devel
Jun 18, 2018
a57c7ad
better template specialization
facontidavide Jun 26, 2018
339df6d
more checks in the XML parsing
facontidavide Jun 26, 2018
e13d2ac
adding blackboard
Aug 20, 2018
ac18f2f
Merge branch 'devel' of https://github.com/Eurecat/BehaviorTree.CPP i…
facontidavide Aug 21, 2018
8bc80bb
BB updated and example added
facontidavide Aug 21, 2018
d37b186
cleanup
facontidavide Aug 21, 2018
04da1a5
typo fixed
facontidavide Aug 21, 2018
f911e48
Blackboard related updates
Aug 22, 2018
f269673
added registerSimpleDecorator
Aug 22, 2018
c6068bd
more comments and less boilerplate
Aug 22, 2018
df2b878
polishing the API
Aug 22, 2018
f005384
Changes in the Loggers, motivated by the new tutorial_sequence_star.cpp
Aug 22, 2018
2da2731
more example and documentation
Aug 24, 2018
090eb28
fixed tamplete specialization for bool
facontidavide Sep 12, 2018
2ec27d7
fixed loggers
facontidavide Sep 12, 2018
0f780ec
few changes in the examples and the core lib
facontidavide Sep 12, 2018
4794fb4
more readable API
facontidavide Sep 12, 2018
c559ef2
backup
facontidavide Sep 13, 2018
2e6bcd8
fixing the example
facontidavide Sep 14, 2018
9c41757
file moved and renamed
facontidavide Sep 14, 2018
8cddb58
Update .travis.yml
facontidavide Sep 14, 2018
1782fea
Update contributors.txt
facontidavide Sep 24, 2018
36c30ea
fix related to #1
facontidavide Sep 25, 2018
e2b643a
fix related to #1 (compile with catkin)
facontidavide Sep 25, 2018
d0e83de
big change: support plugins loading
Sep 25, 2018
d7a906e
initial documentation
Oct 4, 2018
f8c16a3
docs
Oct 5, 2018
cacd698
docs update
Oct 5, 2018
2613b0e
docs updated
Oct 8, 2018
0080f09
Fixing problem with "pure virtual funtion called"
Oct 8, 2018
c043fd4
fix unit tests in ROS
Oct 8, 2018
34509f8
changed funtor signature
Oct 8, 2018
1278da4
splitting the unit tests into multiple files
facontidavide Oct 8, 2018
c66d25a
ActionNodeBase will be called only once by a ControlNode
facontidavide Oct 8, 2018
3f6a471
tutorials updated
Oct 9, 2018
ec3d37c
Adding deadline decorator
Oct 9, 2018
295eb1f
simplified policy of nodes with memory
Oct 9, 2018
b433802
Update README.md
facontidavide Oct 11, 2018
be22a47
Readme updated
facontidavide Oct 15, 2018
8ac2ca9
default value of reset_on_failure_ set to true
facontidavide Oct 15, 2018
e085949
Docs added
facontidavide Oct 16, 2018
c9f0c2c
Renaming: Negation->Inverter and Deadline->Timeout
Oct 16, 2018
86c2836
cleanups
Oct 16, 2018
1b5981e
more docs
Oct 16, 2018
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
68 changes: 68 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
BasedOnStyle: Google
AccessModifierOffset: -2
ConstructorInitializerIndentWidth: 2
AlignEscapedNewlinesLeft: false
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortLoopsOnASingleLine: false
AlwaysBreakTemplateDeclarations: true
AlwaysBreakBeforeMultilineStrings: false
BreakBeforeBinaryOperators: false
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: true
BinPackParameters: true
ColumnLimit: 120
ConstructorInitializerAllOnOneLineOrOnePerLine: true
DerivePointerBinding: false
PointerBindsToType: true
ExperimentalAutoDetectBinPacking: false
IndentCaseLabels: true
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCSpaceBeforeProtocolList: true
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 60
PenaltyBreakString: 1
PenaltyBreakFirstLessLess: 1000
PenaltyExcessCharacter: 1000
PenaltyReturnTypeOnItsOwnLine: 90
SpacesBeforeTrailingComments: 3
Cpp11BracedListStyle: true
Standard: Auto
IndentWidth: 4
TabWidth: 4
UseTab: Never
IndentFunctionDeclarationAfterType: false
SpacesInParentheses: false
SpacesInAngles: false
SpaceInEmptyParentheses: false
SpacesInCStyleCastParentheses: false
SpaceAfterControlStatementKeyword: true
SpaceBeforeAssignmentOperators: true
ContinuationIndentWidth: 4
SortIncludes: false
SpaceAfterCStyleCast: false
ReflowComments: false

# Configure each individual brace in BraceWrapping
BreakBeforeBraces: Custom

# Control of individual brace wrapping cases
BraceWrapping: {
AfterClass: 'true'
AfterControlStatement: 'true'
AfterEnum : 'true'
AfterFunction : 'true'
AfterNamespace : 'true'
AfterStruct : 'true'
AfterUnion : 'true'
BeforeCatch : 'true'
BeforeElse : 'true'
IndentBraces : 'false'
}
...

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
*~
/CMakeLists.txt.user
build*
site
35 changes: 28 additions & 7 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# This config file for Travis CI utilizes ros-industrial/industrial_ci package.
# For more info for the package, see https://github.com/ros-industrial/industrial_ci/blob/master/README.rst

sudo: required
dist: trusty
language: cpp
Expand All @@ -7,18 +10,36 @@ os:

compiler:
- gcc
- clang


matrix:
include:
- bare_linux:
env: ROS_DISTRO="none"
- ros_indigo:
env: ROS_DISTRO="indigo"
- ros_kinetic:
env: ROS_DISTRO="kinetic"
fast_finish: true

before_install:
- sudo apt-get update && sudo apt-get --reinstall install -qq build-essential freeglut3-dev libxmu-dev libxi-dev
- sudo apt-get update && sudo apt-get --reinstall install -qq build-essential libzmqpp-dev
# GTest: see motivation here https://www.eriksmistad.no/getting-started-with-google-test-on-ubuntu/
- sudo apt-get --reinstall install -qq libgtest-dev cmake
- cd /usr/src/gtest
- sudo cmake CMakeLists.txt
- sudo make
- sudo cp *.a /usr/lib
- cd $TRAVIS_BUILD_DIR

install:
- if [ "$ROS_DISTRO" != "none" ]; then git clone https://github.com/ros-industrial/industrial_ci.git .ci_config; fi

before_script:
# Prepare build directory
- mkdir -p build

script:
# Build BTpp
- (cd build; cmake .. ;cmake --build . )
#Install BTpp
- (cd build; sudo make install)
- if [ "$ROS_DISTRO" = "none" ]; then (cd build; cmake .. ;cmake --build .; ./bin/behavior_tree_core_test); fi
- if [ "$ROS_DISTRO" != "none" ]; then (.ci_config/travis.sh); fi


202 changes: 202 additions & 0 deletions 3rdparty/flatbuffers/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@

Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2014 Google Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Loading