Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page is an attempt at a general style of help for users. Since there is an essentially infinite set of tool combinations to use, we will supply a guide for each tool, written by an IHMC developer who uses that tool. Some pages may be a work in progress.

...

  1. Pick an operating system
    Ubuntu - Free, most compatible with robots
    Windows - Requires setting up long paths, installing redistributables, and setting Git's autocrlf to 'input'.
    macOS - our software isn't currently fully compatible with macOS
  2. Install all of the following: (follow installation guides in linked pages)
    1. Graphics driver. For Nvidia GPUs and SCS 1, the proprietary Nvidia driver is currently required.
      Otherwise you will get the error "Could not find GLX 1.3 config from peer info"
    2. Java
    3. Git - Setup your credentials. On Windows, make sure to set autocrlf to 'input'.
      It is recommended to install a GUI Client, like SmartGit.
      There is also a command line tool vcstool that can perform batch Git operations on groups of repositories.
    4. Gradle - Follow the "Installation" and "Configuration" sections.
  3. Choose and install an IDE:
    Follow the "Installation" and "Configuration" sections in one of the following.
    Make sure to setup the IHMC code formatter.
    1. IntelliJ
      More code navigation, refactoring, etc. tools
      Gradle script editor- Requires JAR manifest workaround on Windows
    2. Eclipse
      Faster compilation, quicker to launch simulations
      Fantastic multi-monitor support
      - Gradle files only editable via plain text
  4. Use Git to create a repository-group w/ IHMC Open Robotics Software

    Multiexcerpt
    MultiExcerptNameRepo group structure

    In your system home folder (or C:/ drive in Windows), create a repository-group.

    Option 1:

    Use repository-collections to clone a predefined set of repositories. If you are working on humanoids, use humanoids.repos .

    Option 2:

    Use Git to manually clone the repository group:

    1. Clone repository-group.
      You may name that repository-group folder something else, like "primary" or "secondary" which helps when you have more than one.
    2. Inside the repository-group folder, clone the repositories you need. See
      For just ihmc-open-robotics-software
      It should look like:
    repository-group
    ├── ihmc-open-robotics-software
    │   └── build.gradle
    │   └── gradle.properties
    │   └── settings.gradle
    ├── <other IHMC repositories as needed>
    ├── build.gradle
    ├── gradle.properties
    └── settings.gradle


    You may wish to clone more projects depending what you are working on. Atlas and Valkyrie simulations are included in Open Robotics Software but not their user interfaces.  Take a look at what repositories are available here: Repository Collections

    Note: If you clone any proprietary projects you will need to edit ~/.gradle/gradle.properties to contain the following:
    artifactoryUsername=yourcrowdusername
    artifactoryPassword=yourcrowdpassword
  5. Use your IDE to import the code you cloned
    When you import a Gradle project, the IDE is analyzing the Java build structure that Gradle comes up with and copying that configuration into the IDE's data structures as if you had painstakingly configured a new Java project manually using the IDE's UI.
    Perform the Import directly on the repository-group folder or the repository-group/build.gradle.kts file.
    Follow the "Importing Gradle Projects" section of your IDE's page.
    1. IntelliJ IDEA#ImportingGradleProjects
    2. Eclipse IDE#ImportingGradleProjects

  6. Multiexcerpt
    MultiExcerptNamenetworkConfig for IHMC
    Setup network configuration
    1. Reserve an IP address if necessary.
    2. Reserve a DDS domain ID.
    3. Run NetworkParametersCreator.java and save it.
    4. Don't forget to set the RTPSSubnet. (i.e. RTPSSubnet=10.100.1.34/24)


  7. To see if everything is working, run some sample simulations. For example SpringFlamingoSimulation.java or AtlasObstacleCourseDemo.java

...

General Troubleshooting

...