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

Develop Python interface to sdgps robosub-ping-solver #1288

Closed
cbrxyz opened this issue Oct 2, 2024 · 3 comments · Fixed by #1293
Closed

Develop Python interface to sdgps robosub-ping-solver #1288

cbrxyz opened this issue Oct 2, 2024 · 3 comments · Fixed by #1293

Comments

@cbrxyz
Copy link
Member

cbrxyz commented Oct 2, 2024

What needs to change?

Thanks to the great, amazing, fantastic work of Sylphase, we have a great tool for solving the localization problem with underwater microphones. We will need to develop an interface to this solver, so that we can obtain the locations of the pingers underwater at RobotX.

Relevant docs: https://docs.sylphase.com/uf/sdgps/preview/docs/html/extract-robosub-pings.html

How would this task be tested?

  1. Ensure that the library can communicate with the sdgps library.
  2. Write some tests for the library.
  3. Ensure that the library is able to communicate with the Sylphase board when ROS is launched/the boat is launched.
@alexoj46
Copy link
Contributor

alexoj46 commented Oct 7, 2024

This week I was assigned this task while on pause with the LED tower. To start, I gained access to the Sylphase discord server and GitLab, and I setup a new user for working on this on the workstation. So far I have cloned the uf/sdgps repo, installed sdgps, and successfully built and set-up sdgps on the workstation. I was able to simulate a ping using this software via the command line. I have begun ROS tutorials and research for completing the next steps, which entail writing a python server to receive TCP data from sdgps, and publishing it to the robot with ROS. Separately this week, Cameron taught me more about the general workings of Navigator, especially its software, and I attended today's testing session.

@alexoj46
Copy link
Contributor

This week, I wrote a Python server receives the simulated ping from sdgps and publishes that message as to a ROS topic. This works by connecting to the sdgps output with TCP, then creating a ROS publisher and retransmitting the message. I plan to tweak the message formatting, as well as clean up the code and change the ROS topic name, in this coming week. I also attended today's testing session.

@alexoj46
Copy link
Contributor

This week, I opened the PR above (still needs some cleaning up/comments, but wanted it available for testing today). This required integrating the publisher within the mil_passive_sonar package and fixing the message format to be a ROS msg. This also meant building sdgps on my UTM machine and rewriting some things because of the power outage in MALA. I also attended today's testing session.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants