-
Notifications
You must be signed in to change notification settings - Fork 111
Add ik (inverse kinematic) library into the component list #524
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
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR integrates the IK (inverse kinematics) library as a new ESP-IDF component, setting up its metadata, build integration, and a usage example, and updates CI/workflows accordingly.
- Added SBOM and IDF component manifests, LICENSE, and README for iklib
- Configured CMake to fetch, patch, build, and link the ik submodule via ExternalProject
- Provided a “hello-ik” example and updated Git submodules plus upload/build CI rules
Reviewed Changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
iklib/sbom_iklib.yml | SBOM metadata for iklib |
iklib/patch/ik_patch.patch | Modified target_compile_options flags |
iklib/README.md | Added component README (needs title/badge corrections) |
iklib/CMakeLists.txt | Setup ExternalProject build, patch application |
iklib/examples/hello-ik/main/* | Example app manifest, source, and CMakeLists |
.gitmodules | Added iklib/ik submodule |
.github/workflows/upload_component.yml | Included iklib in upload pipeline |
.idf_build_apps.toml | Enabled example build test for iklib |
Comments suppressed due to low confidence (3)
iklib/README.md:1
- The title references JPEG-Turbo—update it to reflect the IK library (e.g.,
# IK for ESP-IDF
).
# Jpeg-turbo for ESP-IDF
iklib/README.md:3
- This badge points to libjpeg-turbo; replace it with the correct badge and URL for iklib.
[](https://components.espressif.com/components/espressif/libjpeg-turbo)
iklib/CMakeLists.txt:99
- The variable
deps
is never defined, so no dependencies will be linked. Consider usingCOMPONENT_REQUIRES
or definedeps
appropriately.
foreach(dep ${deps})
iklib/sbom_iklib.yml
Outdated
version: 1.1.0 | ||
cpe: cpe:1.1.0:a:iklib:iklib:{}:*:*:*:*:*:*:* | ||
supplier: 'Organization: iklib' | ||
description: IK is a inverse kinematic library |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Grammar nit: replace "a inverse" with "an inverse" for correct article usage.
description: IK is a inverse kinematic library | |
description: IK is an inverse kinematic library |
Copilot uses AI. Check for mistakes.
- $<$<BOOL:IK_PROFILING>:-pg -fno-omit-frame-pointer> | ||
+ -fno-strict-aliasing -ffast-math | ||
+ $<$<BOOL:IK_PROFILING>: -fno-omit-frame-pointer> | ||
> | ||
PRIVATE $<$<C_COMPILER_ID:Clang>: | ||
-W -Wall -Wextra -Werror -Wshadow -Wconversion -Wno-unused-parameter -Wno-conversion -Wno-implicit-fallthrough | ||
- -pedantic -pedantic-errors -fno-strict-aliasing -ffast-math | ||
- $<$<BOOL:IK_PROFILING>:-pg -fno-omit-frame-pointer> | ||
+ -fno-strict-aliasing -ffast-math | ||
+ $<$<BOOL:IK_PROFILING>: -fno-omit-frame-pointer> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Profiling mode no longer includes -pg
, which disables instrumentation; reintroduce -pg
inside the generator expression, e.g., $<$<BOOL:IK_PROFILING>:-pg -fno-omit-frame-pointer>
.
- $<$<BOOL:IK_PROFILING>:-pg -fno-omit-frame-pointer> | |
+ -fno-strict-aliasing -ffast-math | |
+ $<$<BOOL:IK_PROFILING>: -fno-omit-frame-pointer> | |
> | |
PRIVATE $<$<C_COMPILER_ID:Clang>: | |
-W -Wall -Wextra -Werror -Wshadow -Wconversion -Wno-unused-parameter -Wno-conversion -Wno-implicit-fallthrough | |
- -pedantic -pedantic-errors -fno-strict-aliasing -ffast-math | |
- $<$<BOOL:IK_PROFILING>:-pg -fno-omit-frame-pointer> | |
+ -fno-strict-aliasing -ffast-math | |
+ $<$<BOOL:IK_PROFILING>: -fno-omit-frame-pointer> | |
- $<$<BOOL:IK_PROFILING>:-pg -fno-omit-frame-pointer> | |
+ -fno-strict-aliasing -ffast-math | |
+ $<$<BOOL:IK_PROFILING>:-pg -fno-omit-frame-pointer> | |
> | |
PRIVATE $<$<C_COMPILER_ID:Clang>: | |
-W -Wall -Wextra -Werror -Wshadow -Wconversion -Wno-unused-parameter -Wno-conversion -Wno-implicit-fallthrough | |
- -pedantic -pedantic-errors -fno-strict-aliasing -ffast-math | |
- $<$<BOOL:IK_PROFILING>:-pg -fno-omit-frame-pointer> | |
+ -fno-strict-aliasing -ffast-math | |
+ $<$<BOOL:IK_PROFILING>:-pg -fno-omit-frame-pointer> |
Copilot uses AI. Check for mistakes.
- -pedantic -pedantic-errors -fno-strict-aliasing -ffast-math | ||
- $<$<BOOL:IK_PROFILING>:-pg -fno-omit-frame-pointer> | ||
+ -fno-strict-aliasing -ffast-math | ||
+ $<$<BOOL:IK_PROFILING>: -fno-omit-frame-pointer> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above for Clang: profiling flags omit -pg
. Add it back in the generator expression to enable profiling instrumentation.
+ $<$<BOOL:IK_PROFILING>: -fno-omit-frame-pointer> | |
+ $<$<BOOL:IK_PROFILING>:-pg -fno-omit-frame-pointer> |
Copilot uses AI. Check for mistakes.
iklib/README.md
Outdated
@@ -0,0 +1,12 @@ | |||
# Jpeg-turbo for ESP-IDF |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
jpeg-turbo ==> ik
+ -fno-strict-aliasing -ffast-math | ||
+ $<$<BOOL:IK_PROFILING>: -fno-omit-frame-pointer> | ||
> | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems like this library is not maintained anymore in the upstream? TheComet/ik#22 (comment)
Should we fork it and patch it in our fork? cc @igrr
BTW, this repo also provide a promising IK library: https://github.com/roboticslibrary/rl/blob/master/src/rl/mdl/InverseKinematics.h
@@ -0,0 +1,12 @@ | |||
# IK (Inverse Kinematic) library for ESP-IDF | |||
|
|||
[](https://components.espressif.com/components/espressif/libjpeg-turbo) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
jpeg->iklib
#include <stdio.h> | ||
#include <ik/ik.h> | ||
|
||
void app_main(void); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
void app_main(void); |
Checklist
url
field definedChange description
Add an Inverse Kinematic library as a component into the component list.
The component contain simple example.