Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
442 commits
Select commit Hold shift + click to select a range
ed05294
Update run_python.shell
shxingch Aug 9, 2024
bb93e68
Update run_python.shell
shxingch Aug 9, 2024
da86334
Update run_docker.shell
shxingch Aug 9, 2024
18cbbf5
Update dockerfile
shxingch Aug 9, 2024
dbc36ea
Update dockerfile
shxingch Aug 9, 2024
3cc3e13
Update run_python.shell
shxingch Aug 9, 2024
03cbb64
Update run_docker.shell
shxingch Aug 9, 2024
336335f
update docs
shxingch Aug 9, 2024
785c49f
update
shxingch Aug 9, 2024
e887242
Update custom.css
shxingch Aug 9, 2024
36d64b6
Update submission.rst
YoruCathy Aug 9, 2024
dc5854f
Update submission.rst
shxingch Aug 9, 2024
15743ea
Format submission.rst
YoruCathy Aug 9, 2024
c082e8b
Update submission.rst
YoruCathy Aug 9, 2024
f596cf5
Delete docs/installation.rst
YoruCathy Aug 9, 2024
d114634
Update submission.rst
YoruCathy Aug 9, 2024
b9482ae
Update submission.rst
YoruCathy Aug 9, 2024
eca64ce
Update submission.rst
shxingch Aug 9, 2024
b5793c5
update
shxingch Aug 9, 2024
e9cfea6
Update submission.rst
shxingch Aug 9, 2024
6eeb02b
Update README.md
shxingch Aug 9, 2024
ec432c8
fix bugs
shxingch Aug 9, 2024
27295e1
Update submission.rst
shxingch Aug 9, 2024
15bce90
Delete example_save_obj.py
shxingch Aug 9, 2024
63cc60a
update Bathing exe
shxingch Aug 9, 2024
8a62ff7
delete segfault examples
shxingch Aug 9, 2024
f769152
Add segfault script & comments
shxingch Aug 10, 2024
de60d0f
some fixes
shxingch Aug 10, 2024
a13ecb0
Update example_camera_image.py
shxingch Aug 10, 2024
5a70beb
fix bugs
shxingch Aug 10, 2024
bd4e239
fix prints
shxingch Aug 10, 2024
92d6034
Update submission.rst
shxingch Aug 10, 2024
f11b5b5
Update submission.rst
shxingch Aug 10, 2024
883b57d
Update submission.rst
shxingch Aug 10, 2024
d309110
update Dressing Player to Obi7
shxingch Aug 12, 2024
30d03bf
Update README.md
shxingch Aug 12, 2024
6fb8fc5
fix gripper api in dressing player
shxingch Aug 14, 2024
9812740
Update .gitignore
shxingch Aug 14, 2024
d60a388
Merge branch 'phy-robo-care' of https://github.com/empriselab/RCareWo…
shxingch Aug 14, 2024
8b5759c
add first pytest unit tests (#100)
tomsilver Aug 19, 2024
919309f
Update README.md
YoruCathy Aug 19, 2024
399dbae
start camera tests
tomsilver Aug 19, 2024
7558bb6
wip
tomsilver Aug 19, 2024
cbcc544
Updated cube threshold to 10 cm.
YoruCathy Aug 22, 2024
c4bdf89
fix interpolation utils
YoruCathy Aug 22, 2024
ebfcf0f
update Dressing Plater
shxingch Aug 26, 2024
ba362ab
update Dressing Player
shxingch Aug 26, 2024
f096077
update Bathing
shxingch Aug 26, 2024
5866e47
update Dressing Player
shxingch Aug 27, 2024
a1e1439
Update README.md
YoruCathy Aug 28, 2024
980e264
start tests for move commands
tomsilver Aug 28, 2024
7d7164f
Merge branch 'phy-robo-care' of https://github.com/empriselab/RCareWo…
tomsilver Aug 28, 2024
27de81b
convert degrees to radians
tomsilver Aug 28, 2024
5ef3004
fix Stretch 3 Move problem
shxingch Aug 29, 2024
1a333b2
fix Dressing Camera bug
shxingch Aug 29, 2024
18b690d
update robot move
shxingch Aug 30, 2024
0953f70
fix player bug
shxingch Aug 30, 2024
5b6dcc2
update Dressing Gripper
shxingch Aug 31, 2024
bc39f08
update bathing
shxingch Aug 31, 2024
20aebe4
update robotmovement
shxingch Aug 31, 2024
16f7058
update bathing
shxingch Aug 31, 2024
c465ea5
update Dressing Main camera Position
shxingch Aug 31, 2024
59eda59
update bathing move
shxingch Aug 31, 2024
b7354cc
Update test_bathing.py
shxingch Aug 31, 2024
f628076
update kinova gripper
shxingch Aug 31, 2024
a1f855f
fix bug
shxingch Aug 31, 2024
bbc325f
update bathing example code
shxingch Aug 31, 2024
252b305
fix stretch tensor
shxingch Aug 31, 2024
48aad59
Update test_bathing.py
shxingch Sep 1, 2024
af20a19
fix kinova cloth grasper
shxingch Sep 1, 2024
a6890a8
Update test_dressing.py
shxingch Sep 2, 2024
497fd78
upgrade cloth parameters
shxingch Sep 3, 2024
c3753d3
Merge branch 'phy-robo-care' of https://github.com/empriselab/RCareWo…
tomsilver Sep 3, 2024
3fea58e
update tests in progress
tomsilver Sep 3, 2024
130db31
finish test
tomsilver Sep 3, 2024
c7f4a7c
Merge pull request #108 from tomsilver/bathing-move-tests
YoruCathy Sep 4, 2024
2d20c58
fix camera issues
shxingch Sep 7, 2024
3635052
Update controller_attr.py
shxingch Sep 7, 2024
25c9eab
fix getbox bug
shxingch Sep 7, 2024
5c26911
fix bathing stretch move & update dressing_env
shxingch Sep 14, 2024
0d533fd
Merge pull request #117 from alkdischen/phy-robo-care
YoruCathy Sep 14, 2024
c1ada55
delete grasp_detection_attr
shxingch Sep 16, 2024
8dc1c95
Update __init__.py
shxingch Sep 16, 2024
6f0b816
Merge pull request #119 from alkdischen/phy-robo-care
YoruCathy Sep 16, 2024
8e33998
Add tests for angle functions
thisjustin123 Sep 19, 2024
e28119c
Unit tests for mesh particles for dressing env
YoruCathy Sep 19, 2024
dba5a12
Fix tested degrees in `test_bathing_env.py`
thisjustin123 Sep 19, 2024
0eb1ad6
Merge pull request #123 from empriselab/ruolin/unit-test-mesh-particles
YoruCathy Sep 19, 2024
2f215f0
Adjust turn speed for new turning logic
thisjustin123 Oct 7, 2024
d558861
Reduce assets file size
thisjustin123 Oct 8, 2024
508c9d5
Make executable +x
thisjustin123 Oct 8, 2024
bb6f544
Added Stretch movement fix.
YoruCathy Oct 10, 2024
f6953ef
Run all tests
YoruCathy Oct 10, 2024
bcefa67
Merge pull request #129 from empriselab/ruolin/fix-bathing
YoruCathy Oct 10, 2024
661b228
Fix backend and add tests for collision
thisjustin123 Oct 12, 2024
6ee889c
Replace scene with collision pairs fixed
thisjustin123 Oct 14, 2024
1a414ef
Add new fixed sponge force scripts
thisjustin123 Oct 15, 2024
e96d67b
Update executable with fixed sponge
thisjustin123 Oct 15, 2024
c723a80
Fix sponge grasp config in scene
thisjustin123 Oct 15, 2024
4a10d87
Fix missing texture
thisjustin123 Oct 15, 2024
8c2b42e
Added argparse to enable graphics
YoruCathy Oct 15, 2024
7cb63a1
Renamed test_force to test_bathing_force to make it clearer.
YoruCathy Oct 15, 2024
0eb71d5
Removed unnecessary scripts.
YoruCathy Oct 15, 2024
ff60f59
Merge pull request #131 from empriselab/justin/collision-pairs-fix
YoruCathy Oct 16, 2024
cdabc93
Add python connection and tests for angular velocity
thisjustin123 Oct 20, 2024
504a132
Replace exec
thisjustin123 Oct 20, 2024
32e7ece
Fix drive to be on all steps
thisjustin123 Oct 20, 2024
2c3e9db
Adjust test case based on observation
thisjustin123 Oct 20, 2024
6c49b07
Push correct file
thisjustin123 Oct 20, 2024
dc0a590
Adjust test for hardware discrepancy
thisjustin123 Oct 20, 2024
4e40369
Update executable
thisjustin123 Oct 20, 2024
c799495
See what happens with higher velocity
thisjustin123 Oct 21, 2024
35f9234
Adjust test for 0.5 speed
thisjustin123 Oct 21, 2024
81f83d9
Account for hitting drawer and bed
thisjustin123 Oct 21, 2024
d831a09
Adjust bed hitting position
thisjustin123 Oct 21, 2024
1133460
Adjust turn speed since 0.1 seems to not register
thisjustin123 Oct 21, 2024
3822a71
Adjust angle turn
thisjustin123 Oct 21, 2024
3b9e236
Adjust right turn rate
thisjustin123 Oct 21, 2024
8e67741
Add fixed seed code
thisjustin123 Oct 21, 2024
7403298
Add seed test case
thisjustin123 Oct 21, 2024
952471c
Replace executable with unity seed code
thisjustin123 Oct 21, 2024
016ed18
Make test repeat a few times to prevent getting lucky
thisjustin123 Oct 21, 2024
ea5d976
Replace with correct unity exec version
thisjustin123 Oct 21, 2024
799e683
Separate turning test cases
thisjustin123 Oct 23, 2024
c9670fd
Try to increase turn velocity
thisjustin123 Oct 23, 2024
464ea0f
Tweak precision in turn tests
thisjustin123 Oct 23, 2024
399535b
Account for stopping now
thisjustin123 Oct 23, 2024
c1c8254
Merge pull request #141 from empriselab/justin/seed
YoruCathy Oct 24, 2024
2852f06
Merge branch 'phy-robo-care' into justin/wheel-velocity
thisjustin123 Oct 24, 2024
b06ecdb
Replac executable with newest version
thisjustin123 Oct 24, 2024
5c91cb9
Merge pull request #140 from empriselab/justin/wheel-velocity
YoruCathy Oct 24, 2024
7577715
Removed commented ompl
YoruCathy Oct 24, 2024
1036a19
Add ompl install
YoruCathy Oct 24, 2024
3019853
Test wip
YoruCathy Oct 24, 2024
e26ea02
update range
YoruCathy Oct 24, 2024
bf92b03
Only run the ompl test
YoruCathy Oct 24, 2024
6679018
change planning range.
YoruCathy Oct 24, 2024
7a813de
Add test case for saving scene successfully
thisjustin123 Oct 28, 2024
0d5258d
Add print to check cwd
thisjustin123 Oct 28, 2024
bfced9b
Add wait for file
thisjustin123 Oct 28, 2024
00623cd
Tweak test file
thisjustin123 Oct 28, 2024
078bb0f
Try longer wait
thisjustin123 Oct 28, 2024
f6cc3f5
Working with dressing env.
YoruCathy Oct 28, 2024
49f47d3
Track large files with Git LFS
YoruCathy Oct 29, 2024
9bbd085
Add large files with Git LFS
YoruCathy Oct 29, 2024
9b8d6af
Updated tests and build files
YoruCathy Oct 29, 2024
08977fe
Merge pull request #146 from empriselab/justin/save-scene
YoruCathy Oct 29, 2024
f7c3fd5
Added test joint name.
YoruCathy Oct 29, 2024
9214615
Merge pull request #152 from empriselab/test-robo-name
YoruCathy Oct 29, 2024
c6e8885
Debug ci.
YoruCathy Oct 29, 2024
aad9184
Remove cache.
YoruCathy Oct 29, 2024
7f6b5cd
Fixed path.
YoruCathy Oct 29, 2024
5f9ab5b
Revert to v0.
YoruCathy Oct 29, 2024
3121dbd
Revert to v0.
YoruCathy Oct 29, 2024
9e23e89
Test angle function.
YoruCathy Oct 29, 2024
79b70a9
Test angle only.
YoruCathy Oct 29, 2024
932f0f1
Test dressing.
YoruCathy Oct 29, 2024
ab220e0
Test save scene.
YoruCathy Oct 29, 2024
cbbb519
Remove bathing test in test save scene
YoruCathy Oct 29, 2024
6478d7f
Add tests back with bathing exec
thisjustin123 Oct 30, 2024
91359a9
Replace executable
thisjustin123 Oct 30, 2024
c70baee
Add lfs file
thisjustin123 Oct 30, 2024
f50b1bb
Try to restore executable to commit `5c91cb9`
thisjustin123 Oct 31, 2024
570ba70
Replace with commit `dfe95`, before save fix
thisjustin123 Oct 31, 2024
a651abd
Try to rebuild project from new install
thisjustin123 Oct 31, 2024
7ada01a
Add bathing player runnable permission
thisjustin123 Oct 31, 2024
6d12b02
Reorder CI
thisjustin123 Oct 31, 2024
24a2dc6
Allow output for bathing
thisjustin123 Oct 31, 2024
06aa087
Alter CI order
thisjustin123 Oct 31, 2024
bc877cf
Try unbuffering python
thisjustin123 Oct 31, 2024
5a77793
Try log level 1
thisjustin123 Oct 31, 2024
b9a3cc4
Add lfs to CI pipeline (?)
thisjustin123 Oct 31, 2024
962abd6
update bething player
YoruCathy Nov 1, 2024
b1d4c58
Merge pull request #153 from empriselab/debug-ci
YoruCathy Nov 1, 2024
d75bd75
Added lfs install instructions.
YoruCathy Nov 1, 2024
95e76d2
Merge pull request #157 from empriselab/ruolin/update-readme
YoruCathy Nov 1, 2024
67305ec
Replace executable with newest RCareUnity
thisjustin123 Nov 1, 2024
a3e73bc
Put latest RCareUnity (on `justin/save-changes`)
thisjustin123 Nov 1, 2024
72af472
Merge pull request #158 from empriselab/justin/fix-bathing-scene
YoruCathy Nov 1, 2024
443123d
Add test for instance camera
thisjustin123 Nov 11, 2024
2641bbd
Replace executable
thisjustin123 Nov 11, 2024
3f0de1a
Add some tentative sponge buffering for force
thisjustin123 Nov 11, 2024
c9dd7e7
Type check against camera and simplify test
thisjustin123 Nov 11, 2024
78452cc
Merge pull request #170 from empriselab/justin/camera-instance
YoruCathy Nov 11, 2024
0f4d2e4
Track big files with lfs
thisjustin123 Nov 13, 2024
7edf7f7
Replace executable
thisjustin123 Nov 13, 2024
bedc5d0
Merge branch 'phy-robo-care' into ruolin/fix-ompl-new
thisjustin123 Nov 13, 2024
0b0dcd0
Merge pull request #144 from empriselab/ruolin/fix-ompl-new
YoruCathy Nov 13, 2024
9966603
Merge branch 'phy-robo-care' into justin/sponge-stability
thisjustin123 Nov 18, 2024
bbe5390
Add sponge test case
thisjustin123 Nov 18, 2024
8241b85
Add optional buffer param
thisjustin123 Nov 18, 2024
c0e6988
Fix initial reading
thisjustin123 Nov 18, 2024
1f88260
Tweak test cases to be more informative when failing
thisjustin123 Nov 18, 2024
d760bc6
Wait longer and use fixed update
thisjustin123 Nov 18, 2024
48b0031
Wait longer to zero out
thisjustin123 Nov 18, 2024
f24f712
Wait even longer
thisjustin123 Nov 18, 2024
1eadfd3
Read forces latently while waiting
thisjustin123 Nov 18, 2024
5c47576
Add disclaimer for `.GetForce()` use
thisjustin123 Nov 18, 2024
e2b6f47
Replace example ompl with executable file correctly
thisjustin123 Nov 18, 2024
a826a82
Merge pull request #172 from empriselab/justin/sponge-stability
YoruCathy Nov 18, 2024
32c8305
Merge pull request #174 from empriselab/justin/ompl-exec-fix
YoruCathy Nov 18, 2024
5f43eb4
Add optional import steps for OMPL
thisjustin123 Nov 21, 2024
924723f
Adjust print and readme for ompl
thisjustin123 Nov 21, 2024
5c9a21f
Shorten logging to avoid confusion.
YoruCathy Nov 21, 2024
89ce695
Merge pull request #178 from empriselab/justin/ompl-optional
YoruCathy Nov 21, 2024
993548c
[Update] Xvbf virtual display to docker
shxingch Nov 25, 2024
0d03f61
[Fix] typo in run_python.shell
shxingch Nov 26, 2024
1cb52f5
Merge pull request #181 from shxingch/docker-Xvfb
YoruCathy Nov 27, 2024
bd0cbc8
Add new grasp point code, tests, and examples
thisjustin123 Dec 2, 2024
fdbb86f
Replace exec to track `justin/grasp-point`
thisjustin123 Dec 2, 2024
0fc7867
Adjust template
thisjustin123 Dec 2, 2024
b65d157
Merge branch 'phy-robo-care' into justin/grasp-point
thisjustin123 Dec 2, 2024
d6ec8a8
Tweak tests
thisjustin123 Dec 2, 2024
7396ca9
Add second option for position goal
thisjustin123 Dec 2, 2024
49e83ff
Add rot2 for rotation
thisjustin123 Dec 2, 2024
2d4f378
Really make tests easier to pass
thisjustin123 Dec 2, 2024
50c083c
Fix test case logic
thisjustin123 Dec 2, 2024
89cd561
Merge pull request #186 from empriselab/justin/grasp-point
YoruCathy Dec 2, 2024
fa9ea02
Imrpove test save scene script
thisjustin123 Dec 9, 2024
e326a8d
Fix clearscene attr and add test case
thisjustin123 Dec 9, 2024
119c1ad
Fix path names
thisjustin123 Dec 9, 2024
acd9b97
Set log level 1 for debugging
thisjustin123 Dec 9, 2024
a34d51c
Update empty scene executable
thisjustin123 Dec 9, 2024
16015b7
Disable graphics
thisjustin123 Dec 9, 2024
9077bc2
Tweak order of attributes
thisjustin123 Dec 9, 2024
ca8ef47
Tweak custom message listener script and test
thisjustin123 Dec 9, 2024
5cbb0d9
Fix test case logic
thisjustin123 Dec 9, 2024
60616a4
Fix instance object logic
thisjustin123 Dec 9, 2024
0ae6df8
Test in headless
thisjustin123 Dec 9, 2024
b407913
Fix listener target
thisjustin123 Dec 9, 2024
67195b4
Fix listener test case types
thisjustin123 Dec 9, 2024
44ff1b9
Replace exec for addressable
thisjustin123 Dec 9, 2024
8cc44e8
Add load object tests
thisjustin123 Dec 9, 2024
acddea6
Add test logging
thisjustin123 Dec 9, 2024
d7d4a22
Add `libminizip1`
thisjustin123 Dec 9, 2024
17ce93f
Add usage spec comment
thisjustin123 Dec 9, 2024
e521073
Added pre-install for `sudo apt-get install libminizip1`
thisjustin123 Dec 9, 2024
36ffbec
Merge pull request #188 from empriselab/justin/test-env
YoruCathy Dec 10, 2024
8bacb49
Add new test
thisjustin123 Dec 11, 2024
1af998f
Replace executable
thisjustin123 Dec 11, 2024
9d6704b
Replace exec with branched from main
thisjustin123 Dec 11, 2024
140d8ce
Replace scene exec
thisjustin123 Dec 11, 2024
f93d090
Add camera as addressable
thisjustin123 Dec 11, 2024
1552dac
Merge pull request #193 from empriselab/justin/test-attrs
YoruCathy Dec 11, 2024
a93fea0
[Fix] Score path & Xvfb installation
shxingch Dec 13, 2024
3ee988f
Merge pull request #196 from shxingch/score-path
YoruCathy Dec 14, 2024
d4ca42e
Testing For bathing_score_attr
JacobSeto Sep 24, 2025
57e1833
Full Attribute Tests
JacobSeto Oct 15, 2025
af13545
Final Attribute Tests
JacobSeto Oct 29, 2025
2bb5e89
Removing Problem Scripts
JacobSeto Oct 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.zip filter=lfs diff=lfs merge=lfs -text
template/Bathing/10-7[[:space:]]RCareToborFix_Data/StreamingAssets/aa/StandaloneLinux64/user_assets_all_8a7e8c517c5bd193b6a83d9a3d7b4a7a.bundle filter=lfs diff=lfs merge=lfs -text
template/Bathing/BathingPlayer_Data/StreamingAssets/aa/StandaloneLinux64/user_assets_all_8a7e8c517c5bd193b6a83d9a3d7b4a7a.bundle filter=lfs diff=lfs merge=lfs -text
pyrcareworld/pyrcareworld/demo/executable/Player/Player_Data/StreamingAssets/aa/StandaloneLinux64/user_assets_all_f357883c84a80231486b0404b1dc2f9f.bundle filter=lfs diff=lfs merge=lfs -text
pyrcareworld/pyrcareworld/demo/executable/Player/Player_Data/StreamingAssets/aa/StandaloneLinux64/robot_assets_all_603be05fcb8dffa1ad805fc756b51160.bundle filter=lfs diff=lfs merge=lfs -text
template/Bathing/BathingPlayer_Data/StreamingAssets/aa/StandaloneLinux64/user_assets_all_752a0ed37435299b38372bf214d395b3.bundle filter=lfs diff=lfs merge=lfs -text
template/Bathing/BathingPlayer_Data/StreamingAssets/aa/StandaloneLinux64/user_assets_all_2308b64dbb01817506c542159ebf007a.bundle filter=lfs diff=lfs merge=lfs -text
template/Bathing/BathingPlayer_Data/StreamingAssets/aa/StandaloneLinux64/*.bundle filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
46 changes: 46 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: CI Checks

on: [pull_request]

jobs:
unit-tests:
name: Unit Tests
runs-on: "ubuntu-20.04"
env:
PYTHONUNBUFFERED: 1
defaults:
run:
shell: bash -el {0}
steps:
- name: Checkout RCareWorld repository
uses: actions/checkout@v4
with:
lfs: true

- name: Set up Git LFS
run: git lfs install

- name: Pull LFS Files
run: git lfs pull

- uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: rcareworld
python-version: "3.10"
- name: Install dependencies
run: |
cd pyrcareworld
pip install -r requirements.txt
pip install -e .
pip uninstall -y numpy
conda install numpy
cd ../

python3 -m pip install https://github.com/ompl/ompl/releases/download/prerelease/ompl-1.6.0-cp310-cp310-manylinux_2_28_x86_64.whl
sudo apt-get install libminizip1

- name: Run unit tests
run: |
echo "::group::Running tests"
pytest --capture=tee-sys tests/
echo "::endgroup::"
21 changes: 14 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
/[Oo]bj/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
/[Dd]oc/
/[Dd]ocs/
# /[Dd]oc/
# /[Dd]ocs/

# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
Expand Down Expand Up @@ -77,12 +77,11 @@ __pycache__/
*.py[cod]
*$py.class

# C extensions
*.so
# # C extensions *.so

# Distribution / packaging
.Python
build/
# build/
develop-eggs/
dist/
downloads/
Expand Down Expand Up @@ -143,7 +142,7 @@ instance/
.scrapy

# Sphinx documentation
docs/_build/
# docs/_build/

# PyBuilder
.pybuilder/
Expand Down Expand Up @@ -234,4 +233,12 @@ cython_debug/
.idea/

# Mac
.DS_Store
.DS_Store

#Docker-build
/template/docker-template/*.zip
/template/docker-template/*.tar
/template/docker-template/output
template/rgb_hand.png
template/rgb_hand.png
pyrcareworld/pyrcareworld/demo/examples/example_save_obj.py
57 changes: 57 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.12"
# You can also specify other tool versions:
# nodejs: "19"
# rust: "1.64"
# golang: "1.19"
jobs:
pre_install:
# Clone the repository
- git clone https://github.com/empriselab/RCareWorld.git
- ls
# Navigate into the directory
- cd RCareWorld/pyrcareworld/ && ls
# Install Python dependencies from requirements.txt
- pip install -r RCareWorld/pyrcareworld/requirements.txt
# Install the package in editable mode
- cd RCareWorld/pyrcareworld/ && pip install -e .
# Install additional requirements for docs
- pip install -r docs/requirements.txt
- cd ../..
- ls

post_install:
- sphinx-apidoc -o ./docs/api ./pyrcareworld ./pyrcareworld/pyrcareworld/demo/*

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: docs/conf.py

# Optionally build your docs in additional formats such as PDF and ePub
formats:
- pdf
- epub

# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
# python:
# install:
# - method: pip
# path: .
# - requirements: docs/requirements.txt

# branches:
# only:
# - main
# - stable
143 changes: 130 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,132 @@
![alt text](rcareworld.png)
# Here is the code for RCareWorld V1.5.0 🦾
## Install
The installation is as easy as
- Create a conda env: `conda create -n rcareworld python=3.10`
- Navigate to `pyrcareworld` folder: `cd pyrcareworld`
- Install the requirements: `pip install -r requirements.txt`
- Install pyrcareworld module: `pip install -e .`
## Useful links
- Check the website https://emprise.cs.cornell.edu/rcareworld/
- Check the documentation: https://rcareworld.readthedocs.io/en/latest/
- Discuss in the forum https://github.com/empriselab/RCareWorld/discussions
- Watch our presentation https://www.youtube.com/watch?v=mNy1cloWrP0
# Please refer to the [phy-robo-care](https://github.com/empriselab/RCareWorld/tree/phy-robo-care) branch if you are participating in the [PhyRC Challenge](https://emprise.cs.cornell.edu/rcareworld/challenge/).
# Here is the code for RCareWorld PhyRC Challenge 🦾
This README contains instructions for installing the PhyRC version of RCareWorld. In addition to this README, please refer to the following links:

- Website https://emprise.cs.cornell.edu/rcareworld/
- Documentation: https://rcareworld.readthedocs.io/en/phy-robo-care/ Please only refer to this document if you are participating in the PhyRC challenge. Please don't use the links in the main branch.
- Discussion Forum: https://github.com/empriselab/RCareWorld/discussions


# Hardware Requirements
While RCareWorld supports Linux, Windows, and Mac (experimental), our evaluation platform is based on Ubuntu 20.04. We do not guarantee the simulation environments for the competition work on MacOS, Windows, or other Linux versions as intended. The executable files are only for Linux systems. If you want to use Windows, you might consider using [WSL](https://learn.microsoft.com/en-us/windows/wsl/install) which ideally has the same functionality as Ubuntu.

We highly recommend using an Ubuntu 20.04 system which will be used for evaluation. For this competition, all tutorials are based on the Ubuntu system.

Please ensure your computer has at least 10GB of free space before starting. One or multiple discrete graphics cards with proper drivers are highly recommended, without which the simulation will be slow.

# Install Guide
## Pre-install Guide
Before starting, make sure Conda is installed on your computer.
For details, refer to the Conda installation guide: [Conda Installation Guide](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html).

If you have an NVIDIA GPU, install an NVIDIA Driver from the official [NVIDIA Driver Downloads](https://www.nvidia.com/Download/index.aspx).

Install the necessary libraries:
```
sudo apt-get update
sudo apt-get install libminizip1
sudo apt-get install libassimp-dev libopenblas-dev liblapack-dev
```

## Install RCareWorld
Then you can install the RCareWorld!

<!-- - Clone the repo: `git clone https://github.com/empriselab/RCareWorld.git`
- Switch to the `phy-robo-care` branch: `cd RCareWorld` and then `git checkout phy-robo-care ` -->
Clone the `phy-robo-care` branch of the repo:

`git clone -b phy-robo-care https://github.com/empriselab/RCareWorld.git`

<!-- - Create a conda environment with Python 3.10: `conda create -n rcareworld python=3.10`
- Activate the conda environment: `conda activate rcareworld`
- Install the requirements: `cd pyrcareworld` and then `pip install -r requirements.txt`
- Install pyrcareworld: `pip install -e .`
- Verify the installation works: `cd pyrcareworld/demo/examples` and run `python test_scene.py`. You should expect to see the RCareWorld Unity executable window pop up with a white cube. -->

```
# Create a conda environment with Python 3.10
conda create -n rcareworld python=3.10

# Activate the conda environment
conda activate rcareworld

# Download the large files
cd RCareWorld
git lfs install
git lfs pull

# Install the requirements
cd RCareWorld/pyrcareworld
pip install -r requirements.txt
pip install -e .

# To use open3d
pip uninstall numpy
conda install numpy

# Verify the installation works
cd pyrcareworld/demo/examples
python test_scene.py

```
A window with white cubes will pop up as the screenshot shows. This indicates the installation is successful.

You can perform common Unity operations in this window:
- `WSAD` to navigate
- `CTRL` to ascend
- `Space` to descend
- `Right Click` to pan
- `End Pend` allows you to perform special operations; refer to the code for details. Clicking three times will close the window, but you can also manually cancel in the code
- `Scroll` wheel direction is **opposite** to the direction in the DebugWindow


![test_scene_py_img](./test_scene.png)


## (Optional): OMPL Installation

The Open Motion Planning Library (OMPL) is a flexible, open-source library designed for solving complex motion planning problems for robots and other autonomous systems using state-of-the-art planning algorithms. It is an optional function that will not affect your regular use if not installed.

If you would like to install OMPL, and you've never installed it before, please run the following command:

```
python3 -m pip install https://github.com/ompl/ompl/releases/download/prerelease/ompl-1.6.0-cp310-cp310-manylinux_2_28_x86_64.whl
```

Otherwise, make sure you install the python bindings for your current OMPL version.

If that command doesn't work for you, please go to the OMPL Releases page and find the corresponding python version you are using (the above is for python 3.10).

# Get Started with the Examples
Check the examples in the `pyrcareworld/pyrcareworld/demo/examples` folder.

Go through the examples, run the examples, and read the comments in the code to understand the corresponding output and related APIs.

Specifically, we have examples for people interested in performing traditional motion planning using OMPL as well as reinforcement learning using Gym.
- Motion planning: https://github.com/empriselab/RCareWorld/blob/phy-robo-care/pyrcareworld/pyrcareworld/demo/examples/example_ompl.py
- RL: https://github.com/empriselab/RCareWorld/blob/phy-robo-care/pyrcareworld/pyrcareworld/demo/examples/example_rl.py

# Starter Scripts for Bathing and Dressing Tasks
Check out `RCareWorld/template/test_bathing.py` and `RCareWorld/template/test_dressing.py` to get an overall idea about how to use the simulation environments for the dressing and bathing tasks.

These two files are without graphics rendering to make them compatible with the docker environment. If you want to use them with rendering in your local environment, add the `--graphics` when you run the code.
```
# An example is as the following.
# For docker
python test_bathing.py
# For local use with rendering
python test_bathing.py --graphics
```
You can also test `test_dressing.py` in the same way, but please note that the **dressing scene will occupy more memory**.

Please ensure that your computer has sufficient memory, or close unnecessary running programs in advance to improve the frame rate during execution!



Your scores will be stored in two JSON files, called `spongeScore.json` for bathing and `dressingScore.json` for dressing both under `~/.config/unity3d/RCareWorld/DressingPlayer/`.

# Submit to EvalAI
Once you are done with your solutions, submit your code to EvalAI following [this](https://rcareworld.readthedocs.io/en/phy-robo-care/submission.html) tutorial. Remember, you need to sign up as a team on EvalAI before Sep 8 (11:59pm AoE) to participate.

# Online Office Hours
Book an appointment [here](https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ0t_n2vlbhIcJTSNv0NY7_Z_Y3j2g5EsL0cKIgsB1phr07oFP9kA50c5WeS0Annn4H6sVexYWt1?gv=true). You may book multiple slots if your question is estimated to take more than 5 minutes, but do not book more than 4 slots per day. You may book the appointments 2 hours in advance.
Binary file added amodal_mask.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added depth.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
31 changes: 31 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SPHINXAPIDOC ?= sphinx-apidoc
SOURCEDIR = .
BUILDDIR = _build
CODEDIR = ./code
APIDOCOUTPUT = $(SOURCEDIR)/api

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile apidoc html

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

# Generate API documentation
apidoc:
@$(SPHINXAPIDOC) -o "$(APIDOCOUTPUT)" "$(CODEDIR)"

# Build HTML documentation
html: apidoc
@$(SPHINXBUILD) -b html "$(SOURCEDIR)" "$(BUILDDIR)/html" $(SPHINXOPTS)
Binary file added docs/_build/doctrees/api/code.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/api/code.test4.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/api/modules.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/api/test.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/api/test2.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/docs/api/modules.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/docs/api/test.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/environment.pickle
Binary file not shown.
Binary file added docs/_build/doctrees/index.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/install.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/test/examples.doctree
Binary file not shown.
4 changes: 4 additions & 0 deletions docs/_build/html/.buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 15acfb2470085b973ea28f321b8ada2d
tags: 645f666f9bcd5a90fca523b33c5a78b7
Empty file added docs/_build/html/.nojekyll
Empty file.
Loading