SNL-WaterPower / WecOptTool-MATLAB

WEC Design Optimization Toolbox
GNU General Public License v3.0
12 stars 9 forks source link

Generate arbitrary kinematics #66

Open ryancoe opened 4 years ago

ryancoe commented 4 years ago

We would like to have an easy means of generating (not necessarily solving) the kinematic constraints for arbitrary linkages. Some ideas/references:

  1. https://github.com/WEC-Sim/WEC-Sim/pull/160
  2. https://www.researchgate.net/publication/325813341_New_Mechanical_Features_for_Time-Domain_WEC_Modelling_in_InWave
  3. https://www.mscsoftware.com/product/adams
  4. https://blogs.mathworks.com/simulink/2014/07/10/from-solidworks-to-simmechanics/
  5. https://www.mathworks.com/help/robotics/ug/rigid-body-tree-robot-model.html

@gbacelli @josyoun

ryancoe commented 4 years ago

@gbacelli created the diagram below with a concept about how to deal with hydrodynamic bodies (Y_i), controllers (Y_c), and PTOs (Y_L) in a modular fashion. On the left hand side, Fe is excitation for waves. In the lower right hand corner we are looking at the electrical power out from the PTO.

IMG_0013 copy

ryancoe commented 4 years ago

@gbacelli and @ryancoe talked with Mathworks today about some potential workflows and solutions. It sounds like a very nice potential solution will be to leverage the Robotics Systems Toolbox and/or the URDFs. URDFs can be generated by various CAD tools (e.g., SolidWorks, OnShape) as well as robotics tools, such as ROS.

In MATLAB, we can import the URDF via the Robotics Systems Toolbox. We can also pull in models created in Simscape Multibody (e.g., WEC-Sim). The end result would be a Rigid Body Tree Robot Model.

WecOptTool_kinematicsWorkflo

@gbacelli is going to take a look at this and see if it's a good solution.