Skip to content

Commit cfae5f5

Browse files
authored
Merge branch 'master' into enhancement/brianhou/saver-enumflags
2 parents d30437f + 1d92d1c commit cfae5f5

File tree

252 files changed

+8004
-1419
lines changed

Some content is hidden

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

252 files changed

+8004
-1419
lines changed

CHANGELOG.md

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,35 +8,53 @@
88
* Fixed bug in StepSequence iterator: [#320](https://github.com/personalrobotics/aikido/pull/320)
99
* Cleaned up doxygen errors: [#357](https://github.com/personalrobotics/aikido/pull/357)
1010

11+
* Distance
12+
13+
* Added methods to rank configurations based on specified metric: [#423](https://github.com/personalrobotics/aikido/pull/423)
14+
15+
* State Space
16+
17+
* Refactored JointStateSpace and MetaSkeletonStateSpace: [#278](https://github.com/personalrobotics/aikido/pull/278)
18+
* Added methods for checking compatibility between DART objects and state spaces: [#315](https://github.com/personalrobotics/aikido/pull/315)
19+
* Added flags to MetaSkeletonStateSaver to specify what to save: [#339](https://github.com/personalrobotics/aikido/pull/339)
20+
* Fixed bug in the representation of SO(2) statespace: [#408](https://github.com/personalrobotics/aikido/pull/408)
21+
* Fixed const correctness of StateHandle::getState(): [#419](https://github.com/personalrobotics/aikido/pull/419)
22+
* Fixed hidden compose function (in-place version): [#421](https://github.com/personalrobotics/aikido/pull/421)
23+
* Added clone functionality to StateSpace: [#422](https://github.com/personalrobotics/aikido/pull/422)
24+
* Used const StateSpaces everywhere: [#429](https://github.com/personalrobotics/aikido/pull/429)
25+
1126
* Constraint
1227

1328
* Added SequentialSampleable: [#393](https://github.com/personalrobotics/aikido/pull/393)
1429

1530
* Control
1631

1732
* Fixed CollisionGroup bugs in Hand executors: [#299](https://github.com/personalrobotics/aikido/pull/299)
18-
* Rewrote executors for faster-than-realtime simulation: [#316](https://github.com/personalrobotics/aikido/pull/316)
33+
* Rewrote executors for faster-than-realtime simulation: [#316](https://github.com/personalrobotics/aikido/pull/316), [#450](https://github.com/personalrobotics/aikido/pull/450)
1934
* Introduced uniform and dart namespaces: [#342](https://github.com/personalrobotics/aikido/pull/342)
2035
* Removed Barrett-specific hand executors: [#380](https://github.com/personalrobotics/aikido/pull/380)
21-
22-
* State Space
23-
24-
* Refactored JointStateSpace and MetaSkeletonStateSpace: [#278](https://github.com/personalrobotics/aikido/pull/278)
25-
* Added methods for checking compatibility between DART objects and state spaces: [#315](https://github.com/personalrobotics/aikido/pull/315)
26-
* Added flags to MetaSkeletonStateSaver to specify what to save: [#339](https://github.com/personalrobotics/aikido/pull/339)
36+
* Supported canceling in-progress trajectories: [#400](https://github.com/personalrobotics/aikido/pull/400)
2737

2838
* Perception
2939

3040
* Added integrated PoseEstimatorModule: [#336](https://github.com/personalrobotics/aikido/pull/336)
41+
* Added voxel grid perception module: [#448](https://github.com/personalrobotics/aikido/pull/448)
42+
43+
* Trajectory
44+
45+
* Added B-spline trajectory: [#453](https://github.com/personalrobotics/aikido/pull/453)
3146

3247
* Planner
3348

49+
* Make all DART planners take MetaSkeleton, and add adapter for turning planners into DART planners: [#437](https://github.com/personalrobotics/aikido/pull/437)
3450
* Added parabolic timing for linear spline [#302](https://github.com/personalrobotics/aikido/pull/302), [#324](https://github.com/personalrobotics/aikido/pull/324)
3551
* Fixed step sequence iteration in VPF: [#303](https://github.com/personalrobotics/aikido/pull/303)
36-
* Refactored planning API: [#314](https://github.com/personalrobotics/aikido/pull/314), [#414](https://github.com/personalrobotics/aikido/pull/414)
52+
* Refactored planning API: [#314](https://github.com/personalrobotics/aikido/pull/314), [#414](https://github.com/personalrobotics/aikido/pull/414), [#426](https://github.com/personalrobotics/aikido/pull/426), [#432](https://github.com/personalrobotics/aikido/pull/432)
3753
* Added flags to WorldStateSaver to specify what to save: [#339](https://github.com/personalrobotics/aikido/pull/339)
3854
* Changed interface for TrajectoryPostProcessor: [#341](https://github.com/personalrobotics/aikido/pull/341)
3955
* Planning calls with InverseKinematicsSampleable constraints explicitly set MetaSkeleton to solve IK with: [#379](https://github.com/personalrobotics/aikido/pull/379)
56+
* Added a kinodynamic timer that generates a time-optimal smooth trajectory without completely stopping at each waypoint: [#443](https://github.com/personalrobotics/aikido/pull/443)
57+
* Fixed segmentation fault on 32-bit machines in vector-field planner: [#459](https://github.com/personalrobotics/aikido/pull/459)
4058

4159
* Robot
4260

@@ -50,6 +68,7 @@
5068

5169
* Fixed Eigen memory alignment issues on 32bit Ubuntu: [#368](https://github.com/personalrobotics/aikido/pull/368)
5270
* Defined optional dependencies: [#376](https://github.com/personalrobotics/aikido/pull/376)
71+
* Fixed compilation bug with Eigen 3.3.5: [#452](https://github.com/personalrobotics/aikido/pull/452)
5372

5473
### 0.2.0 (2018-01-09)
5574

@@ -63,6 +82,10 @@
6382
* Renamed NonColliding to CollisionFree: [#256](https://github.com/personalrobotics/aikido/pull/256)
6483
* Added TestableOutcome class: [#266](https://github.com/personalrobotics/aikido/pull/266)
6584

85+
* Control
86+
87+
* Added Instantaneous and Queued TrajectoryExecutors: [#259](https://github.com/personalrobotics/aikido/pull/259)
88+
6689
* Perception
6790

6891
* Added RcnnPoseModule: [#264](https://github.com/personalrobotics/aikido/pull/264)

CMakeLists.txt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,29 @@ include(FindPkgConfig)
126126

127127
find_package(Boost REQUIRED COMPONENTS filesystem)
128128

129-
find_package(DART 6.3.0 REQUIRED
129+
find_package(DART 6.6.0 REQUIRED
130130
COMPONENTS optimizer-nlopt utils
131131
OPTIONAL_COMPONENTS utils-urdf # for 'perception' target
132132
CONFIG
133133
)
134+
# Check if DART is built with octomap so that it supports VoxelGridShape
135+
include(CheckCXXSourceCompiles)
136+
set(CMAKE_REQUIRED_DEFINITIONS "")
137+
set(CMAKE_REQUIRED_FLAGS "-std=c++11")
138+
set(CMAKE_REQUIRED_INCLUDES ${DART_INCLUDE_DIRS})
139+
set(CMAKE_REQUIRED_LIBRARIES ${DART_LIBRARIES})
140+
check_cxx_source_compiles(
141+
"
142+
#include <dart/dart.hpp>
143+
int main()
144+
{
145+
auto voxel = new dart::dynamics::VoxelGridShape();
146+
delete voxel;
147+
return 0;
148+
}
149+
"
150+
DART_HAS_VOXELGRIDSHAPE
151+
)
134152

135153
find_package(ompl REQUIRED)
136154

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ $ sudo add-apt-repository ppa:fcl-debs/ppa
2828
$ sudo add-apt-repository ppa:dartsim/ppa
2929
$ sudo add-apt-repository ppa:personalrobotics/ppa
3030
$ sudo apt-get update
31-
$ sudo apt-get install libaikido0-all-dev
31+
$ sudo apt-get install libaikido-all-dev
3232
```
3333

3434
### On macOS using [Homebrew]
@@ -39,9 +39,9 @@ $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/inst
3939
# Add Homebrew tap for Personal Robotics Lab software
4040
$ brew tap personalrobotics/tap
4141
# Install AIKIDO
42-
$ brew install aikido0
42+
$ brew install aikido
4343
```
44-
> Note: While ROS seems to be [available on macOS](http://wiki.ros.org/indigo/Installation/OSX/Homebrew/Source), we haven't tested it with AIKIDO. For now, `brew install aikido0` installs AIKIDO without the ROS-dependent components.
44+
> Note: While ROS seems to be [available on macOS](http://wiki.ros.org/indigo/Installation/OSX/Homebrew/Source), we haven't tested it with AIKIDO. For now, `brew install aikido` installs AIKIDO without the ROS-dependent components.
4545
4646
## Building from Source
4747

cmake/FindEIGEN3.cmake

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Copyright (c) 2011-2018, The DART development contributors
2+
# All rights reserved.
3+
#
4+
# The list of contributors can be found at:
5+
# https://github.com/dartsim/dart/blob/master/LICENSE
6+
#
7+
# This file is provided under the "BSD-style" License
8+
9+
# Find Eigen
10+
#
11+
# This sets the following variables:
12+
# EIGEN3_FOUND
13+
# EIGEN3_INCLUDE_DIRS
14+
# EIGEN3_VERSION
15+
16+
find_package(PkgConfig QUIET)
17+
18+
# Check to see if pkgconfig is installed.
19+
pkg_check_modules(PC_EIGEN3 eigen3 QUIET)
20+
21+
# Include directories
22+
find_path(EIGEN3_INCLUDE_DIRS
23+
NAMES Eigen/Core
24+
PATHS "${CMAKE_INSTALL_PREFIX}/include"
25+
PATH_SUFFIXES eigen3 eigen)
26+
27+
# Version
28+
set(EIGEN3_VERSION ${PC_EIGEN3_VERSION})
29+
30+
# Set (NAME)_FOUND if all the variables and the version are satisfied.
31+
include(FindPackageHandleStandardArgs)
32+
find_package_handle_standard_args(EIGEN3
33+
FAIL_MESSAGE DEFAULT_MSG
34+
REQUIRED_VARS EIGEN3_INCLUDE_DIRS
35+
VERSION_VAR EIGEN3_VERSION)
36+

cmake/Findoctomap_ros.cmake

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Find octomap_ros
2+
#
3+
# This sets the following variables:
4+
# octomap_ros_FOUND
5+
# octomap_ros_INCLUDE_DIRS
6+
# octomap_ros_LIBRARIES
7+
# octomap_ros_VERSION
8+
9+
# Note: This find module is necessary because the config file imports "gtest",
10+
# "tests", and "run_tests" that conflict with the targets defined by Aikido.
11+
12+
find_package(PkgConfig QUIET REQUIRED)
13+
14+
# Check to see if pkgconfig is installed.
15+
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
16+
pkg_check_modules(PC_octomap_ros octomap_ros QUIET)
17+
18+
# Include directories
19+
find_path(octomap_ros_INCLUDE_DIRS
20+
NAMES octomap_ros/conversions.h
21+
HINTS ${PC_octomap_ros_INCLUDE_DIRS}
22+
)
23+
24+
# Libraries
25+
find_library(octomap_ros_LIBRARIES
26+
octomap_ros
27+
HINTS ${PC_octomap_ros_LIBRARY_DIRS}
28+
)
29+
30+
# Version
31+
set(octomap_ros_VERSION ${PC_octomap_ros_VERSION})
32+
33+
# Set (NAME)_FOUND if all the variables and the version are satisfied.
34+
include(FindPackageHandleStandardArgs)
35+
find_package_handle_standard_args(octomap_ros
36+
FOUND_VAR octomap_ros_FOUND
37+
FAIL_MESSAGE DEFAULT_MSG
38+
REQUIRED_VARS octomap_ros_INCLUDE_DIRS octomap_ros_LIBRARIES
39+
VERSION_VAR octomap_ros_VERSION
40+
)

0 commit comments

Comments
 (0)