
Research
Malicious NuGet Packages Typosquat Nethereum to Exfiltrate Wallet Keys
The Socket Threat Research Team uncovered malicious NuGet packages typosquatting the popular Nethereum project to steal wallet keys.
us.ihmc:ihmc-avatar-interfaces-test
Advanced tools
Current develop status
Current release status
This software has been used to power a wide variety of humanoid robots. This includes
All of the software in IHMC Open Robotics Software is licensed under the Apache 2.0 license.
IHMC Open Robotics Software uses the Gradle build system, and requires JDK 17. We recommend working in IntelliJ.
See the following tutorials for installing and using IHMC Open Robotics Software:
Arch Linux will work fine for development. Other GNU/Linux distros will likely work, however largely untested. macOS is partially supported, but incomplete at this time.
To get set up, use our public Confluence pages: https://ihmcrobotics.atlassian.net/wiki/spaces/PUBLIC/overview
IHMC Open Robotics Software both depends on and is depended on by many other IHMC Robotics Libraries. A sampling of our other software depended on by this repository includes
Simulation Construction Set 2, our own simulation environment with built-in analysis tools: https://github.com/ihmcrobotics/simulation-construction-set-2
Simulation Construction Set, a deprecated simulation engine that's still used for base visualization
Euclid, an alternative vector/geometry library for Java with support for additional structures common in 3D geometry without needing vecmath or Java3D: https://github.com/ihmcrobotics/euclid
Mecano, a rigid-body dynamics library built on top of Euclid and EJML: https://github.com/ihmcrobotics/mecano
IHMC YoVariables, our core data structures tools that enable the time-series tracing and analysis of Simulation Construction Set: https://github.com/ihmcrobotics/ihmc-yovariables
JOctoMap, a Java implementation of OctoMap: https://github.com/ihmcrobotics/joctomap
IHMC Realtime, a library for enabling soft real-time threading for Java on Linux using the RT_PREEMPT patches: https://github.com/ihmcrobotics/ihmc-realtime
IHMC EtherCAT Master, a Java library using IHMC Realtime and Simple Open EtherCAT Master (SOEM) that makes it simple to start a software EtherCAT Master and pure Java data structures that map to EtherCAT Slave defintions: https://github.com/ihmcrobotics/ihmc-ethercat-master
IHMC Robot Data Logger, an application for logging yo variables.
IHMC Matrix Library
IHMC Convex Optimization, an implementation of a number of algorithms for solving convex optimization problems.
IHMC EKF
IHMC ROS2 Library, a lightweight implementation of the ROS2 communication protocol.
IHMC PubSub
IHMC Messager Kryo
IHMC Video Codecs
IHMC JavaFX Toolkit
IHMC Graphics Description
IHMC Commons
IHMC Native Library Loader
IHMC Log Tools
You can find all of our other repositories as well as the ones above at https://github.com/ihmcrobotics
We provide a ROS 2 API for many of the core components in our software stack. You can find the .msg definitions for use in your own projects in this project's ihmc-interfaces folder.
We have ROS 1 support via the ROS 2 ros1_bridge package.
You can find the ROS 1 message definitions and instructions on using the
ROS 1 Bridge here: https://github.com/ihmcrobotics/ihmc_msgs
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
repository, e.g. the $HOME/.m2 directory. These builds will be tagged with a
build "version" of "LOCAL" instead of an incrementing version number.
An example workflow for developing against a local clone of the software:
$HOME/.m2 repositoryTo publish jars to your local Maven repository:
$ cd /path/to/ihmc-open-robotics-software
$ gradle publishAll -PcompositeSearchHeight=0
To depend on the jars in your local Maven repository:
In this example we'll have a compile-time dependency of the locally built
Simulation Construction Set project. In the build.gradle of the project you wish to
have link against Simulation Construction Set:
repositories {
mavenLocal()
<your other repositories>
}
dependencies {
api("us.ihmc:simulation-construction-set:LOCAL") {
changing = true
}
}
To create a project that uses IHMC Open Robotics Software, your project hierarchy needs to take a particular form.
First be sure you have completed the section above titled "Clone repositories".
Next, create your project folder:
mkdir -p src/ihmc/my-project-a
Follow the project setup tutorial at https://github.com/ihmcrobotics/ihmc-build#quick-project-setup.
Your directory structure should now look something like:
src/ihmc
├── my-project-a
│ └── build.gradle.kts
│ └── gradle.properties
│ └── settings.gradle.kts
├── my-project-b
│ └── ...
├── ihmc-open-robotics-software
│ └── atlas
│ └── common-walking-control-modules
│ └── ...
├── my-multi-project-c
│ └── subproject-a
│ │ └── build.gradle.kts
│ └── subproject-b
│ └── build.gradle.kts
├── ...
├── build.gradle.kts
├── gradle.properties
└── settings.gradle.kts
If this is set up correctly, you will have applied the ihmc-build plugin
and use the dependency resolver methods exposed by the build extension.
Alternatively, you can manually identify dependencies on projects using the normal Gradle syntax for
project dependencies. A sample build.gradle dependency block:
/* Normal Gradle way */
dependencies {
api(project(":ihmc-open-robotics-software:ihmc-java-toolkit"))
testApi(project(":ihmc-open-robotics-software:ihmc-java-toolkit-test"))
}
/* ihmc-build way */
mainDependencies {
api("us.ihmc:ihmc-java-toolkit:source")
}
testDependencies {
api("us.ihmc:ihmc-java-toolkit-test:source")
}
FAQs
Unknown package
We found that us.ihmc:ihmc-avatar-interfaces-test demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
The Socket Threat Research Team uncovered malicious NuGet packages typosquatting the popular Nethereum project to steal wallet keys.

Product
A single platform for static analysis, secrets detection, container scanning, and CVE checks—built on trusted open source tools, ready to run out of the box.

Product
Socket is launching experimental protection for the Hugging Face ecosystem, scanning for malware and malicious payload injections inside model files to prevent silent AI supply chain attacks.