Skip to content

Commit

Permalink
Release 0.11.0. Improves planning behavior. This release is only supp…
Browse files Browse the repository at this point in the history
…orted on Atlas.
  • Loading branch information
Operator Computer committed Jan 4, 2018
2 parents 7ce92dd + 33ba174 commit e2833ae
Show file tree
Hide file tree
Showing 5,121 changed files with 165,034 additions and 68,242 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
13 changes: 7 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,19 @@
/src/*/bin

# Top level directories in sub-projects
*/classes
*/bin
*/out
*/target
*/build
*/pit-reports
*/install
*/src/*/bin
*/src/*/build
*/src/*/out
*/Configurations

# directories to always ignore
**/classes
**/bin
**/out
**/build
**/.gradle
**/.project
**/.classpath
Expand All @@ -41,6 +42,8 @@
**/.LSOverride
**/.AppleDouble
**/pitest
**/pit-test
**/pit-reports
**/generated-src2


Expand Down Expand Up @@ -87,5 +90,3 @@
**/.apdisk
**/rebel.xml
**/generatedTestSuites/*TestSuite.java

!gradle/wrapper/gradle-wrapper.jar
116 changes: 38 additions & 78 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
# IHMC Open Robotics Software

### 0.11 Build Info
Build 4570
https://bamboo.ihmc.us/browse/LIBS-IHMCOPENROBOTICSSOFTWARE-1067

### Tested Platforms

#### Robots

- Atlas
* This release is fully tested on Atlas hardware. See 0.11 Release Notes for detailed results.

**This release DOES NOT support the Valkyrie hardware platform, as we do not have hardware to test on.**

#### Developers

We test all of our software on OS X 10.12 Sierra, Windows 7/8/10, and Ubuntu 14.04 and 16.04 LTS, Desktop and Server. It is likely to work on other platforms but
not necessarily tested.

Expand All @@ -23,19 +37,10 @@ repositories {
maven {
url "http://dl.bintray.com/ihmcrobotics/maven-release" // IHMC Code releases
}
maven {
url "http://dl.bintray.com/ihmcrobotics/maven-vendor" // Third-party libraries that we have vendored for various reasons
}
/* Artifactory instance hosted at IHMC for some legacy vendored
* dependencies without live source access that can't be uploaded
* to Bintray.
*/
maven {
url "https://artifactory.ihmc.us/artifactory/thirdparty/"
}
/* You will also need to add either jcenter() or mavenCentral() or both, depending on your preference */
}
```
Expand All @@ -46,16 +51,13 @@ repositories {
*IHMC Open Robotics Software* uses the [Gradle](https://gradle.org) build system, and requires JDK 8 with JavaFX. We also strongly suggest an IDE, either Eclipse Mars.1
or IntelliJ IDEA 15+ (Ultimate or Community is fine). Currently, we require **Gradle 4.1+**. We provide a versioned [Gradle wrapper](https://docs.gradle.org/current/userguide/gradle_wrapper.html)
for getting started quickly. The Gradle wrapper will always reflect the minimum version of Gradle required to build the software; if we adopt features only present
in newer versions of Gradle as they are release we will update the wrapper. You can also install Gradle system-wide:
in newer versions of Gradle as they are release we will update the wrapper. You can also install Gradle system-wide (local installation):

* *OS X*: The latest Gradle is available via [Homebrew](https://github.com/homebrew/homebrew)
* *Ubuntu*: The version pre-packaged with Ubuntu is woefully out of date. You will need to add [this PPA](https://launchpad.net/~cwchien/+archive/ubuntu/gradle)
* *Windows*: Consult the official Gradle documentation installation instructions.
Installing Gradle: https://gradle.org/install/

#### IDE Support
Our Gradle models are tested in IntelliJ IDEA 15+ (both Community and Ultimate) with the built-in Gradle integration, and Eclipse Mars.1 or higher with the Buildship
plugin. The Buildship plugin is bundled with the Eclipse IDE for Java Developers as of Mars.1 (but *not* Java EE Developers), or it can be downloaded from the Eclipse
Marketplace in other versions of Eclipse.
Our Gradle models are tested in IntelliJ IDEA 2017.3+ (both Community and Ultimate) with the Gradle plugin.
Eclipse Oxygen+ or higher with the Buildship plugin. The Buildship plugin is bundled with the Eclipse IDE for Java Developers (but *not* Java EE Developers). It can always be manually installed to any version of Eclipse using the [installation instructions] (https://github.com/eclipse/buildship/blob/master/docs/user/Installation.md).

#### Building .jars
*IHMC Open Robotics Software* is pre-configured for generating Maven publications. You can publish directly from the source code right in to your local Maven
Expand All @@ -70,7 +72,7 @@ An example workflow for developing against a local clone of the software:
**To publish jars to your local Maven repository:**
```bash
$ cd /path/to/ihmc-open-robotics-software
$ ./gradlew publishAllToMavenLocal
$ ./gradlew compositeTask -PtaskName=publishToMavenLocal -PdepthFromWorkspaceDirectory=0 -PpublishMode=STABLE
```

**To depend on the jars in your local Maven repository:**
Expand All @@ -91,8 +93,11 @@ dependencies {

#### Depending directly on the source
For *IHMC Open Robotics Software* and [ihmc-build](https://github.com/ihmcrobotics/ihmc-build) to work correctly when depending directly on the source, your
project hierarchy needs to take a particular form. In your system home folder, create a directory called `ihmc-workspace`.Inside that directory, this repo and
create the files `build.gradle`, `settings.gradle`, `gradle.properties`. This is also the directory where you'll put any of your own projects that need to depend
project hierarchy needs to take a particular form.

1. In your system home folder (or C:/ drive in Windows), create a directory called `ihmc-workspace`.
1. Initialize the `ihmc-workspace` directory as an IHMC repository group using the "Convert an existing project group" instructions in [this README] (https://github.com/ihmcrobotics/repository-group).
1. This is also the directory where you'll put any of your own projects that need to depend
on IHMC source code. Your directory structure should look something like:

```
Expand All @@ -112,64 +117,6 @@ ihmc-workspace
└── ...
```

Copy the following text into the `build.gradle` in your `ihmc-workspace` directory:

```gradle
buildscript {
repositories {
maven { url "https://plugins.gradle.org/m2/" }
mavenLocal()
jcenter()
}
dependencies {
classpath "gradle.plugin.us.ihmc:ihmc-build:0.9.5"
}
}
apply plugin: "us.ihmc.ihmc-build"
```

Copy the following text into the `settings.gradle` in your `ihmc-workspace` directory:

```gradle
buildscript {
repositories {
maven { url "https://plugins.gradle.org/m2/" }
mavenLocal()
}
dependencies {
classpath "gradle.plugin.us.ihmc:ihmc-build:0.9.5"
}
}
import us.ihmc.build.IHMCSettingsConfigurator
def ihmcSettingsConfigurator = new IHMCSettingsConfigurator(settings, logger, ext)
ihmcSettingsConfigurator.configureProjectName(hyphenatedName) // rootProject.name = hyphenatedName
ihmcSettingsConfigurator.configureAsGroupOfProjects() // isProjectGroup = true
if (Boolean.valueOf(includeBuildsFromWorkspace))
{
ihmcSettingsConfigurator.findAndIncludeCompositeBuilds() // Search workspace and `includeBuild` matches
}
```

Copy the following text into the `gradle.properties` in your `ihmc-workspace` directory:

```gradle
isProjectGroup = true
hyphenatedName = ihmc-robotics
pascalCasedName = IHMCRobotics
publishMode = SNAPSHOT
groupDependencyVersion = SNAPSHOT-LATEST
depthFromWorkspaceDirectory = 0
includeBuildsFromWorkspace = true
excludeFromCompositeBuild = false
artifactoryUsername = unset_username
artifactoryPassword = unset_password
bintray_user = unset_user
bintray_key = unset_key
```

If this is set up correctly, you can either apply the `ihmc-build` plugin from the [Plugin portal](https://plugins.gradle.org/plugin/us.ihmc.gradle.ihmc-build)
and use the dependency resolver methods exposed by the build extensions, or you can manually identify dependencies on projects using the normal Gradle syntax for
project dependencies. A sample build.gradle dependency block:
Expand All @@ -182,6 +129,19 @@ dependencies {
/* OR */
mainDependencies {
compile compile group: "us.ihmc", name: "ihmc-java-toolkit", version: groupDependencyVersion // ihmc-build way of doing things
compile group: "us.ihmc", name: "ihmc-java-toolkit", version: "source" // ihmc-build way of doing things
}
```

## Support

Chat support is provided via the IHMC Robotics Slack on the #help-desk channel.

## Maintainers

Duncan Calvert (dcalvert@ihmc.us)
Doug Stephen (dstephen@ihmc.us)
Stephen McCrory (smcrory@ihmc.us)
Sylvain Bertrand (sbertrand@ihmc.us)
Georg Wiedebach (gwiedebach@ihmc.us)
Robert Griffin (rgriffin@ihmc.us)
19 changes: 8 additions & 11 deletions acsell/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ buildscript {
mavenLocal()
}
dependencies {
classpath "gradle.plugin.us.ihmc:ihmc-build:0.9.5"
classpath "us.ihmc:ihmc-build:0.12.1"
classpath "org.hidetake:gradle-ssh-plugin:2.9.0"
}
}
Expand All @@ -25,19 +25,17 @@ testSuites {
}

mainDependencies {
compile group: 'us.ihmc', name: 'euclid-core', version: '0.4.6'
compile group: 'us.ihmc', name: 'euclid-core', version: '0.4.13'
compile group: 'us.ihmc', name: 'IHMCRealtime', version: '1.1.8'
compile group: 'us.ihmc', name: 'ihmc-yovariables', version: '0.2.4'
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.4'
compile group: 'us.ihmc', name: 'ihmc-yovariables', version: '0.2.6'
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.7'
compile group: 'us.ihmc.thirdparty.jinput', name: 'jinput', version: '160414'
compile group: 'org.ejml', name: 'dense64', version: '0.30'
compile group: 'org.ejml', name: 'core', version: '0.30'
compile group: 'us.ihmc.thirdparty.jme', name: 'jme3-core', version: '3.1.0-internal4'
compile group: 'com.martiansoftware', name: 'jsap', version: '2.1'
compile group: 'org.bidib.jbidib.org.qbang.rxtx', name: 'rxtxcomm', version: '2.2'
compile group: 'us.ihmc', name: 'ihmc-commons', version: '0.11.2'
compile group: "us.ihmc", name: "ihmc-commons", version: "0.17.0"
compile group: "us.ihmc", name: "ihmc-communication", version: groupDependencyVersion
compile group: "us.ihmc", name: "ihmc-java-extensions", version: groupDependencyVersion
compile group: "us.ihmc", name: "ihmc-humanoid-robotics", version: groupDependencyVersion
compile group: "us.ihmc", name: "ihmc-state-estimation", version: groupDependencyVersion
compile group: "us.ihmc", name: "ihmc-common-walking-control-modules", version: groupDependencyVersion
Expand All @@ -58,12 +56,11 @@ mainDependencies {
}

testDependencies {
compile group: 'junit', name: 'junit', version: '4.11'
compile group: "us.ihmc", name: "ihmc-ci-core-api", version: "0.16.8"
compile group: 'us.ihmc', name: 'ihmc-commons-testing', version: '0.11.2'
compile group: "junit", name: "junit", version: "4.12"
compile group: "us.ihmc", name: "ihmc-ci-core-api", version: "0.17.0"
compile group: "us.ihmc", name: "ihmc-commons-testing", version: "0.17.0"
compile group: "us.ihmc", name: "ihmc-avatar-interfaces-test", version: groupDependencyVersion
compile group: "us.ihmc", name: "ihmc-robotics-toolkit-test", version: groupDependencyVersion
compile group: "us.ihmc", name: "ihmc-java-extensions-test", version: groupDependencyVersion
}

if (ihmc.isBuildRoot())
Expand Down
9 changes: 2 additions & 7 deletions acsell/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,15 +1,10 @@
hyphenatedName = acsell
kebabCasedName = acsell
pascalCasedName = Acsell
extraSourceSets = ["test"]
publishMode = SNAPSHOT
groupDependencyVersion = SNAPSHOT-LATEST
groupDependencyVersion = source
depthFromWorkspaceDirectory = 2
excludeFromCompositeBuild = false
includeBuildsFromWorkspace = true
artifactoryUsername = unset_username
artifactoryPassword = unset_password
bintray_user = unset_user
bintray_key = unset_key
steppr_username = unset_username
steppr_password = unset_password
wanderer_username = unset_password
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -192,13 +192,13 @@ diag
<Title>
General
</Title>
<Entry Boxes>enableOutput,startStandprep,selectedJointPair,requestedHighLevelState,manualModeICPOffset,jointVelocityAlphaFilter</Entry Boxes>
<Entry Boxes>enableOutput,startStandprep,selectedJointPair,requestedHighLevelControllerName,manualModeICPOffset,jointVelocityAlphaFilter</Entry Boxes>
</EntryBoxTab>
<EntryBoxTab>
<Title>
UserStep
</Title>
<Entry Boxes>userStepsToTake,userStepFirstSide,userStepLength,userStepWidth,userStepsTakeEm,kpPelvisOrientation,kpXYLinearSwingFoot,kpZLinearSwingFoot,kpXYAngularSwingFoot,kpZAngularSwingFoot,swingTime,kpChestOrientation,captureKpParallel,captureKpOrthogonal,zetaPelvisOrientation,transferTime,r_leg_knymotorDamping,enableOutput,startStandprep,selectedJointPair,requestedHighLevelState,manualModeICPOffset,jointVelocityAlphaFilter,userStepSideways,kpCoMHeight,zetaCoMHeight,userStepYaw</Entry Boxes>
<Entry Boxes>userStepsToTake,userStepFirstSide,userStepLength,userStepWidth,userStepsTakeEm,kpPelvisOrientation,kpXYLinearSwingFoot,kpZLinearSwingFoot,kpXYAngularSwingFoot,kpZAngularSwingFoot,swingTime,kpChestOrientation,captureKpParallel,captureKpOrthogonal,zetaPelvisOrientation,transferTime,r_leg_knymotorDamping,enableOutput,startStandprep,selectedJointPair,requestedHighLevelControllerName,manualModeICPOffset,jointVelocityAlphaFilter,userStepSideways,kpCoMHeight,zetaCoMHeight,userStepYaw</Entry Boxes>
</EntryBoxTab>
<EntryBoxTab>
<Title>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<Title>
Tab
</Title>
<Entry Boxes>enableOutput,startStandprep,requestedHighLevelState,controlRatio</Entry Boxes>
<Entry Boxes>enableOutput,startStandprep,requestedHighLevelControllerName,controlRatio</Entry Boxes>
</EntryBoxTab>
</Entry Boxes Tab Pane>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ ToeOff
<Title>
Tab6
</Title>
<Entry Boxes>torsoXActuatorMotorAngleOffset,torsoYActuatorMotorAngleOffset,walkingState,sow_walkingState,requestedHighLevelState,highLevelState,enableOutput,torsoZActuatorMotorAngleOffset</Entry Boxes>
<Entry Boxes>torsoXActuatorMotorAngleOffset,torsoYActuatorMotorAngleOffset,walkingState,sow_walkingState,requestedHighLevelControllerName,highLevelControllerName,enableOutput,torsoZActuatorMotorAngleOffset</Entry Boxes>
</EntryBoxTab>
<EntryBoxTab>
<Title>
Expand Down
9 changes: 9 additions & 0 deletions acsell/saved-configurations/defaultREAModuleConfiguration.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#
#Tue Oct 10 11:32:49 CDT 2017
REA/Module/Lidar/Range/Max=5.0
REA/Module/Lidar/Range/Min=0.2
REA/Module/NormalEstimation/Enable=true
REA/Module/NormalEstimation/Parameters=search radius\: 0.08, max distance from plane\: 0.02, min consensus ratio\: 0.5, max average deviation ratio\: 0.75, number of iterations\: 1, least squares estimation\: true
REA/Module/OcTree/BoundingBox/Enable=true
REA/Module/OcTree/BoundingBox/Parameters=min\: (-1.0, -2.0, -3.0), max\: (5.0, 2.0, 0.5)
REA/Module/OcTree/Enable=true
3 changes: 3 additions & 0 deletions acsell/saved-configurations/defaultREAUIConfiguration.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#
#Tue Oct 10 11:32:49 CDT 2017
REA/UserInterface/OcTree/BoundingBox/Show=false
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ Tab1
<Title>
Tab2
</Title>
<Entry Boxes>requestedHighLevelState,kpXYLinearSwingFoot,kdXYLinearSwingFoot,zetaLinearSwingFoot,kpZLinearSwingFoot,zetaXYAngularSwingFoot,zetaZAngularSwingFoot,torsoYActuatorMotorAngleOffset</Entry Boxes>
<Entry Boxes>requestedHighLevelControllerName,kpXYLinearSwingFoot,kdXYLinearSwingFoot,zetaLinearSwingFoot,kpZLinearSwingFoot,zetaXYAngularSwingFoot,zetaZAngularSwingFoot,torsoYActuatorMotorAngleOffset</Entry Boxes>
</EntryBoxTab>
<EntryBoxTab>
<Title>
Expand Down
45 changes: 4 additions & 41 deletions acsell/settings.gradle
Original file line number Diff line number Diff line change
@@ -1,42 +1,10 @@
/**
* This file performs the following 2 operations:
*
* Setup source sets as projects to correct inconsistent classpaths
* across IDEs and Gradle. From "extraSourceSets" property.
*
* Parse this project's build.gradle for dependencies in group "us.ihmc"
* and recursively search for those builds on disk and include them as
* composite builds.
*
* This file is needed until Gradle implements the following features:
* - Allow nested composite builds (https://github.com/gradle/gradle/issues/1909)
*
* THIS FILE IS AUTO-GENERATED BY THE IHMC BUILD GRADLE PLUGIN
* To disable auto-generation, set "disableSettingsGeneration = true"
* in the gradle.properties file.
*
* Required properties:
*
* hyphenatedName = your-project-hyphenated
* pascalCasedName = YourProjectPascalCased
* extraSourceSets = [] (ex. ["test", "visualizers"]
* publishMode = SNAPSHOT (default)
* depthFromWorkspaceDirectory = 1 (default)
* includeBuildsFromWorkspace = true (default)
* excludeFromCompositeBuild = false (default)
*
* Optional properties:
*
* useLegacySourceSets = false (does not work yet)
*/

buildscript {
repositories {
maven { url "https://plugins.gradle.org/m2/" }
mavenLocal()
}
dependencies {
classpath "gradle.plugin.us.ihmc:ihmc-build:0.9.5"
classpath "us.ihmc:ihmc-build:0.12.1"
}
}

Expand All @@ -46,11 +14,6 @@ import us.ihmc.build.IHMCSettingsConfigurator
* Browse source at https://github.com/ihmcrobotics/ihmc-build
*/
def ihmcSettingsConfigurator = new IHMCSettingsConfigurator(settings, logger, ext)
ihmcSettingsConfigurator.checkRequiredPropertiesAreSet() // Give friendly errors for unset properties
ihmcSettingsConfigurator.configureProjectName(hyphenatedName) // rootProject.name = hyphenatedName
ihmcSettingsConfigurator.configureExtraSourceSets(extraSourceSets) // Setup source sets to be multi-project subprojects

if (Boolean.valueOf(includeBuildsFromWorkspace))
{
ihmcSettingsConfigurator.findAndIncludeCompositeBuilds() // Search workspace and `includeBuild` matches
}
ihmcSettingsConfigurator.checkRequiredPropertiesAreSet()
ihmcSettingsConfigurator.configureExtraSourceSets()
ihmcSettingsConfigurator.findAndIncludeCompositeBuilds()
Loading

0 comments on commit e2833ae

Please sign in to comment.