Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.stl filter=lfs diff=lfs merge=lfs -text
.obj filter=lfs diff=lfs merge=lfs -text
4 changes: 0 additions & 4 deletions .github/workflows/py.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,6 @@ jobs:
run: python -m pip install -r requirements_dev.txt
- name: Install wheel
run: python -m pip install wheel
- name: Download the models using cmake
env:
MODEL_TOKEN: ${{ secrets.MODEL_TOKEN }}
run: cmake -G Ninja -B build -DINCLUDE_UTN_MODELS=ON -DGITLAB_MODELS_TOKEN="$MODEL_TOKEN" -DMUJOCO_VERSION=3.1.5
- name: Install the package
run: python -m pip install --no-build-isolation .
- name: Code linting
Expand Down
18 changes: 0 additions & 18 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,6 @@ set(RL_BUILD_EXTRAS OFF)
set(BUILD_PYTHON_INTERFACE OFF)
set(BUILD_DOCUMENTATION OFF)

option(INCLUDE_UTN_MODELS "Whether to include the private UTN models. Requires GITLAB_MODELS_TOKEN to be set to a valid token wit read_api permissions" OFF)

include(FetchContent)

find_package(Eigen3 REQUIRED)
Expand Down Expand Up @@ -94,22 +92,6 @@ target_link_libraries(mujoco_ui_lib MuJoCo::MuJoCo glfw)
target_include_directories(mujoco_ui_lib INTERFACE ${MuJoCo_UI_DIR})

FetchContent_MakeAvailable(libfranka rl pybind11)

if (${INCLUDE_UTN_MODELS})
if (DEFINED GITLAB_MODELS_TOKEN)
include(download_scenes)
set(ref 055a6fdab480dde8443030236012f76d9be90918)
FetchContent_Declare(
scenes
URL "https://gitos.rrze.fau.de/api/v4/projects/1100/repository/archive?path=scenes&sha=${ref}"
HTTP_HEADER "PRIVATE-TOKEN: ${GITLAB_MODELS_TOKEN}"
)
FetchContent_MakeAvailable(scenes)
resolve_symlinks(${ref})
else()
message(FATAL_ERROR "GITLAB_MODELS_TOKEN missing. Not including lab scene")
endif()
endif()
include(compile_scenes)

add_subdirectory(src)
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ cpplint:
gcccompile:
pip install --upgrade --requirement requirements_dev.txt
cmake -DCMAKE_BUILD_TYPE=${COMPILE_MODE} -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -B build -G Ninja
cmake --build build
cmake --build build --target _core franka

clangcompile:
pip install --upgrade --requirement requirements_dev.txt
cmake -DCMAKE_BUILD_TYPE=${COMPILE_MODE} -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -B build -G Ninja
cmake --build build
cmake --build build --target _core franka

# Auto generation of CPP binding stub files
stubgen:
Expand Down
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,6 @@ source .venv/bin/activate
pip install -r requirements_dev.txt
pip config --site set global.no-build-isolation false
```
2.5 (optional) include UTN models if you have an access token
```shell
pip config --site set install.config-settings "cmake.args=-DINCLUDE_UTN_MODELS=ON;-DGITLAB_MODELS_TOKEN=<token>"
```
3. Build and install RCS:
```shell
pip install -ve .
Expand Down
60 changes: 60 additions & 0 deletions assets/cameras/real_sense/mjcf/d435i.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<mujoco model="d435i">
<compiler meshdir="../obj" fitaabb="true"/>

<visual>
<global azimuth="90" elevation="-90"/>
</visual>

<default>
<default class="d435i">
<material specular="0" shininess="0.25"/>
<default class="visual">
<geom group="2" type="mesh" contype="0" conaffinity="0" mass="0"/>
</default>
<default class="collision">
<geom group="3" type="mesh" mass="0"/>
</default>
</default>
</default>

<asset>
<material class="d435i" name="Black_Acrylic" rgba="0.070360 0.070360 0.070360 1"/>
<material class="d435i" name="Cameras_Gray" rgba="0.296138 0.296138 0.296138 1"/>
<material class="d435i" name="IR_Emitter_Lens" rgba="0.287440 0.665387 0.327778 1"/>
<material class="d435i" name="IR_Lens" rgba="0.035601 0.035601 0.035601 1"/>
<material class="d435i" name="IR_Rim" rgba="0.799102 0.806952 0.799103 1"/>
<material class="d435i" name="Metal_Casing" rgba="1 1 1 1"/>
<material class="d435i" name="RGB_Pupil" rgba="0.087140 0.002866 0.009346 1"/>

<mesh file="d435i_0.obj"/>
<mesh file="d435i_1.obj"/>
<mesh file="d435i_2.obj"/>
<mesh file="d435i_3.obj"/>
<mesh file="d435i_4.obj"/>
<mesh file="d435i_5.obj"/>
<mesh file="d435i_6.obj"/>
<mesh file="d435i_7.obj"/>
<mesh file="d435i_8.obj"/>
</asset>

<worldbody>
<light pos="0 0 1.5" dir="0 0 -1" directional="true"/>
<body name="d435i" childclass="d435i">
<geom mesh="d435i_0" material="IR_Lens" class="visual"/>
<geom mesh="d435i_1" material="IR_Emitter_Lens" class="visual"/>
<geom mesh="d435i_2" material="IR_Rim" class="visual"/>
<geom mesh="d435i_3" material="IR_Lens" class="visual"/>
<geom mesh="d435i_4" material="Cameras_Gray" class="visual"/>
<geom mesh="d435i_5" material="Black_Acrylic" class="visual"/>
<geom mesh="d435i_6" material="Black_Acrylic" class="visual"/>
<geom mesh="d435i_7" material="RGB_Pupil" class="visual"/>
<geom mesh="d435i_8" mass="0.072" material="Metal_Casing" class="visual"/>
<geom class="collision" type="capsule" mesh="d435i_8"/>
<!-- camera offset can be lookup on the datasheet on page 96: https://www.intelrealsense.com/wp-content/uploads/2024/10/Intel-RealSense-D400-Series-Datasheet-October-2024.pdf -->
<camera name="wrist_0" mode="fixed" pos="0.0325 0 0" euler="0 180 0" resolution="1920 1080"/>
<!-- <body pos="0.0325 0 0">
<geom type="sphere" size="0.01" rgba="1 1 0 1" />
</body> -->
</body>
</worldbody>
</mujoco>
Loading