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

Add docstrings #40

Open
hello-amal opened this issue Jul 17, 2024 · 0 comments
Open

Add docstrings #40

hello-amal opened this issue Jul 17, 2024 · 0 comments

Comments

@hello-amal
Copy link
Contributor

Multiple files (e.g., see this comment) have inconsistent or nonexistant docstrings. We should add detailed docstrings to all files, to lower the learning curve for new users of this code.

In the past, I've used pylint to enforce the existence of docstrings, although it doesn't analyze the contents of the docstring. In my experience, pylint wasn't easy to incorporate into pre-commit hooks, but could be incorporated into Github Actions using e.g.,

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install pylint
          pip install overrides
      - name: Analysing the code with pylint
        run: |
          pylint --recursive=y --rcfile=.pylintrc . --disable fixme --disable import-error
peiqi-liu pushed a commit to peiqi-liu/stretch_ai that referenced this issue Sep 25, 2024
* Aruco Marker Database (hello-robot#41)

* Add fingertip aruco detection

* Fix import paths

* Add urchin pip dependency

* Start aruco docs

* Add marker database + comms

* Add schema pip dep

* Remove aruco yaml

* Removing aruco_to_fingertip, will add back later

* Dex teleop multi cam setup (hello-robot#40)

* Add arm control setup for ROS2 and setup task plans (#1)

* update config and arm control

* change these files and apply isort etc

* rename

* fix

* update files

* fix name

* updates

* add a missing function

* fix name

* add task execution tool

* update

* add comment

* update

* return if even and add tests for program flow

* Update src/stretch/core/task.py

Co-authored-by: hello-amal <amaln@hello-robot.com>

* update commits - enable line length in pre-commit

* max line lenght to 100

* updates

* updates

* apply black

* updates

---------

Co-authored-by: hello-amal <amaln@hello-robot.com>

* updates and some minor fixes

* fixes

* updates

* update recorder

* send head images as well as ee camera images

* update follower code

* send images with comrpession

* update app dex teleop etc

* send webp images

* fixes

* compression

* compression tests

* no need for lossless compression

* use new tested decompression

* more fixes to image transport

* update app dex teleop leader

* fix

* updates

* fixes for dex data collection

---------

Co-authored-by: hello-amal <amaln@hello-robot.com>

* Re-enabling and fixing commits; adding task plan class; zmq supports arm control (hello-robot#39)

* update config and arm control

* change these files and apply isort etc

* rename

* fix

* update files

* fix name

* updates

* add a missing function

* fix name

* add task execution tool

* update

* add comment

* update

* return if even and add tests for program flow

* Update src/stretch/core/task.py

Co-authored-by: hello-amal <amaln@hello-robot.com>

* update commits - enable line length in pre-commit

* max line lenght to 100

* updates

* updates

* apply black

---------

Co-authored-by: hello-amal <amaln@hello-robot.com>

* update place motions

* issues

* nodes

* placement joint states

* some updates

* agent go home

* improve exploration, etc

* improve relative rotation

* moving for manipulation

* update operations and try to make things a bit smoother

* update

* more tuning

* update

* disabling

* updates

* fixing some issues

* update

* fixes for navigation and updating

* update robot gripper control

* retry on place in receptacle

* update gripper

* update zmq

* updates

* update

* state thread as well

* update zmq

* update state

* update it to use the state messages for base control now

* updating instructions

* try making distance threshold a little bit bigger

* update installation

* update notes

* update

* Stretchpy version of pick task (hello-robot#44)

* Add arm control setup for ROS2 and setup task plans (#1)

* update config and arm control

* change these files and apply isort etc

* rename

* fix

* update files

* fix name

* updates

* add a missing function

* fix name

* add task execution tool

* update

* add comment

* update

* return if even and add tests for program flow

* Update src/stretch/core/task.py

Co-authored-by: hello-amal <amaln@hello-robot.com>

* update commits - enable line length in pre-commit

* max line lenght to 100

* updates

* updates

* apply black

* updates

---------

Co-authored-by: hello-amal <amaln@hello-robot.com>

* Dex Teleop Multi Cam setup and streaming (#3)

* updates and some minor fixes

* fixes

* updates

* update recorder

* send head images as well as ee camera images

* update follower code

* send images with comrpession

* update app dex teleop etc

* send webp images

* fixes

* compression

* compression tests

* no need for lossless compression

* use new tested decompression

* more fixes to image transport

* update app dex teleop leader

* fix

* updates

* fixes for dex data collection

* fixes for follower publishing data

* update

* cleanup 3

* add

* writing out data files

* cleanup 3

* update

* Pick and place task (#2)

* update show intermediate maps code

* update configuration files to make sure that we can load perception code
into stretchpy demo setup

* update voxel setup

* category information used for matterport stuff

* some changes

* setting up perception handling

* cleaning up instance memory files

* processing simple scene graph code

* improving detections

* update code and make sure things look ok; light refactoring; creating
scene_graph code

* some cleanup and visualizing instances

* modifications, cleanup, testing

* encoder should be normalized version of clip

* updates

* updating instance map

* configuration for scene graph code

* update some things

* update

* some code cleanup

* removing unused and cleaning up

* variou

* ruling out more bad detections/spurious detections

* rule out some more bad detections

* updates

* update code setup

* cleaning up dead code

* cleaning up and running some tests with instance memory

* changes

* go home

* pickup script placeholder

* updates to robot motion

* update zmq cfiguration, use parameters, see if we can get thigns to
convrge a bit faster

* updates

* robot config, moving the base around and doing stuff in our environment

* make sure robot is not moving, for real, properly

* udpate planner cfg

* remove a very long sleep

* remove a printout

* fix read_sparse_voxel_map script

* fix read sparse voxel map code

* update planning code

* update docs

* update data files

* update some things here

* fxes for better viz

* computing possible frontier positions on the map

* update to motion planning and internal state representation

* increase rotation error threshold during trajectory execution in order
to make motions a bit faster

* adding simple task model

* setting up task plan

* add in place rotation code

* running some updates

* split out grid stuff

* update grid floor stuff

* refacotr

* some cleanup again

* make some updates to the motion planning

* maps fixed

* increase number of steps up to 50 and see whats going on

* do some fixes

* update pickup

* update

* update

* update navigation

* updates

* update pickup

* update pickup

* update

* updaing things

* make sure we can reliably detect the toys like the cactus on the ground

* some updates

* update pickup

* update

* update robot agent code

* update info

* add recorder and test

* task module

* updates

* nav posture robot

* update data

* plotting

* fixing some exploration issues

* more minor fixes

* update explore fix bug from refactor

* some tweaks

* updates

* cleaning up some code

* a bit more code cleanup

* iupdates

* update pose

* update pickup and task

* update scene graph

* detect object on ground and go to it

* update robotics code

* updates for pickup and geometry, now just need to find angles to grab
objects

* move pickup

* refactoring

* move

* adding manager

* refactoring and updating readme

* update

* update indices

* updates

* fixing some issues, grippern ow opens and closes

* add transformations.py as a utility file

* update things here

* adding some safety checks, ease of use, task plan

* fix inssue in arm control

* updates

* pick up objects

* fixes here and there

* switch arm state and move the robot into position

* update zmq

* updates

* add some print statements

* more conservative motion planning

* slightly more conservative exploration

* fixing various issues

* retry on failure

* update

* motion planning and stuff

* some more improvements for place

* update

* add reset

---------

Co-authored-by: hello-amal <amaln@hello-robot.com>

* Add compression dependencies (hello-robot#45)

* Add arm control setup for ROS2 and setup task plans (#1)

* update config and arm control

* change these files and apply isort etc

* rename

* fix

* update files

* fix name

* updates

* add a missing function

* fix name

* add task execution tool

* update

* add comment

* update

* return if even and add tests for program flow

* Update src/stretch/core/task.py

Co-authored-by: hello-amal <amaln@hello-robot.com>

* update commits - enable line length in pre-commit

* max line lenght to 100

* updates

* updates

* apply black

* updates

---------

Co-authored-by: hello-amal <amaln@hello-robot.com>

* Dex Teleop Multi Cam setup and streaming (#3)

* updates and some minor fixes

* fixes

* updates

* update recorder

* send head images as well as ee camera images

* update follower code

* send images with comrpession

* update app dex teleop etc

* send webp images

* fixes

* compression

* compression tests

* no need for lossless compression

* use new tested decompression

* more fixes to image transport

* update app dex teleop leader

* fix

* updates

* fixes for dex data collection

* fixes for follower publishing data

* update

* cleanup 3

* add

* writing out data files

* cleanup 3

* update

* Pick and place task (#2)

* update show intermediate maps code

* update configuration files to make sure that we can load perception code
into stretchpy demo setup

* update voxel setup

* category information used for matterport stuff

* some changes

* setting up perception handling

* cleaning up instance memory files

* processing simple scene graph code

* improving detections

* update code and make sure things look ok; light refactoring; creating
scene_graph code

* some cleanup and visualizing instances

* modifications, cleanup, testing

* encoder should be normalized version of clip

* updates

* updating instance map

* configuration for scene graph code

* update some things

* update

* some code cleanup

* removing unused and cleaning up

* variou

* ruling out more bad detections/spurious detections

* rule out some more bad detections

* updates

* update code setup

* cleaning up dead code

* cleaning up and running some tests with instance memory

* changes

* go home

* pickup script placeholder

* updates to robot motion

* update zmq cfiguration, use parameters, see if we can get thigns to
convrge a bit faster

* updates

* robot config, moving the base around and doing stuff in our environment

* make sure robot is not moving, for real, properly

* udpate planner cfg

* remove a very long sleep

* remove a printout

* fix read_sparse_voxel_map script

* fix read sparse voxel map code

* update planning code

* update docs

* update data files

* update some things here

* fxes for better viz

* computing possible frontier positions on the map

* update to motion planning and internal state representation

* increase rotation error threshold during trajectory execution in order
to make motions a bit faster

* adding simple task model

* setting up task plan

* add in place rotation code

* running some updates

* split out grid stuff

* update grid floor stuff

* refacotr

* some cleanup again

* make some updates to the motion planning

* maps fixed

* increase number of steps up to 50 and see whats going on

* do some fixes

* update pickup

* update

* update

* update navigation

* updates

* update pickup

* update pickup

* update

* updaing things

* make sure we can reliably detect the toys like the cactus on the ground

* some updates

* update pickup

* update

* update robot agent code

* update info

* add recorder and test

* task module

* updates

* nav posture robot

* update data

* plotting

* fixing some exploration issues

* more minor fixes

* update explore fix bug from refactor

* some tweaks

* updates

* cleaning up some code

* a bit more code cleanup

* iupdates

* update pose

* update pickup and task

* update scene graph

* detect object on ground and go to it

* update robotics code

* updates for pickup and geometry, now just need to find angles to grab
objects

* move pickup

* refactoring

* move

* adding manager

* refactoring and updating readme

* update

* update indices

* updates

* fixing some issues, grippern ow opens and closes

* add transformations.py as a utility file

* update things here

* adding some safety checks, ease of use, task plan

* fix inssue in arm control

* updates

* pick up objects

* fixes here and there

* switch arm state and move the robot into position

* update zmq

* updates

* add some print statements

* more conservative motion planning

* slightly more conservative exploration

* fixing various issues

* retry on failure

* update

* motion planning and stuff

* some more improvements for place

* update

* add reset

* add compression tools

---------

Co-authored-by: hello-amal <amaln@hello-robot.com>

* update motion planning; improve smoothness

* updates

* Fix bugs related to connect() method (hello-robot#46)

* Move new pip deps above py3.12 warning line

* Fix duplicate connect() calls

The connect() method within __init__now calls the
connect() method within the client if one exists.
This enables connection errors to be raised on
connect() instead of on import of stretchpy.

* Fix stall on missing server

When the server is not found, e.g. if the robot is turned off,
then the StretchPy client shouldn't stall on connect(). Instead,
it should report that the server wasn't found after some time.

* Update setup instructions in README

* some fixes for environment creation

* updates

* remove dependencies

* adding new files

* updates

* download detic checkpoint properly

* updates

* fxing some things

* increase timeouts for now

* update

* updates for grasping

* add set -e

* add visualization code + changes to install

* update

* update

* add reset and some cleanup

* reset

* updates

* image saving

* shoe demo

* update

* update

* update

* updates

* dont show map for receptacle

* receptacle visuals

* better responsiveness

* Added S3 URDF and changed ee link

* twrite out images

* add urdfs

* grasping looks good + fix location

* add intermediate

* update

* udpates

* Fix EE grasp link and pickup app param changes (hello-robot#50)

* remove ee offset

* Increase zmq client timeouts

* remove imgs

* insteance manipulation setup

* updates

* some bugs

* motion plans should get really close to objects!!

* sampling positions etc

* udpate

* add placement debug code

* better more reliable placement

* updates

* update

* improving stuff for robot execution

* tweaking radii for placement

* fix pre-commit

* creating things

* updates

* updates to add servoing state

* asd

* fixes

* update

* visualization tool for streaming image data

* timing

* updates

* fixes

* update

* linter error

* fix a linter error

* merge

* re-enable torch and torchvision

* adding python ros2 package

* remove

* rename a bunch of things

* updates

* add

* fix resource for stretch ros2 bridge

* updates

* updates

* updates to get control config

* add hydra

* add control configs in expected location - todo move other configs here
as well

* doing some more moving of config files, cleanup, etc

* more refactoring

* adding constants + using them in ros2 code

* various fixes to use stretch instead of homerobot

* update parameters

* fixing some issues with missing code from homerobot

* udpate perception name

* path changes to make configs work consistently

* update wrapper

* shutdown the server

* add launch

* changing name

* updates

* some modifications to perception code to make it a bit more modular

* updates

* updates

* updates

* testing ee camera - doen for now

* updates

* cleanup, change execute()->run() for tasks, making sure that category
maps can be different, testing things out

* updates

* updates

* add deletion feature

* fixes

* update

* some minor changes and fixes

* iupdates

* fixes

* add some more tools

* compression stuff and extra settings

* fixes

* dixes

* updates

* no depth filter

* fixes in compression

---------

Co-authored-by: Binit Shah <bshah@hello-robot.com>
Co-authored-by: hello-amal <amaln@hello-robot.com>
Co-authored-by: Mohamed Fazil <mfazil@hello-robot.com>
Co-authored-by: Mohamed Fazil <97637212+hello-fazil@users.noreply.github.com>
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

No branches or pull requests

1 participant