-
Notifications
You must be signed in to change notification settings - Fork 0
Reworked and Stable Sonar Object/Wall Detection #109
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
Merged
Merged
Changes from all commits
Commits
Show all changes
79 commits
Select commit
Hold shift + click to select a range
fb7507b
Sonar data from pool test on 10/19 added to /onboard/src/sonar/sweep_…
AnthonZh b011ac8
Renamed sweep data
AnthonZh f512d5a
Added skeletons for fourier
AnthonZh 3cf834e
Added fourier transform to sonar image processing
AnthonZh 22c2a38
changed return of fourier transform to include the gradian space image
AnthonZh 3a5bcbb
Changing Sonar Package
AnthonZh ac4556c
Sonar Denoising
AnthonZh 63fe11a
Ready for 11/8 Pool Test program - added comments to indicate tempora…
AnthonZh c81bb3a
Fixed the Pool Test error with wrong variable name
AnthonZh 1002a8f
Move methods from Sonar class which are more utility than interfacing…
AnthonZh 14221b9
Ported over and began documenting code to find the regressions and di…
AnthonZh b7c0c3a
Update Sonar Object Detection
AnthonZh fe3e77f
Merge branch 'main' into sonar-processing
AnthonZh 7539ce3
Fixed the program so that sonar request does not crash
duke-robotics-oogway 69f7efa
Ported over normal and object detection code
AnthonZh fd11cea
Finished porting over get_xy_of_object_in_sweep
AnthonZh 880da11
Ported one last method from sonar to sonar_utils (convert_to_ros_comp…
AnthonZh 91f1742
Update sonar so that it runs on land, need to test for pool
duke-robotics-oogway f84beea
Transform poses & angles to account for cartesian forward being along…
AnthonZh dc619fd
Transform pose into posestamped
AnthonZh 2628af0
Fixed sonar issues: the main issue was passing in ints to the pose in…
duke-robotics-oogway d589694
Clean up Sonar Imports and make sonar_image from int array be a uint8…
AnthonZh 3a3c58a
Added scikit-image to dockerfile for sonar
duke-robotics-oogway 5c1666c
Changed topic names to better reflect what is being published, make c…
duke-robotics-oogway b7a7e6a
Merge branch 'main' into sonar-processing
AnthonZh 24545e7
Fix linting issues
AnthonZh e014c8e
Created a README for the sonar package
AnthonZh 4aae791
Fixed Sonar pose estimation from 1/11 pool test
duke-robotics-oogway f5d083f
Added wall angle publisher
AnthonZh c33da01
Merge branch 'sonar-processing' of github.com:DukeRobotics/robosub-ro…
duke-robotics-oogway cc3066d
Testing
pranavbijith1 d8a9cd5
Linting sonar.py, sonar_object_detection.py, and sonar_tasks.py
AnthonZh 115f26e
Linting pt 2: sonar_tasks.py, sonar_utils.py, and sonar.py
AnthonZh bf22900
cv is broken so tried dead reckon prequal
duke-robotics-oogway ffd1462
Fixed sonar/wall/angle topic and make it publish relevant wall angle …
duke-robotics-oogway 7086cc0
removed get_normal_angle task
pranavbijith1 62da56d
Re-added normal angle getter method
pranavbijith1 865c17c
Revert spillover from prequal branch
AnthonZh 865c8d3
sonar tasks debuggers updated
pranavbijith1 b52d325
Fixed linting errors we determined to be real errors (a few linting e…
AnthonZh a88ac8a
Merge branch 'sonar-processing' of github.com:DukeRobotics/robosub-ro…
AnthonZh 0f6ac2e
Linting test
viethungle-vt1401 a5e367a
fixed the logger
pranavbijith1 5af7600
Merge branch 'sonar-processing' of github.com:DukeRobotics/robosub-ro…
viethungle-vt1401 e9d2586
added an await for the future
pranavbijith1 53e06a5
converted normal_angle to degrees
pranavbijith1 271f916
Fixed sonar tasks using land testing, added more robust checks and re…
duke-robotics-oogway ebbf3b6
Removed semicolons on return statements
duke-robotics-oogway 75a04a7
fixed f strings
pranavbijith1 510c17e
fixed f strings
pranavbijith1 0eca97a
fixed errors using linting
pranavbijith1 5f75667
Added wall angle onto SonarSweepRequest's response
AnthonZh a09cbc2
fixed linting issue in get_xy_of_object_in_sweep
AnthonZh d05bb60
Added new sonar task to align to a wall, need to check my geometry, t…
AnthonZh c0f80a1
Fixing rotate_to_normal
duke-robotics-oogway bec9f5b
Added cases for rotate_to_normal
AnthonZh 1c44082
Made merges more likely
AnthonZh 4cc8b78
Revert "Added cases for rotate_to_normal"
duke-robotics-oogway 11071a6
Merge branch 'sonar-processing' of github.com:DukeRobotics/robosub-ro…
duke-robotics-oogway f9888eb
Made merges even more likely
duke-robotics-oogway dfe60fa
move await to rotate_to_normal so we directly interface with the future
AnthonZh 79bfa1f
Merge branch 'sonar-processing' of github.com:DukeRobotics/robosub-ro…
AnthonZh 520859d
Merge branch 'sonar-processing' of github.com:DukeRobotics/robosub-ro…
duke-robotics-oogway b06783d
Testing on Oogway + Fix DockerFile
duke-robotics-oogway 1777f2a
Fixed Future awaited twice error, issue in task.py primarily
duke-robotics-oogway 56c07b5
Cleaning up Sonar from pool test code
AnthonZh 2682f3b
Fixed sonar
duke-robotics-oogway 1a723af
Merge branch 'main' into sonar-processing
AnthonZh bdf794c
Linting to prepare for PR
AnthonZh 7f1f3c6
Updated Readme to include types and removed floating point errors
AnthonZh 2cd0da9
Made SonarSegmentation2 name more descriptive, reverted prequal chang…
AnthonZh a369011
Merge branch 'main' into sonar-processing
ChuChuCodes0414 9fe76b9
Apply suggestions from code review
AnthonZh 4131b14
Follow suggestion on valueerror
AnthonZh fb0b572
Apply suggestions from code review
AnthonZh 1d9039b
Fixed GlobalSonarSegmentation issue
AnthonZh a9cf416
Fix linting issues
AnthonZh a01dd87
Remove unnecessary code and packages
duke-robotics-oogway 0ee2947
anthony changes
duke-robotics-oogway File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,3 +10,4 @@ bool is_object | |
|
|
||
| geometry_msgs/PoseStamped pose | ||
| float64 normal_angle | ||
| float64 angle_of_wall | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| # Sonar | ||
|
|
||
| The sonar package listens from sonar ping data from the Blue Robotics Ping360. We then run a denoising pipeline which primarily utilizes 2D FFTs to allow for object detection within the scan. The package publishes sonar scans as they are run. | ||
|
|
||
| ## Structure | ||
| The following are the folders and files in the sonar package: | ||
| `config`: Robot-specific config files for the sonar package. | ||
| `launch`: Contains the launch files for the Sonar package. | ||
| `resource`: Empty ROS2 resource directory. | ||
| `sonar`: | ||
| - `decode_ping_python_360.py`: Directly interfaces with the Ping360 to decode messages. | ||
| - `sonar_image_processing.py`: Contains utility methods to process Sonar images. | ||
| - `sonar_object_detection.py`: Contains pipeline for sonar denoising and object detection. | ||
| - `sonar_utils.py`: Contains utility sonar methods for sonar calculations. | ||
| - `sonar_test_client`: Creates client node to send sonar sweep requests. | ||
| - `sonar.py`: Contains logic to initialize and run the sonar node. | ||
| `sweep_data`: Sample raw sonar scan data. | ||
|
|
||
| ## Config | ||
| The `config` directory contains robot-specific `.yaml` files. The format is as follows: | ||
| ```yaml | ||
| ftdi: <string> FTDI device serial number of the USB-to-serial adapter used by the Ping360 | ||
| center_gradians: <float> Referencing heading for center direction of the sonar | ||
| increase_ccw: <bool> Whether angle values increases counterclockwise or not | ||
| ``` | ||
|
|
||
| ## Topics | ||
|
|
||
| ### Published | ||
| - `/sonar/image/raw` | ||
| - When the sonar pipeline runs, it publishes the raw sonar image to this topic | ||
| - Type: `sensor_msgs/CompressedImage` | ||
| - `/sonar/image/compressed` | ||
| - When the sonar pipeline runs, it publishes the denoised image to this topic | ||
| - Type: `sensor_msgs/CompressedImage` | ||
| - `/sonar/wall/angle` | ||
| - When the sonar pipeline runs, it publishes the relative angle of a wall (if found) to the robot | ||
| - When it faces directly at a wall: 0 radians, if it is parallel with the wall on the right side: pi/2 radians, if it is parallel with the wall on the left side: -pi/2 radians. | ||
| - Type: `std_msgs/msg/Float32` | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.