Skip to content

Modular images#4

Closed
heuristicus wants to merge 82 commits intomainfrom
modular-images
Closed

Modular images#4
heuristicus wants to merge 82 commits intomainfrom
modular-images

Conversation

@heuristicus
Copy link
Copy Markdown
Owner

No description provided.

jeremysee2 and others added 30 commits April 18, 2023 18:48
* use pytest instead

* add pytest dependency

* fail test on purpose

* remove failing test
…pot_ros2 (rai-opensource#7)

Co-authored-by: Andrew Messing <129519955+amessing-bdai@users.noreply.github.com>
* simple led brightness control, only able to set all leds to same value

* Add power control, but unclear if it is actually possible to set power for aux and external mic

* most basic functional image stream publisher with webrtc

* add compositor to handle IR and webrtc stream selection with services

Add timestamp for the webrtc images

Add compressed version of the webrtc image stream

* Add health wrapper, move body of robotToLocalTime out of spot wrapper object

robotToLocalTime now takes the timestamp and a robot object, which allows it to
be used by the spot cam wrapper as well.

* add handler and wrapper for audio commands

* update webrtc_client to 3.2 version

* add stream quality wrapper and ros handler

* initial implementation of ptz wrapper and handler, can list ptzs

* ptz handler publishes position and velocity of ptzs, can set position and velocity

* add egg info to gitignore
heuristicus added a commit that referenced this pull request Jul 6, 2023
* refactored code into modules

* refactored image service

* cleanup imports

* add unit tests for some graph_nav_util functions

* pip install requirements

* typing changes

* absolute paths

* clone to specific directory

* check file structure for CI

* check files

* check files

* add test script

* install spot wrapper

* install script

* remove asyncimageservice

* use robot_params to share state variables

* Pytest replacement (#1)

* use pytest instead

* add pytest dependency

* fail test on purpose

* remove failing test

* replace print() with self._logger.error()

* image publishing works well

* moved SPOT_CLIENT_NAME

* static typing for claim()

* black formatting

* comments and passing error feedback

* remove spot_config

* use fstring for short code, move wrench from msg function to class body

* Add changes from [SW-62] Elements for publishing the hand camera in spot_ros2 (rai-opensource#7)

Co-authored-by: Andrew Messing <129519955+amessing-bdai@users.noreply.github.com>

* Wrapper for spot cam interaction (#4)

* simple led brightness control, only able to set all leds to same value

* Add power control, but unclear if it is actually possible to set power for aux and external mic

* most basic functional image stream publisher with webrtc

* add compositor to handle IR and webrtc stream selection with services

Add timestamp for the webrtc images

Add compressed version of the webrtc image stream

* Add health wrapper, move body of robotToLocalTime out of spot wrapper object

robotToLocalTime now takes the timestamp and a robot object, which allows it to
be used by the spot cam wrapper as well.

* add handler and wrapper for audio commands

* update webrtc_client to 3.2 version

* add stream quality wrapper and ros handler

* initial implementation of ptz wrapper and handler, can list ptzs

* ptz handler publishes position and velocity of ptzs, can set position and velocity

* add egg info to gitignore

* fix bad indent after cherry-pick

* fix formatting

* fix short code conversion

* Always include exception message in response strings (rai-opensource#8)

* fix trajectory status unknown not being reset in trajectory command and async idle (rai-opensource#10)

* Add changes from [SW-127] Add function to get images by cameras (rai-opensource#11)

Co-authored-by: Kaiyu Zheng <125413689+kaiyu-zheng@users.noreply.github.com>

* fix dataclass typing issue for older python versions (20.04), check lease object is initialised in claim function (rai-opensource#14)

* remove old camera task mapping introduced in merge

* formatting

* Add changes from [WUD-126] Add manipulation client (rai-opensource#13)

Co-authored-by: myeatman-bdai <129521731+myeatman-bdai@users.noreply.github.com>

* Add changes for added support for the rgb_cameras parameter in spot_ros2 (rai-opensource#15)

Co-authored-by: Philip Keller <keller@fzi.de>
Co-authored-by: Shubham <52372631+skpawar1305@users.noreply.github.com>

* Add changes from [SW-141] Checking edge cases in upload_graph (rai-opensource#12)

Co-authored-by: kzheng <125413689+kaiyu-zheng@users.noreply.github.com>

* Updated bosdyn to 3.2.3 (rai-opensource#16)

* [OC-4] Build a Spot Dance Interface (rai-opensource#17)

* [OC-5] add method to upload hardcoded file

* [OC-4] Code cleanup for PR

* [OC-4] Create separate SpotDacing class

* [OC-4] remove old execute_dance code

* [OC-4] Fix authentication method for compatibility with WUD test

* [OC-5] format files with black

* [OC-4] Modify code based on PR comments

* delete execute_dance from wrapper.py

* [OC-4] Get lease from decorator

* [OC-4] Remove print statements

* [OC-4] Remove extra imports

* [OC-4] Remove extra argument

* formatting

* fix startup issues when choreography or arm is not present

* small changes to choreo check and output when services are not available

* better choreo ordering

* message when choreo module is missing

* cleanup unused spot_image and renamed graphnav private methods

* update graph_nav private methods

* custom arm not found Exception

* _get_lease private method in graphNav

* fix black

* import ordering and removal of unused imports

* wait for arm commands to complete rather than sleeping, using block_until_arm_arrives SDK function

* no longer use convenience dict to access robot params in wrapper class

* missed some robot params usages in wrapper

* add block_until_manipulation_completes method

* improve arm module comments, manipulation request actually makes use of the timesync endpoint and end time

* restore wrapper to main branch state

* restore cam wrapper to main

* restore graph nav util to main

* remove unrelated modules

* unnecessary change

* type hinting and explicit arguments to module init

* formatting

* fill in comment

* missed removing some stuff from the wrapper

* remove moved import

* update pointcloud property

* Fix type hints and make checks explicit

---------

Co-authored-by: jeremysee2 <32976023+jeremysee2@users.noreply.github.com>
Co-authored-by: Andrew Messing <129519955+amessing-bdai@users.noreply.github.com>
Co-authored-by: Kaiyu Zheng <125413689+kaiyu-zheng@users.noreply.github.com>
Co-authored-by: myeatman-bdai <129521731+myeatman-bdai@users.noreply.github.com>
Co-authored-by: Philip Keller <keller@fzi.de>
Co-authored-by: Shubham <52372631+skpawar1305@users.noreply.github.com>
Co-authored-by: David Watkins <129521611+davidwatkins-bdai@users.noreply.github.com>
Co-authored-by: Vedant Gupta <134331854+Guptabot@users.noreply.github.com>
Co-authored-by: Ming Jie See <jeremysee_2@hotmail.com>
amessing-bdai added a commit that referenced this pull request Jul 18, 2023
* refactored code into modules

* refactored image service

* cleanup imports

* add unit tests for some graph_nav_util functions

* pip install requirements

* typing changes

* absolute paths

* clone to specific directory

* check file structure for CI

* check files

* check files

* add test script

* install spot wrapper

* install script

* remove asyncimageservice

* use robot_params to share state variables

* Pytest replacement (#1)

* use pytest instead

* add pytest dependency

* fail test on purpose

* remove failing test

* replace print() with self._logger.error()

* image publishing works well

* moved SPOT_CLIENT_NAME

* static typing for claim()

* black formatting

* comments and passing error feedback

* remove spot_config

* use fstring for short code, move wrench from msg function to class body

* Add changes from [SW-62] Elements for publishing the hand camera in spot_ros2 (rai-opensource#7)

Co-authored-by: Andrew Messing <129519955+amessing-bdai@users.noreply.github.com>

* Wrapper for spot cam interaction (#4)

* simple led brightness control, only able to set all leds to same value

* Add power control, but unclear if it is actually possible to set power for aux and external mic

* most basic functional image stream publisher with webrtc

* add compositor to handle IR and webrtc stream selection with services

Add timestamp for the webrtc images

Add compressed version of the webrtc image stream

* Add health wrapper, move body of robotToLocalTime out of spot wrapper object

robotToLocalTime now takes the timestamp and a robot object, which allows it to
be used by the spot cam wrapper as well.

* add handler and wrapper for audio commands

* update webrtc_client to 3.2 version

* add stream quality wrapper and ros handler

* initial implementation of ptz wrapper and handler, can list ptzs

* ptz handler publishes position and velocity of ptzs, can set position and velocity

* add egg info to gitignore

* fix bad indent after cherry-pick

* fix formatting

* fix short code conversion

* Always include exception message in response strings (rai-opensource#8)

* fix trajectory status unknown not being reset in trajectory command and async idle (rai-opensource#10)

* Add changes from [SW-127] Add function to get images by cameras (rai-opensource#11)

Co-authored-by: Kaiyu Zheng <125413689+kaiyu-zheng@users.noreply.github.com>

* fix dataclass typing issue for older python versions (20.04), check lease object is initialised in claim function (rai-opensource#14)

* remove old camera task mapping introduced in merge

* formatting

* Add changes from [WUD-126] Add manipulation client (rai-opensource#13)

Co-authored-by: myeatman-bdai <129521731+myeatman-bdai@users.noreply.github.com>

* Add changes for added support for the rgb_cameras parameter in spot_ros2 (rai-opensource#15)

Co-authored-by: Philip Keller <keller@fzi.de>
Co-authored-by: Shubham <52372631+skpawar1305@users.noreply.github.com>

* Add changes from [SW-141] Checking edge cases in upload_graph (rai-opensource#12)

Co-authored-by: kzheng <125413689+kaiyu-zheng@users.noreply.github.com>

* Updated bosdyn to 3.2.3 (rai-opensource#16)

* [OC-4] Build a Spot Dance Interface (rai-opensource#17)

* [OC-5] add method to upload hardcoded file

* [OC-4] Code cleanup for PR

* [OC-4] Create separate SpotDacing class

* [OC-4] remove old execute_dance code

* [OC-4] Fix authentication method for compatibility with WUD test

* [OC-5] format files with black

* [OC-4] Modify code based on PR comments

* delete execute_dance from wrapper.py

* [OC-4] Get lease from decorator

* [OC-4] Remove print statements

* [OC-4] Remove extra imports

* [OC-4] Remove extra argument

* formatting

* fix startup issues when choreography or arm is not present

* small changes to choreo check and output when services are not available

* better choreo ordering

* message when choreo module is missing

* cleanup unused spot_image and renamed graphnav private methods

* update graph_nav private methods

* custom arm not found Exception

* _get_lease private method in graphNav

* fix black

* import ordering and removal of unused imports

* wait for arm commands to complete rather than sleeping, using block_until_arm_arrives SDK function

* no longer use convenience dict to access robot params in wrapper class

* missed some robot params usages in wrapper

* add block_until_manipulation_completes method

* improve arm module comments, manipulation request actually makes use of the timesync endpoint and end time

* restore wrapper to main branch state

* restore cam wrapper to main

* restore graph nav util to main

* unnecessary change

* remove unrelated modules

* specific command clients passed to init, wrapper additions and deletions

* docking init receives and uses state object for is standing

* use command data for dock id storage

* move robot command and state classes into a helper file to avoid circular imports in modules

* import robot state and command data from wrapper helpers, missing command data in docking object creation

---------

Co-authored-by: jeremysee2 <32976023+jeremysee2@users.noreply.github.com>
Co-authored-by: Andrew Messing <129519955+amessing-bdai@users.noreply.github.com>
Co-authored-by: Kaiyu Zheng <125413689+kaiyu-zheng@users.noreply.github.com>
Co-authored-by: myeatman-bdai <129521731+myeatman-bdai@users.noreply.github.com>
Co-authored-by: Philip Keller <keller@fzi.de>
Co-authored-by: Shubham <52372631+skpawar1305@users.noreply.github.com>
Co-authored-by: David Watkins <129521611+davidwatkins-bdai@users.noreply.github.com>
Co-authored-by: Vedant Gupta <134331854+Guptabot@users.noreply.github.com>
Co-authored-by: Ming Jie See <jeremysee_2@hotmail.com>
Co-authored-by: mpickett-bdai <137197909+mpickett-bdai@users.noreply.github.com>
Copy link
Copy Markdown

@bhung-bdai bhung-bdai left a comment

Choose a reason for hiding this comment

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

Verified the images are working on Rviz. I was unable to test the point clouds though, which had been modified in spot_wrapper as per my push which imported the necessary function.

amessing-bdai added a commit that referenced this pull request Jul 24, 2023
* refactored code into modules

* refactored image service

* cleanup imports

* add unit tests for some graph_nav_util functions

* pip install requirements

* typing changes

* absolute paths

* clone to specific directory

* check file structure for CI

* check files

* check files

* add test script

* install spot wrapper

* install script

* remove asyncimageservice

* use robot_params to share state variables

* Pytest replacement (#1)

* use pytest instead

* add pytest dependency

* fail test on purpose

* remove failing test

* replace print() with self._logger.error()

* image publishing works well

* moved SPOT_CLIENT_NAME

* static typing for claim()

* black formatting

* comments and passing error feedback

* remove spot_config

* use fstring for short code, move wrench from msg function to class body

* Add changes from [SW-62] Elements for publishing the hand camera in spot_ros2 (rai-opensource#7)

Co-authored-by: Andrew Messing <129519955+amessing-bdai@users.noreply.github.com>

* Wrapper for spot cam interaction (#4)

* simple led brightness control, only able to set all leds to same value

* Add power control, but unclear if it is actually possible to set power for aux and external mic

* most basic functional image stream publisher with webrtc

* add compositor to handle IR and webrtc stream selection with services

Add timestamp for the webrtc images

Add compressed version of the webrtc image stream

* Add health wrapper, move body of robotToLocalTime out of spot wrapper object

robotToLocalTime now takes the timestamp and a robot object, which allows it to
be used by the spot cam wrapper as well.

* add handler and wrapper for audio commands

* update webrtc_client to 3.2 version

* add stream quality wrapper and ros handler

* initial implementation of ptz wrapper and handler, can list ptzs

* ptz handler publishes position and velocity of ptzs, can set position and velocity

* add egg info to gitignore

* fix bad indent after cherry-pick

* fix formatting

* fix short code conversion

* Always include exception message in response strings (rai-opensource#8)

* fix trajectory status unknown not being reset in trajectory command and async idle (rai-opensource#10)

* Add changes from [SW-127] Add function to get images by cameras (rai-opensource#11)

Co-authored-by: Kaiyu Zheng <125413689+kaiyu-zheng@users.noreply.github.com>

* fix dataclass typing issue for older python versions (20.04), check lease object is initialised in claim function (rai-opensource#14)

* remove old camera task mapping introduced in merge

* formatting

* Add changes from [WUD-126] Add manipulation client (rai-opensource#13)

Co-authored-by: myeatman-bdai <129521731+myeatman-bdai@users.noreply.github.com>

* Add changes for added support for the rgb_cameras parameter in spot_ros2 (rai-opensource#15)

Co-authored-by: Philip Keller <keller@fzi.de>
Co-authored-by: Shubham <52372631+skpawar1305@users.noreply.github.com>

* Add changes from [SW-141] Checking edge cases in upload_graph (rai-opensource#12)

Co-authored-by: kzheng <125413689+kaiyu-zheng@users.noreply.github.com>

* Updated bosdyn to 3.2.3 (rai-opensource#16)

* [OC-4] Build a Spot Dance Interface (rai-opensource#17)

* [OC-5] add method to upload hardcoded file

* [OC-4] Code cleanup for PR

* [OC-4] Create separate SpotDacing class

* [OC-4] remove old execute_dance code

* [OC-4] Fix authentication method for compatibility with WUD test

* [OC-5] format files with black

* [OC-4] Modify code based on PR comments

* delete execute_dance from wrapper.py

* [OC-4] Get lease from decorator

* [OC-4] Remove print statements

* [OC-4] Remove extra imports

* [OC-4] Remove extra argument

* formatting

* fix startup issues when choreography or arm is not present

* small changes to choreo check and output when services are not available

* better choreo ordering

* message when choreo module is missing

* cleanup unused spot_image and renamed graphnav private methods

* update graph_nav private methods

* custom arm not found Exception

* _get_lease private method in graphNav

* fix black

* import ordering and removal of unused imports

* wait for arm commands to complete rather than sleeping, using block_until_arm_arrives SDK function

* no longer use convenience dict to access robot params in wrapper class

* missed some robot params usages in wrapper

* add block_until_manipulation_completes method

* improve arm module comments, manipulation request actually makes use of the timesync endpoint and end time

* restore wrapper to main branch state

* restore cam wrapper to main

* restore graph nav util to main

* unnecessary change

* remove unrelated modules

* preliminary image stuff, harder to separate because arm hand images use some of the same infrastructure

* actually hand image stuff is also in the images module so remove all image stuff in wrapper

* specify which client image module takes

* does not require robot params

* fix some imports

* Added the import for dataclass

* reduce code duplication in get_*_rgb_image, make image quality configurable with an object, add comments

* Added a necessary import for the LiDAR point clouds

---------

Co-authored-by: jeremysee2 <32976023+jeremysee2@users.noreply.github.com>
Co-authored-by: Andrew Messing <129519955+amessing-bdai@users.noreply.github.com>
Co-authored-by: Kaiyu Zheng <125413689+kaiyu-zheng@users.noreply.github.com>
Co-authored-by: myeatman-bdai <129521731+myeatman-bdai@users.noreply.github.com>
Co-authored-by: Philip Keller <keller@fzi.de>
Co-authored-by: Shubham <52372631+skpawar1305@users.noreply.github.com>
Co-authored-by: David Watkins <129521611+davidwatkins-bdai@users.noreply.github.com>
Co-authored-by: Vedant Gupta <134331854+Guptabot@users.noreply.github.com>
Co-authored-by: Ming Jie See <jeremysee_2@hotmail.com>
Co-authored-by: Brandon Hung <bhung@theaiinstitute.com>
amessing-bdai added a commit that referenced this pull request Jul 24, 2023
* refactored code into modules

* refactored image service

* cleanup imports

* add unit tests for some graph_nav_util functions

* pip install requirements

* typing changes

* absolute paths

* clone to specific directory

* check file structure for CI

* check files

* check files

* add test script

* install spot wrapper

* install script

* remove asyncimageservice

* use robot_params to share state variables

* Pytest replacement (#1)

* use pytest instead

* add pytest dependency

* fail test on purpose

* remove failing test

* replace print() with self._logger.error()

* image publishing works well

* moved SPOT_CLIENT_NAME

* static typing for claim()

* black formatting

* comments and passing error feedback

* remove spot_config

* use fstring for short code, move wrench from msg function to class body

* Add changes from [SW-62] Elements for publishing the hand camera in spot_ros2 (rai-opensource#7)

Co-authored-by: Andrew Messing <129519955+amessing-bdai@users.noreply.github.com>

* Wrapper for spot cam interaction (#4)

* simple led brightness control, only able to set all leds to same value

* Add power control, but unclear if it is actually possible to set power for aux and external mic

* most basic functional image stream publisher with webrtc

* add compositor to handle IR and webrtc stream selection with services

Add timestamp for the webrtc images

Add compressed version of the webrtc image stream

* Add health wrapper, move body of robotToLocalTime out of spot wrapper object

robotToLocalTime now takes the timestamp and a robot object, which allows it to
be used by the spot cam wrapper as well.

* add handler and wrapper for audio commands

* update webrtc_client to 3.2 version

* add stream quality wrapper and ros handler

* initial implementation of ptz wrapper and handler, can list ptzs

* ptz handler publishes position and velocity of ptzs, can set position and velocity

* add egg info to gitignore

* fix bad indent after cherry-pick

* fix formatting

* fix short code conversion

* Always include exception message in response strings (rai-opensource#8)

* fix trajectory status unknown not being reset in trajectory command and async idle (rai-opensource#10)

* Add changes from [SW-127] Add function to get images by cameras (rai-opensource#11)

Co-authored-by: Kaiyu Zheng <125413689+kaiyu-zheng@users.noreply.github.com>

* fix dataclass typing issue for older python versions (20.04), check lease object is initialised in claim function (rai-opensource#14)

* remove old camera task mapping introduced in merge

* formatting

* Add changes from [WUD-126] Add manipulation client (rai-opensource#13)

Co-authored-by: myeatman-bdai <129521731+myeatman-bdai@users.noreply.github.com>

* Add changes for added support for the rgb_cameras parameter in spot_ros2 (rai-opensource#15)

Co-authored-by: Philip Keller <keller@fzi.de>
Co-authored-by: Shubham <52372631+skpawar1305@users.noreply.github.com>

* Add changes from [SW-141] Checking edge cases in upload_graph (rai-opensource#12)

Co-authored-by: kzheng <125413689+kaiyu-zheng@users.noreply.github.com>

* Updated bosdyn to 3.2.3 (rai-opensource#16)

* [OC-4] Build a Spot Dance Interface (rai-opensource#17)

* [OC-5] add method to upload hardcoded file

* [OC-4] Code cleanup for PR

* [OC-4] Create separate SpotDacing class

* [OC-4] remove old execute_dance code

* [OC-4] Fix authentication method for compatibility with WUD test

* [OC-5] format files with black

* [OC-4] Modify code based on PR comments

* delete execute_dance from wrapper.py

* [OC-4] Get lease from decorator

* [OC-4] Remove print statements

* [OC-4] Remove extra imports

* [OC-4] Remove extra argument

* formatting

* fix startup issues when choreography or arm is not present

* small changes to choreo check and output when services are not available

* better choreo ordering

* message when choreo module is missing

* cleanup unused spot_image and renamed graphnav private methods

* update graph_nav private methods

* custom arm not found Exception

* _get_lease private method in graphNav

* fix black

* import ordering and removal of unused imports

* wait for arm commands to complete rather than sleeping, using block_until_arm_arrives SDK function

* no longer use convenience dict to access robot params in wrapper class

* missed some robot params usages in wrapper

* add block_until_manipulation_completes method

* improve arm module comments, manipulation request actually makes use of the timesync endpoint and end time

* restore wrapper to main branch state

* restore cam wrapper to main

* restore graph nav util to main

* unnecessary change

* remove unrelated module code

* wrapper changes, explicit clients, add todo notes

* missed image client

* remove hand image task, use robot state

* formatting

* blocking stand sets the is_standing state, fix construction of arm cartesian command frame

* move robot command and state classes into a helper file to avoid circular imports in modules

* import from wrapper helpers

* function to properly block on gripper commands

---------

Co-authored-by: jeremysee2 <32976023+jeremysee2@users.noreply.github.com>
Co-authored-by: Andrew Messing <129519955+amessing-bdai@users.noreply.github.com>
Co-authored-by: Kaiyu Zheng <125413689+kaiyu-zheng@users.noreply.github.com>
Co-authored-by: myeatman-bdai <129521731+myeatman-bdai@users.noreply.github.com>
Co-authored-by: Philip Keller <keller@fzi.de>
Co-authored-by: Shubham <52372631+skpawar1305@users.noreply.github.com>
Co-authored-by: David Watkins <129521611+davidwatkins-bdai@users.noreply.github.com>
Co-authored-by: Vedant Gupta <134331854+Guptabot@users.noreply.github.com>
Co-authored-by: Ming Jie See <jeremysee_2@hotmail.com>
heuristicus added a commit that referenced this pull request Jul 26, 2023
* refactored code into modules

* refactored image service

* cleanup imports

* add unit tests for some graph_nav_util functions

* pip install requirements

* typing changes

* absolute paths

* clone to specific directory

* check file structure for CI

* check files

* check files

* add test script

* install spot wrapper

* install script

* remove asyncimageservice

* use robot_params to share state variables

* Pytest replacement (#1)

* use pytest instead

* add pytest dependency

* fail test on purpose

* remove failing test

* replace print() with self._logger.error()

* image publishing works well

* moved SPOT_CLIENT_NAME

* static typing for claim()

* black formatting

* comments and passing error feedback

* remove spot_config

* use fstring for short code, move wrench from msg function to class body

* Add changes from [SW-62] Elements for publishing the hand camera in spot_ros2 (rai-opensource#7)

Co-authored-by: Andrew Messing <129519955+amessing-bdai@users.noreply.github.com>

* Wrapper for spot cam interaction (#4)

* simple led brightness control, only able to set all leds to same value

* Add power control, but unclear if it is actually possible to set power for aux and external mic

* most basic functional image stream publisher with webrtc

* add compositor to handle IR and webrtc stream selection with services

Add timestamp for the webrtc images

Add compressed version of the webrtc image stream

* Add health wrapper, move body of robotToLocalTime out of spot wrapper object

robotToLocalTime now takes the timestamp and a robot object, which allows it to
be used by the spot cam wrapper as well.

* add handler and wrapper for audio commands

* update webrtc_client to 3.2 version

* add stream quality wrapper and ros handler

* initial implementation of ptz wrapper and handler, can list ptzs

* ptz handler publishes position and velocity of ptzs, can set position and velocity

* add egg info to gitignore

* fix bad indent after cherry-pick

* fix formatting

* fix short code conversion

* Always include exception message in response strings (rai-opensource#8)

* fix trajectory status unknown not being reset in trajectory command and async idle (rai-opensource#10)

* Add changes from [SW-127] Add function to get images by cameras (rai-opensource#11)

Co-authored-by: Kaiyu Zheng <125413689+kaiyu-zheng@users.noreply.github.com>

* fix dataclass typing issue for older python versions (20.04), check lease object is initialised in claim function (rai-opensource#14)

* remove old camera task mapping introduced in merge

* formatting

* Add changes from [WUD-126] Add manipulation client (rai-opensource#13)

Co-authored-by: myeatman-bdai <129521731+myeatman-bdai@users.noreply.github.com>

* Add changes for added support for the rgb_cameras parameter in spot_ros2 (rai-opensource#15)

Co-authored-by: Philip Keller <keller@fzi.de>
Co-authored-by: Shubham <52372631+skpawar1305@users.noreply.github.com>

* Add changes from [SW-141] Checking edge cases in upload_graph (rai-opensource#12)

Co-authored-by: kzheng <125413689+kaiyu-zheng@users.noreply.github.com>

* Updated bosdyn to 3.2.3 (rai-opensource#16)

* [OC-4] Build a Spot Dance Interface (rai-opensource#17)

* [OC-5] add method to upload hardcoded file

* [OC-4] Code cleanup for PR

* [OC-4] Create separate SpotDacing class

* [OC-4] remove old execute_dance code

* [OC-4] Fix authentication method for compatibility with WUD test

* [OC-5] format files with black

* [OC-4] Modify code based on PR comments

* delete execute_dance from wrapper.py

* [OC-4] Get lease from decorator

* [OC-4] Remove print statements

* [OC-4] Remove extra imports

* [OC-4] Remove extra argument

* formatting

* fix startup issues when choreography or arm is not present

* small changes to choreo check and output when services are not available

* better choreo ordering

* message when choreo module is missing

* cleanup unused spot_image and renamed graphnav private methods

* update graph_nav private methods

* custom arm not found Exception

* _get_lease private method in graphNav

* fix black

* import ordering and removal of unused imports

* wait for arm commands to complete rather than sleeping, using block_until_arm_arrives SDK function

* no longer use convenience dict to access robot params in wrapper class

* missed some robot params usages in wrapper

* add block_until_manipulation_completes method

* improve arm module comments, manipulation request actually makes use of the timesync endpoint and end time

* restore wrapper to main branch state

* restore cam wrapper to main

* restore graph nav util to main

* remove unrelated modules

* more minor fixes to remove unrelated stuff

* wrapper bits for spot check, explicit clients to init function of module

* make use of new robot state to check the is_sitting state

* import ordering

* formating

* more formatting

---------

Co-authored-by: jeremysee2 <32976023+jeremysee2@users.noreply.github.com>
Co-authored-by: Andrew Messing <129519955+amessing-bdai@users.noreply.github.com>
Co-authored-by: Kaiyu Zheng <125413689+kaiyu-zheng@users.noreply.github.com>
Co-authored-by: myeatman-bdai <129521731+myeatman-bdai@users.noreply.github.com>
Co-authored-by: Philip Keller <keller@fzi.de>
Co-authored-by: Shubham <52372631+skpawar1305@users.noreply.github.com>
Co-authored-by: David Watkins <129521611+davidwatkins-bdai@users.noreply.github.com>
Co-authored-by: Vedant Gupta <134331854+Guptabot@users.noreply.github.com>
Co-authored-by: Ming Jie See <jeremysee_2@hotmail.com>
Co-authored-by: Andrew Messing <amessing@theaiinstitute.com>
@heuristicus heuristicus closed this Aug 3, 2023
heuristicus added a commit that referenced this pull request Aug 5, 2023
* refactored code into modules

* refactored image service

* cleanup imports

* add unit tests for some graph_nav_util functions

* pip install requirements

* typing changes

* absolute paths

* clone to specific directory

* check file structure for CI

* check files

* check files

* add test script

* install spot wrapper

* install script

* remove asyncimageservice

* use robot_params to share state variables

* Pytest replacement (#1)

* use pytest instead

* add pytest dependency

* fail test on purpose

* remove failing test

* replace print() with self._logger.error()

* image publishing works well

* moved SPOT_CLIENT_NAME

* static typing for claim()

* black formatting

* comments and passing error feedback

* remove spot_config

* use fstring for short code, move wrench from msg function to class body

* Add changes from [SW-62] Elements for publishing the hand camera in spot_ros2 (rai-opensource#7)

Co-authored-by: Andrew Messing <129519955+amessing-bdai@users.noreply.github.com>

* Wrapper for spot cam interaction (#4)

* simple led brightness control, only able to set all leds to same value

* Add power control, but unclear if it is actually possible to set power for aux and external mic

* most basic functional image stream publisher with webrtc

* add compositor to handle IR and webrtc stream selection with services

Add timestamp for the webrtc images

Add compressed version of the webrtc image stream

* Add health wrapper, move body of robotToLocalTime out of spot wrapper object

robotToLocalTime now takes the timestamp and a robot object, which allows it to
be used by the spot cam wrapper as well.

* add handler and wrapper for audio commands

* update webrtc_client to 3.2 version

* add stream quality wrapper and ros handler

* initial implementation of ptz wrapper and handler, can list ptzs

* ptz handler publishes position and velocity of ptzs, can set position and velocity

* add egg info to gitignore

* fix bad indent after cherry-pick

* fix formatting

* fix short code conversion

* Always include exception message in response strings (rai-opensource#8)

* fix trajectory status unknown not being reset in trajectory command and async idle (rai-opensource#10)

* Add changes from [SW-127] Add function to get images by cameras (rai-opensource#11)

Co-authored-by: Kaiyu Zheng <125413689+kaiyu-zheng@users.noreply.github.com>

* fix dataclass typing issue for older python versions (20.04), check lease object is initialised in claim function (rai-opensource#14)

* remove old camera task mapping introduced in merge

* formatting

* Add changes from [WUD-126] Add manipulation client (rai-opensource#13)

Co-authored-by: myeatman-bdai <129521731+myeatman-bdai@users.noreply.github.com>

* Add changes for added support for the rgb_cameras parameter in spot_ros2 (rai-opensource#15)

Co-authored-by: Philip Keller <keller@fzi.de>
Co-authored-by: Shubham <52372631+skpawar1305@users.noreply.github.com>

* Add changes from [SW-141] Checking edge cases in upload_graph (rai-opensource#12)

Co-authored-by: kzheng <125413689+kaiyu-zheng@users.noreply.github.com>

* Updated bosdyn to 3.2.3 (rai-opensource#16)

* [OC-4] Build a Spot Dance Interface (rai-opensource#17)

* [OC-5] add method to upload hardcoded file

* [OC-4] Code cleanup for PR

* [OC-4] Create separate SpotDacing class

* [OC-4] remove old execute_dance code

* [OC-4] Fix authentication method for compatibility with WUD test

* [OC-5] format files with black

* [OC-4] Modify code based on PR comments

* delete execute_dance from wrapper.py

* [OC-4] Get lease from decorator

* [OC-4] Remove print statements

* [OC-4] Remove extra imports

* [OC-4] Remove extra argument

* formatting

* fix startup issues when choreography or arm is not present

* small changes to choreo check and output when services are not available

* better choreo ordering

* message when choreo module is missing

* cleanup unused spot_image and renamed graphnav private methods

* update graph_nav private methods

* custom arm not found Exception

* _get_lease private method in graphNav

* fix black

* import ordering and removal of unused imports

* wait for arm commands to complete rather than sleeping, using block_until_arm_arrives SDK function

* no longer use convenience dict to access robot params in wrapper class

* missed some robot params usages in wrapper

* add block_until_manipulation_completes method

* improve arm module comments, manipulation request actually makes use of the timesync endpoint and end time

* restore wrapper to main branch state

* restore cam wrapper to main

* restore graph nav util to main

* unnecessary change

* remove other modules and old graph nav util

* wrapper changes and explicit clients

* doesn't actually need robot_params

* Remove import of graph nav utils

* Commented out some decorator functions which are no longer in the wrapper.py. Will get rid of these comments upon final revision

* Updated some minor bug fixes with modular-graphnav and tested on hardware

* formatting

---------

Co-authored-by: jeremysee2 <32976023+jeremysee2@users.noreply.github.com>
Co-authored-by: Andrew Messing <129519955+amessing-bdai@users.noreply.github.com>
Co-authored-by: Kaiyu Zheng <125413689+kaiyu-zheng@users.noreply.github.com>
Co-authored-by: myeatman-bdai <129521731+myeatman-bdai@users.noreply.github.com>
Co-authored-by: Philip Keller <keller@fzi.de>
Co-authored-by: Shubham <52372631+skpawar1305@users.noreply.github.com>
Co-authored-by: David Watkins <129521611+davidwatkins-bdai@users.noreply.github.com>
Co-authored-by: Vedant Gupta <134331854+Guptabot@users.noreply.github.com>
Co-authored-by: Ming Jie See <jeremysee_2@hotmail.com>
Co-authored-by: Brandon Hung <bhung@theaiinstitute.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

Successfully merging this pull request may close these issues.

5 participants