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 communication library for ball shooter board #1275

Closed
cbrxyz opened this issue Sep 8, 2024 · 3 comments
Closed

Add communication library for ball shooter board #1275

cbrxyz opened this issue Sep 8, 2024 · 3 comments

Comments

@cbrxyz
Copy link
Member

cbrxyz commented Sep 8, 2024

What needs to change?

We will need to design a library to speak with the new ball shooter/actuator board. This board will likely include two controls:

  1. Spin up the motors quickly
  2. Drop a ball into the motors

We will need to a design library that can communicate with this board. The design (ie, ROS topics/services/etc.) should mirror the method to fire balls in VRX.

Relevant electrical issue: uf-mil-electrical/NaviGator#3

How would this task be tested?

  1. Ensure that our library successfully communicates with the board/device.
  2. Ensure that the ROS inputs are visible/can be called.
  3. Ensure that no improper states can be set. (ie, will trying to spin up the motors once they are already spinning cause an error?)
  4. Ensure that the ROS inputs trigger the board properly
@Shxl2
Copy link

Shxl2 commented Sep 14, 2024

Ball Shooter Board drawio

I'm planning to make a ROS node similar to the HW kill driver that will handle all the codes that are sent and received to the board and will subscribe to topics that control the motor and servo from other nodes. Ideally the node would also have publishers that output telemetry from the actuators but I do not yet know the exact details of what is being communicated from the board. So far in the flowchart I just have the logic for the connection to the board through serial.

@Shxl2
Copy link

Shxl2 commented Sep 23, 2024

For this week, I have begun writing code for the ROS package. Right now, I am copying the code for the HW kill driver and using that as a template for the actual driver and it's sim classes. When I receive the codes needed to communicate with the board, I will add them to the constants file, and write the methods to shoot. Until then, the methods will be empty.

@cbrxyz
Copy link
Member Author

cbrxyz commented Sep 27, 2024

@Shxl2 - Hey Javier! I hope you're doing well, and staying safe. Super sorry, but I accidentally completed this issue and didn't realize that you were assigned to it/interested in doing it. I would reach out to Daniel (your mentor) to find another task that you can work on. You're welcome to reach out to me as well! Again, super sorry about this!

cbrxyz added a commit that referenced this issue Oct 22, 2024
cbrxyz added a commit that referenced this issue Oct 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants