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

Research for Controls #14

Open
3 tasks
DFriend01 opened this issue Oct 26, 2022 · 0 comments
Open
3 tasks

Research for Controls #14

DFriend01 opened this issue Oct 26, 2022 · 0 comments
Assignees
Labels
ctrl Controls tasks research Research for new feature

Comments

@DFriend01
Copy link

DFriend01 commented Oct 26, 2022

Purpose

This issue outlines the research tasks to be done for the controls team. We should start as soon as we can, and the ideal deadline to have our research done is Early Winter Term 2 (2023).

Research Topics

The Rudder Controller

Description and Goal

The rudder controller adjusts the rudder angle according to the desired heading that we wish to sail towards and the type of
turn that we wish to perform. The goal is to describe the rudder angle with respect to inputs like desired heading, wind direction, etc., which can then be converted to some feedback that tells the controller to perform a certain action (i.e. turn the rudder CW or CCW).

Considerations

  • The types of turns that we will likely consider are tacking, gybing (jibing), and a direct turn.
  • We will likely reuse most of what we have used for Raye for the rudder controller, but we should still try to see if others have tried a similar method or something different. It may confirm or deny our current beliefs, and we can act according to our findings.
  • There may be different types of controllers depending on the action we are performing (like tacking or gybing), so be sure to keep an eye out for those. We may want to take advantage of multiple controllers, not just one. This can also apply to different points of sail as well.

Resources

The Sail Controller

Description and Goals

The sail controller turns the sail to maximize the amount of wind hitting the sail so that the sailboat can move forwards. The goal is to define a controller such that the wind hitting the sail is maximized.

Considerations

  • The type of sail that we are using is different from Raye. Instead of using a cloth sail, we are using a wingsail. This may require a different controller than the one we use previously on Raye since the physics of a wingsail are very different.

Resources

The Boat Simulator

Description and Goals

The boat simulator emulates the environment and the physics of a vessel subject to our controller and local pathfinding. The goal is determine how we can develop such a simulator. There are three main components of the simulator:

  1. The Environment: The open ocean. This will emulate any sensor readings that we get like wind velocity, current velocity, etc.
  2. The Agent: The sailboat. This will emulate the vessel and how it physically responds to both the environment and our controller.
  3. The GUI: The GUI to visualize our simulator.

Considerations

  • We want to avoid reinventing the wheel as much as possible. It will be important to research existing solutions and if we can potentially integrate that into ROS. This is particularly important for the environment, as it is difficult to simulate in general.
  • It will most likely be easier to implement the logic for the agent rather than the environment if we are given the physics equations. Then, it just becomes a software engineering problem from there.
  • We can likely use most of the functionality that ROS provides to implement the GUI if we need to

Resources

Confluence

Pages for research notes have been created on Confluence. They are as follows:

There is also a page for some research tips for your reference.

@DFriend01 DFriend01 added enhancement New feature or request ctrl Controls tasks labels Oct 26, 2022
@DFriend01 DFriend01 moved this to Backlog in SOFT Project Oct 26, 2022
@DFriend01 DFriend01 added research Research for new feature and removed enhancement New feature or request labels Oct 26, 2022
@DFriend01 DFriend01 moved this from Backlog to Todo in SOFT Project Oct 29, 2022
@patrick-5546 patrick-5546 added tasklist Issue tracker and removed tasklist Issue tracker labels Jan 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ctrl Controls tasks research Research for new feature
Projects
Archived in project
Development

No branches or pull requests

5 participants