GithubHelp home page GithubHelp logo

osrf / mbari_wec Goto Github PK

View Code? Open in Web Editor NEW
13.0 7.0 4.0 16.28 MB

Entrypoint to wave harvesting buoy

Home Page: https://osrf.github.io/mbari_wec/

Shell 47.26% Dockerfile 52.74%
gazebo ros simulation maritime wave-energy

mbari_wec's People

Contributors

andermi avatar chapulina avatar hamilton8415 avatar mabelzhang avatar mjcarroll avatar quarkytale avatar robertmcewen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

mbari_wec's Issues

Add GIF to docs front page

Add a GIF to top-level README or docs site illustrating buoy simulation

@hamilton8415 do you still have the GIF of the buoy moving in faster than real time that you posted a few weeks ago? That'd be a quick one to grab.

Host Docker image

"Ideally we can create a fully formed environment available that includes everything one needs, and then hosted it somewhere."

On hold until #81 and rest of source code becomes more stable.

colcon build: conflicting option string

I followed the entrypoint instructions in the readme starting on step 3. The install (apt and rosdep) upgraded some packages and installed some missing.
I also had to install rosdep so I ran these instructions from galactic install:

sudo apt update && sudo apt install -y \
  build-essential \
  cmake \
  git \
  python3-colcon-common-extensions \
  python3-flake8 \
  python3-pip \
  python3-pytest-cov \
  python3-rosdep \
  python3-setuptools \
  python3-vcstool \
  wget
# install some pip packages needed for testing
python3 -m pip install -U \
  flake8-blind-except \
  flake8-builtins \
  flake8-class-newline \
  flake8-comprehensions \
  flake8-deprecated \
  flake8-docstrings \
  flake8-import-order \
  flake8-quotes \
  pytest-repeat \
  pytest-rerunfailures \
  pytest \
  setuptools

Now, when I colcon build, I get the following error:
ERROR:colcon.colcon_core.package_selection:Exception in package selection extension 'override_check': argument --allow-overriding: conflicting option string: --allow-overriding

I doubt this is specific to our environment. Should I post this issue somewhere (ros.answers / another github)? Do you know of a fix for this?

The workspace still builds and I can still run ros2 launch buoy_gazebo buoy.launch.py

Update maintainers

Remove maintainers no longer on project
And move old maintainers to authors (standard ROS practice)

Create Controller Tutorials

Python

  • template repository -- #25
  • external controller example -- simple linear damper (torque controller) -- #33

C++

  • template repository -- #29
  • external controller example -- simple linear damper (torque controller) #43

Need to reconfigure keyboard every time inside docker container

Each time running the docker image, I'm required to setup keyboard. This is happening only while installing dependencies using rosdep the first time in a fresh container.

debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 892.)
debconf: falling back to frontend: Readline
Extracting templates from packages: 100%
Preconfiguring packages ...
Configuring keyboard-configuration
----------------------------------

The layout of keyboards varies per country, with some countries having multiple
common layouts. Please select the country of origin for the keyboard of this
computer.

Setting ENV DEBIAN_FRONTEND=noninteractive in the Dockerfile should take care of this already. Anyone else seeing the same issue?

rename simulation output files versus default timestamp

Hi, where are the output file names determined in the code? Is it possible to change to a custom name or using variables defined in the startup batch file?

I'm looking to find a way to change this before a simulation so that instead of defaulting to e.g. batch_results_20230228210735/results_run_0_20230301200627/pblog/results_run_0_20230301200627.csv
it could be, e.g.:
batch_amp1_per6_results/amp1_per6_results/pblog/amp1_per6_results.csv
?

Would just make it easier to sort through when post-processing later
Thanks!

Rename repos

Rename

  • buoy_entrypoint to mbari_wec
  • buoy_sim to mbari_wec_gz mbariwec_sim / mbariwec_simulator (long name) / mbariwec_gz (to avoid name clash with the other DoE WEC Sim project)
  • buoy_msgs to mbariwec_interfaces / mbariwec_api / mbari_wec_comms / mbari_wec_utils
    • Suffixes for reference: msgs, interfaces, comms, common, utils, support, module, suite, extensions
    • Rename both the repo and the meta-package currently called buoy_sim, and remove buoy_msgs from buoy_gazebo package.xml

Followup:

  • Currently, README and other documentation refer to "Buoy Sim" as the project name, corresponding to the old repo name buoy_sim. Since we've now changed that repo name to mbari_wec_gz, "Buoy Sim" doesn't correspond to anything anymore and could confuse readers. What do we want to call the project? To be explicit and avoid name clashing with "WEC Sim", maybe "MBARI WEC Gz Simulation" for the first time in a document, and subsequent occurrences a shorter "WEC Gz Sim"? Original comment #38 (comment)

Documentation site

Setup a documentation site that will hold:

  • A system overview with sensors and actuators, control theory introduction, details about existing models and results, links to publications, etc.
  • Code documentation (messages, APIs, implementation details)
  • Tutorials to get started with simulation

One promising direction is to use Read The Docs hosted on GitHub pages from this repository.

Binary release

Eventually release Debian packages to lower barriers to entry for users.

Easiest and fastest way is to use Bloom to release to rosdistro. There may be some work needed to look up if the Gazebo version we're using is officially supported by / shipped with the ROS 2 version we're using, and if not, what to do with the dependency in rosdep keys.

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.