Skip to content
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

Branch for new semantic place skill #197

Open
wants to merge 84 commits into
base: new_semantic_place_skill
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
64f3edf
Open close tracking with sam2 (#183)
jimmytyyang Aug 15, 2024
5e73910
fix (#192)
jimmytyyang Aug 16, 2024
66211f4
spot-sim2real for hab-llm (#187)
jimmytyyang Aug 17, 2024
6990b8f
torque based collision detection (#194)
tusharsangam Aug 17, 2024
ceabab4
Load gripper_T_intel only for spot with intel service enabled (#198)
KavitShah1998 Aug 29, 2024
76319fe
Heights obtained from Concept graph Json
Achuthankrishna Aug 30, 2024
625f339
Minor skills manager changes
Achuthankrishna Aug 30, 2024
2d9d2fa
Renamed Gaze Angle Variables in Config
Achuthankrishna Aug 30, 2024
bcac26d
removed breakpoint
Achuthankrishna Aug 30, 2024
bccc55a
Removed CG Json
Achuthankrishna Aug 30, 2024
1d2d4ab
Update config.yaml
Achuthankrishna Aug 30, 2024
5867b53
Update test_sem_place.py
Achuthankrishna Aug 30, 2024
ce5da6a
Updated skill_manager.py
Achuthankrishna Aug 30, 2024
85ee3e4
Update skill_manager.py
Achuthankrishna Aug 30, 2024
4f5bf88
Add Nexus UI Server code as a third-party (#207)
KavitShah1998 Sep 3, 2024
d991e4a
Added wapoint estimator flags and cleanup
Achuthankrishna Sep 3, 2024
f6200b8
Added wapoint estimator flags and cleanup
Achuthankrishna Sep 3, 2024
345ba68
Updated Config
Achuthankrishna Sep 3, 2024
3c11ef8
Updated Config
Achuthankrishna Sep 3, 2024
b3bb568
Updated Config
Achuthankrishna Sep 3, 2024
894b66d
Further cleanup and using flag for waypt estimation
Achuthankrishna Sep 4, 2024
75fe795
Parsing objectid from object_tag for concept graph
Achuthankrishna Sep 7, 2024
37636c3
Altered functionalities for getting joint angles and removed comments
Achuthankrishna Sep 11, 2024
04e75b2
Update skill_manager.py
Achuthankrishna Sep 11, 2024
14dc13a
Moved CG File call to config
Achuthankrishna Sep 11, 2024
76f9226
minor changes in config
Achuthankrishna Sep 11, 2024
cce721d
Add Nexus UI Server code as a third-party (#207)
KavitShah1998 Sep 3, 2024
3c47213
Merge pull request #205 from facebookresearch/sem_place_gaze_height_new
Achuthankrishna Sep 11, 2024
8069e82
Reset robot home at undock & dock given the operations are successful…
KavitShah1998 Sep 13, 2024
f78c3ca
add fix for if cg file doesn't exist
joannetruong Sep 16, 2024
999d8ba
fix try except
jimmytyyang Sep 16, 2024
362a1c3
Merge pull request #213 from facebookresearch/cg_height_fix
joannetruong Sep 16, 2024
2107c0d
Add time profiler class (#203)
KavitShah1998 Sep 16, 2024
803d7a3
Revert "Add time profiler class (#203)" (#215)
KavitShah1998 Sep 16, 2024
39a6199
Add time profiler class (#216)
KavitShah1998 Sep 16, 2024
71f9c7b
add semantic place ee
jimmytyyang Aug 14, 2024
9cb31bf
fix
jimmytyyang Aug 14, 2024
3f71d4b
fix bugs
jimmytyyang Aug 14, 2024
0aa4ab9
command out the base moving
jimmytyyang Aug 15, 2024
9b4b2ce
fix
jimmytyyang Aug 15, 2024
bb86279
adding logging stuff
tusharsangam Aug 20, 2024
1abcad3
indent use_semantic_place
joannetruong Aug 22, 2024
70d07b6
add mobile_gaze_ee and semantic_place_ee torchscript cparams files
joannetruong Aug 22, 2024
3ff954f
add mobile_gaze_ee env and policy
joannetruong Aug 22, 2024
6e5d05b
add test scripts
joannetruong Aug 22, 2024
599d7c6
add logging and open gripper to semantic place ee test
joannetruong Aug 23, 2024
cd928f8
Minor chagnges for new policy weights
tusharsangam Aug 26, 2024
b601868
fix distance threshold for gaze ee policy
joannetruong Aug 29, 2024
59ff34f
Addition of Scaling Variables in Config and Cleanup
Achuthankrishna Aug 30, 2024
190366b
Cleanup Changes
Achuthankrishna Aug 30, 2024
b0c412b
Minor bug fixes in place_env
Achuthankrishna Aug 31, 2024
3573f69
log filre renamed
Achuthankrishna Sep 4, 2024
94def9f
Removed Base movement for sem place ee
Achuthankrishna Sep 4, 2024
9ca3f30
pre commit checks
Achuthankrishna Sep 4, 2024
d62bb06
pre commit checks
Achuthankrishna Sep 4, 2024
bffc0b8
separate function for arm_ee w/o base vel
Achuthankrishna Sep 4, 2024
ada7994
removed unused variables
Achuthankrishna Sep 4, 2024
e74488a
pre commit failure cleanup
Achuthankrishna Sep 4, 2024
5d5513a
removed redeundant print statements
Achuthankrishna Sep 4, 2024
511ed3e
Cleaned up SemanticPlaceEE Class and Removed debug comments
Achuthankrishna Sep 5, 2024
0ceb08d
removed debug comments
Achuthankrishna Sep 5, 2024
a8336b0
Removed comments and shifted Threshold Variable in config
Achuthankrishna Sep 6, 2024
ce3a0f7
Switched parse_logs_csv into utils
Achuthankrishna Sep 6, 2024
e690696
Updated place_env
Achuthankrishna Sep 6, 2024
1758855
Disabled Base movement by default and added varibale for set_arm_ee_pos
Achuthankrishna Sep 9, 2024
e1d1067
Removed comments and restored debug method
Achuthankrishna Sep 9, 2024
c03cff1
bug fixes
Achuthankrishna Sep 10, 2024
f501809
removed comments
Achuthankrishna Sep 11, 2024
d6de5a6
updated to older value in config for semantic place joint angles.
Achuthankrishna Sep 13, 2024
8a6a381
updated gitignore
Achuthankrishna Sep 13, 2024
07a1d97
Updated episode configs
Achuthankrishna Sep 13, 2024
b19522e
remove mypy
jimmytyyang Sep 17, 2024
2e23a8a
polish
jimmytyyang Sep 17, 2024
5985dc6
polish
jimmytyyang Sep 17, 2024
019078b
polish
jimmytyyang Sep 17, 2024
69a0c0d
polish
jimmytyyang Sep 17, 2024
09a7226
Update config with new weights
Achuthankrishna Sep 17, 2024
34ddaeb
Recent changes and cleanup
Achuthankrishna Sep 17, 2024
92973b2
code polish
Achuthankrishna Sep 17, 2024
f1f9e6d
code polish
Achuthankrishna Sep 17, 2024
d3e171f
code polish
Achuthankrishna Sep 17, 2024
326bf44
recent updates for new weights
Achuthankrishna Sep 17, 2024
35c7f57
Changes in waypt estimation
Achuthankrishna Sep 18, 2024
6500058
Update config.yaml for grasp_threshold
Achuthankrishna Sep 18, 2024
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 .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,6 @@ data/*
spot_rl_experiments/experiments/skill_test/logs/*
spot_rl_experiments/experiments/skill_test/table_detections/*
ros_tcp/ros_communication_client.egg-info/**
spot_rl_experiments/experiments/skill_test/episode_configs/*
*.npy
*.csv
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,6 @@
url = https://github.com/tusharsangam/FoundationPoseForSpotSim2Real
branch = main
ignore = dirty
[submodule "third_party/meta-fair-siro-phase-h1-server"]
path = third_party/meta-fair-siro-phase-h1-server
url = [email protected]:nexusproductions/meta-fair-siro-phase-h1-server.git
21 changes: 17 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ git checkout main
#### Step6. [Optional] Pick with Pose estimation (uses NVIDIA's FoundationPose Model)
- Ensure [FoundationPoseForSpotSim2real](https://github.com/tusharsangam/FoundationPoseForSpotSim2Real) is setup as submodule in third_party folder please follow instructions in [SETUP_INSTRUCTIONS.mds](./installation/SETUP_INSTRUCTIONS.md)
- Currently we only support pose estimation for bottle, penguine plush toy & paper cup found in FB offices' microktichen
- New Meshes can be added using 360 video of the object from any camera (iphone, android), entire process will be described in the above repo's README
- New Meshes can be added using 360 video of the object from any camera (iphone, android), entire process will be described in the above repo's README
- Pose estimation model [FoundationPose](https://nvlabs.github.io/FoundationPose/) runs as a microservice & can be communicated through pyzmq socket
- The [Step 1](#step1-run-the-local-launch-executable) should also start the pose estimation service & no other step is required to start this microservice
- <b>How to use Pose Estimation ?</b>
Expand All @@ -194,6 +194,19 @@ git checkout main
- <b>Enabling pose estimation can help in two major way</b> - informs grasp api how to approach the object viz. topdown or side which increases the grasp success probability & correct object orientation before place is ran.


#### Step7. [Optional] Object detection with tracking (uses Meta's SAM2 Model)
- Follow the instruction to setup SAM2 [here](https://github.com/jimmytyyang/sam2_skills.git). You can create a new conda environment, different from spot conda environment. The reason for not merging these two environments is that spot-sim2real currently use a lower python version. In addition, we motify the orginal sam2 so that now it can take raw RGB images, rather than a video path.
- Once finishing the installation, run tracking service on its own conda environment by
```bash
python spot_rl_experiments/spot_rl/utils/tracking_service.py
```
- We support open/close skills using SAM2's tracking. It is done by setting
```python
import rospy
rospy.set_param("enable_tracking", True)
```


### Using Spot Data-logger
All logs will get stored inside `data/data_logs` directory

Expand Down Expand Up @@ -233,7 +246,7 @@ This will record data in a while loop, press `Ctrl+c` to spot the logger. That w
Warning : This logger will cause motion blur as camera data is logged while the robot moves. Currently we do not support Spot-Record-Go protocol to log

#### Log replay
It is also possible to replay the logged data (essentially the camera streams that have been logged) using the following command :
It is also possible to replay the logged data (essentially the camera streams that have been logged) using the following command:
```bash
python -m spot_wrapper.data_logger --replay="<name_of_log_file>.pkl"
```
Expand All @@ -247,11 +260,11 @@ We provide an function that can call skills in seperate conda environment. And t
#### Step1. Follow Running instructions section to setup image client in spot_ros conda environment
#### Step2. Run ```skill_executor.py``` to listen to which skill to use. This will run on the background.
```bash
python spot_rl_experiments/spot_rl/utils/skill_executor.py
python spot_rl_experiments/spot_rl/utils/skill_executor.py
```
#### Step3. Use ROS to use skill in your application. Now you can call skills in non-blocking way.
```python
# In your application, you import rospy for calling which skill to use
# In your application, you import rospy for calling which skill to use
import rospy # This is the only package you need to install in your environment
rospy.set_param("skill_name_input", "Navigate,desk") # Call navigation skills to navigate to the desk. This is a non-blocking call.
```
Expand Down
2 changes: 1 addition & 1 deletion bd_spot_wrapper/spot_wrapper/home_robot.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@

if __name__ == "__main__":
spot = Spot("NavPoseMonitor")
spot.home_robot(write_to_file=True)
spot.write_home_robot()
Loading