GithubHelp home page GithubHelp logo

Comments (7)

kmdalal avatar kmdalal commented on June 3, 2024

@oceank , thanks for the detailed report. Here's some feedback:

  • If you've been reading our weekly updates, the power model has had a lot of work recently, to correct many known problems in Release 9. Many fixes and improvements just got merged to the noetic-devel branch -- please use this branch and not master for any continued work.
  • The erratic RUL problem you report is a known problem in Release 9 and still under investigation. Do not use RUL for now. From prognostics, use state of charge and temperature; or use the mechanical_power telemetry you have mentioned. This should change your results quite a bit!
  • Both of your hypotheses sound reasonable to me, up to two factors we have not studied. One is the stochasticity of the prognoser (GSAP) and variances this produces. The second is the difference in battery state between two different operations; e.g. is the rate of discharge different at various points in the battery's life. @chetankul can comment more in this area.
  • Energy consumption of Downlinking is not modeled -- it is a stub. In fact, communications are not modeled at all in this testbed.

from ow_simulator.

chetankul avatar chetankul commented on June 3, 2024

@oceank Thank you for the report and questions on the power module.

My response to the two hypothesis is as below

Hypothesis 1: the operations of the same kind with the same context, e.g., grinding at the location A, are expected to result in similar energy consumption, i.e., similar reduced RUL. If the energy consumption of the two runs differs, how does the variation look like?

If the energy consumption in the two runs is within 10 watts no significant change would be observed in the RUL. But if the energy consumption is high RUL values may be different. This difference also depends on where in the SOC the actions are performed. If early in the discharge cycle or later in the discharge cycle. As @kmdalal mentioned GSAP battery model does have variance in outputs which are within a low threshold boundary envelope.

Hypothesis 2: the operations of the same kind with different work loads are expected to result in different energy consumption, i.e., reduced RUL, correspondingly. For example, we expect to see the energy cost of delivering a sample from location A to location B is smaller than that of delivering the sample from location A to location C if distance(A, B) < distance(A, C).

This hypothesis is correct. If the same operation with a different workload is performed the amount of energy drawn will be different and the RUL will depend on load profile as mentioned in the question.

from ow_simulator.

kmdalal avatar kmdalal commented on June 3, 2024

@oceank , has the information provided so far helped you to progress with your work? Have you tried the noetic-devel branch of ow_simulator? Is any part of your work blocked by the issues you brought up? This information will help us prioritize what we need to develop or document.

from ow_simulator.

oceank avatar oceank commented on June 3, 2024

@kmdalal and @chetankul , the information provided clears questions and is useful for us in building a machine-learning model to predict energy consumption. Thanks a lot! Let's close this issue.

I tried with the noetic-devel branch of ow_simulator with the most recent commit 0a6f5ba, but I encountered a build error for the package, ow_regolith, which complains the 'Contacts' is not declared inside ow_simulator/ow_regolith/src/ContactSensorPlugin.cpp.

After looking around, I find a way to fix it by adding in ow_simulator/ow_regolith/CMakeList.txt the dependence for the library target, ContactSensorPlugin.

add_dependencies(ContactSensorPlugin
  ${${PROJECT_NAME}_EXPORTED_TARGETS}
  ${catkin_EXPORTED_TARGETS})

But with the successful build of the noetic-devel branch, the issue (#236 ) related to the guarded move still pops out. Having the issue of the guarded move fixed will benefit our testing since it is kind of the first and also important operation in the excavation scenario. One thing related to issue #236 I just noticed is that when sending the same parameters through rqt UI to the guarded move action, it shows success in the rqt while the log of os_simulator shows:

[INFO] [1652841963.264785, 1916525729.540000]: Ground Detected ? True
[INFO] [1652841963.266126, 1916525729.540000]: Guarded Move arm activity completed

While driving the guarded move using TestGuardedMoves.plp, the log of os_simulator is as below:

[INFO] [1652842016.680779, 1916525782.835000]: Ground Detected ? True
[INFO] [1652842017.309781, 1916525783.530000]: GuardedMove: Failed

The difference between these two tests might be something interesting to look at to fix the issue.

from ow_simulator.

mogumbo avatar mogumbo commented on June 3, 2024

add_dependencies(ContactSensorPlugin
${${PROJECT_NAME}_EXPORTED_TARGETS}
${catkin_EXPORTED_TARGETS})

I was working on the same bug earlier today. We should have a fix in noetic-devel within a couple days.

from ow_simulator.

kmdalal avatar kmdalal commented on June 3, 2024

Thanks for the feedback, @oceank . @anjan1984 has fixed the GuardedMove problem and we should have that fix merged soon. The RUL problem is being worked right now. I'll close this issue for now.

from ow_simulator.

mogumbo avatar mogumbo commented on June 3, 2024

add_dependencies(ContactSensorPlugin
{PROJECT_NAME}_EXPORTED_TARGETS}
${catkin_EXPORTED_TARGETS})

I was working on the same bug earlier today. We should have a fix in noetic-devel within a couple days.

The missing Contacts.h bug has been fixed: #242

from ow_simulator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.