Skip to content

EQA merge & DynaMem CPU#254

Merged
hello-binit merged 120 commits intomainfrom
hello-peiqi/grapheqa_merge
Sep 30, 2025
Merged

EQA merge & DynaMem CPU#254
hello-binit merged 120 commits intomainfrom
hello-peiqi/grapheqa_merge

Conversation

@hello-peiqi
Copy link
Copy Markdown
Contributor

@hello-peiqi hello-peiqi commented Feb 4, 2025

Anyone want to test this system based on this instruction Codes are currently on hello-peiqi/grapheqa_merge branch.

You don't have to worry about discord bot.

I also modified DynaMem and AI Pick up. So please also check:

Some testing steps recommended:

  1. Test installation ./install.sh
  2. Test EQA python -m stretch.app.run_eqa --robot_ip $ROBOT_IP (You will need Gemini token)
  3. Test DynaMem mllm + visual servoing python -m stretch.app.run_dynamem --robot_ip $ROBOT_IP --visual-servo -M (You will need OpenAI token)
  4. Test installation ./install.sh --cpu. Then test DynaMem on CPU python -m stretch.app.run_dynamem --robot_ip $ROBOT_IP --cpu --match-method "class(dynamem)" --vs
  5. (Optional) Obtain discord bot token by this and test EQA with discord bot python -m stretch.app.run_eqa --robot_ip $ROBOT_IP -D

Start with some simple questions such as "is there a monitor on the table?" "what is the color of the chair"

Base automatically changed from hello-peiqi/grapheqa to main February 5, 2025 15:18


class SparseVoxelMap(SparseVoxelMapBase):
def __init__(
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be good to add a docstring here, this is a lot of params (mostly borrowed - can use @OVERRIDES)

DYNAMEM_VISUAL_GROUNDING_PROMPT, model="gpt-4o-2024-05-13"
)

def find_alignment_over_model(self, queries: str):
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Docstring?

print("Points close the the point are not similar to the text!")
return torch.max(alignments[distances < distance_threshold]) >= similarity_threshold

def get_2d_map(
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this different from the base one? If not - just override

if so maybe we could do some refactoring for less duplication?

if debug:
import matplotlib.pyplot as plt

plt.subplot(2, 2, 1)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can probably delete this debug code

print(f"Error: {e}")
return None

def localize_with_mllm(self, text: str, debug=True, return_debug=False):
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this new function could probably use some documentation

rr.init("Stretch_robot", spawn=spawn_gui)

if output_path is not None:
rr.save(output_path / "rerun_log.rrd")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you find these rerun logs useful?

Copy link
Copy Markdown
Contributor Author

@hello-peiqi hello-peiqi Feb 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not yet, but I guess it is for automatically saving rerun res; since grapheqa does that, I think it is useful especially for some researchers want to collect demo for their websites.

Comment thread scripts/run_stretch_ai_gpu_client.sh Outdated
# hellorobotinc/stretch-ai_cuda-11.8:$VERSION: the docker image to run
run_docker_command run \
-it \
--runtime nvidia \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do you get rid of this? is it no longer necessary?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It gives me bugs

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you still run with access to the NVIDIA hardware?

Comment thread projects/grapheqa/robot_agent.py Outdated
self._manipulation_radius = parameters["motion_planner"]["goals"]["manipulation_radius"]
self._voxel_size = parameters["voxel_size"]

# self.image_processor = VoxelMapImageProcessor(
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dead code

Comment thread projects/grapheqa/robot_agent.py Outdated

def execute_action(
self,
text: str,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

documentation - say what actions can be?

Comment thread projects/grapheqa/robot_agent.py Outdated
* update?

* clean up codes

* update docs

* update

* update

* cpu

* update

* update

* change models

* fix bug

* installation

* debug

* tune parameters

* restore gui

* fix bug

* update docs and args

* fix bug
@hello-peiqi hello-peiqi changed the title EQA merge EQA merge & DynaMem CPU Jun 6, 2025
hello-peiqi and others added 17 commits June 8, 2025 14:33
* update a bit

* small update

* revert some changes

* revert some changes

* revert some changes

* automatically decide which model to use

---------

Co-authored-by: GRAIL <grail@demobox.hydra-bee.ts.net>
* remove moonlight

* remove dinobot

* remove yolo

* remove detic

* update installation

* remove the remains of Detic

* remove paligemma

* remove molmo

* Hello peiqi/remove online audio (#278)

* remove audio

* tune audio speed

* add piper

* add new engine

* modify piper

* modify piper

* fix bugs

* update test

* update test

* update tets

* rearrange files

* small update

* small update

* remove cli

* remove more files

* remove voice chat app

* remove useless files

* remove useless folder

* add files

* new gitignore

* fix bug

* update gemma and docker

* add terminate on failure

* Hello peiqi/clean app (#279)

* remove files

* remove emote app

* update keyboard teleop

* update print states

* merge check status and print states

* merge check status and print states

* remove start rerun

* remove more perception modules

* remove vlm planning

* replace git with blip

* remove dinov2siglip

* restore scripts

* remove mobile sam

* deal with sam

* update docs

* update install.sh

* remove map loader app

* remove more apps

* remove load map util

* remove demo

* remove ENV and Agent

* clean core

* clean drivers

* update detic

* unify agent

* clean robot agent

* remove get detections

* remove unused attr

* fix bug

* fix ai pick up bug

* Hello peiqi/fix simulation (#283)

* fix

* fix intrisincs

* fix not robocasa parts

* update

* tune readme

* Hello peiqi/slam checking (#281)

* remove readme

* remove unnecessary core

* remove files

* restore

* remove navigation utils

* remove navigation app

* remove drivers

* fix orbslam3 bugs

* fix orbslam3 bugs

* remove log

* remove unnecessary ros2 files

* further clean

* update slam

* checkpoint

* remove orbslam docs

* update detic

* clean more files

* clean slam

* update

* fix bug

* fix typo

* fix match method

* fix bug

* installation

* debug grasp

* slight tunning
@hello-peiqi hello-peiqi enabled auto-merge (squash) August 11, 2025 17:57
@hello-peiqi hello-peiqi disabled auto-merge August 11, 2025 19:20
Copy link
Copy Markdown
Contributor

@hello-robot-shehab hello-robot-shehab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was able to run the apps in the PR on my Stretch 3.

@hello-binit hello-binit merged commit f9f814c into main Sep 30, 2025
1 of 3 checks passed
@hello-binit hello-binit deleted the hello-peiqi/grapheqa_merge branch September 30, 2025 03:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants