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

Create controllers to simulate heave cone and battery messages #121

Closed
mabelzhang opened this issue Jan 23, 2023 · 5 comments · Fixed by #128 or #130
Closed

Create controllers to simulate heave cone and battery messages #121

mabelzhang opened this issue Jan 23, 2023 · 5 comments · Fixed by #128 or #130
Assignees

Comments

@mabelzhang
Copy link
Collaborator

mabelzhang commented Jan 23, 2023

Create messages for heave cone (TFRecord) and battery (BCRecord) in buoy_interfaces/msg

Possibly add messages that match buoy, even if those values don't appreciably change, e.g. hydrogen in battery.

Assign one of @rhenthorn + @quarkytale

@mabelzhang
Copy link
Collaborator Author

Consider using SCRecord (spring controller) or PCRecord (power controller) as reference

@andermi
Copy link
Collaborator

andermi commented Feb 1, 2023

the SpringController is a good example. Just ignore the services for commands

some steps:
make a component .hpp file

  • make a state struct like this
  • register it as a component like this

in the plugin where the data originates

  • access the state data component from the ECM like this in preupdate
  • set struct data like this in preupdate
  • write data to the ECM like this in preupdate

in the ROS2 controller plugin

  • access state data component from ECM like this in postupdate
  • set ROS2 message data like this from the state data struct in postupdate
  • make a private struct to hold ROS2 stuff like this
  • make a struct for other private stuff like this but ignore stuff about services and commands. You probably still need the mutexes for low/high priority data access

@andermi
Copy link
Collaborator

andermi commented Feb 1, 2023

@rhenthorn @quarkytale let me know if you have any questions about the steps above

@andermi
Copy link
Collaborator

andermi commented Feb 2, 2023

the Trefoil Controller will probably need to borrow from some of the stuff in the XBowAHRS controller to subscribe to IMU. Also, the Heave Cone link will need an IMU added to it (the IMU system plugin is already enabled)

@quarkytale quarkytale linked a pull request Feb 6, 2023 that will close this issue
@andermi
Copy link
Collaborator

andermi commented Feb 10, 2023

reopening for the TFController

@andermi andermi reopened this Feb 10, 2023
@quarkytale quarkytale linked a pull request Feb 10, 2023 that will close this issue
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 a pull request may close this issue.

4 participants