stellarium icon indicating copy to clipboard operation
stellarium copied to clipboard

Usability of Stellarium on a boat

Open mgrouch opened this issue 3 years ago • 21 comments

I'm looking for help to 'slim' down Stellarium configuration for use on a boat. Basically I'm looking to make it perform and start faster on raspberry pi4. Use gpsd and use heading from autopilot. It shouldn't show too many stars (only visible ones in marine binoculars) It should act as augmented reality app (the ones you see on smart phones, i. e. adjust to the boat heading) Boat movements due to waves should be discarded (so only heading is a factor no IMUs pitch, roll) What can be done in stellarium config file to reduce amoutn of menus and dialogues too. It's overwhelming for this use case.

Thanks, --MG

mgrouch avatar Sep 24 '21 01:09 mgrouch

I'm looking for help to 'slim' down Stellarium configuration for use on a boat.

I'm afraid desktop edition of Stellarium "as is" will be not very useful in this specific case.

Basically I'm looking to make it perform and start faster on raspberry pi4.

Some speed-up can be obtaining when you disable displaying an unnecessary data for navigation (see "Configuration window" [F4] -> "Information" tab). Plus disabling plugins, like Satellites, Exoplanets, Meteor showers... Plus redice the number of Solar system bodies.

Use gpsd and use heading from autopilot.

Stellarium can use gpsd to set the location without automatisation and autopilot is unknown device for Stellarium.

It shouldn't show too many stars (only visible ones in marine binoculars)

Do not install all extra stars catalogs, probably standard package will be enough for you.

It should act as augmented reality app (the ones you see on smart phones, i. e. adjust to the boat heading) Boat movements due to waves should be discarded (so only heading is a factor no IMUs pitch, roll)

I'm afraid the support of augmented reality and IMUs is not in aim of desktop edition of Stellarium. Patches and code of plugin for support AR, IMUs, autopilot and automatization of gpsd usage are welcome.

What can be done in stellarium config file to reduce amoutn of menus and dialogues too.

No, this is impossible. But formally Stellarium can be build with other GUI (it should be implemented of course).

alex-w avatar Sep 24 '21 05:09 alex-w

If you can build Stellarium, there are build directives and flags to reduce what is actually being built, what modules may be left out etc.

An interesting question in this context is: is it possible to remove all the translation data and keep an English version only (English, because that's the native language in the source code).

axd1967 avatar Sep 24 '21 09:09 axd1967

disable translation by setting NLS_ENABLE to 0 in the cmake settings. disable building of several plugins, like telescope control, oculars, scenery3d, remotesync, pulsars, quasars (things you won't likely need on the boat) configure away menu buttons you don't need. You can use the remoteControl API to repeatedly set your heading. Such interfacing may be interesting, you could even combine that to a rotating landscape which simulates a ship's railing. (i.e. rotate so that the bow in the landscape looks towards your heading.)

gzotti avatar Sep 24 '21 14:09 gzotti

if power is an issue, you can also reduce the frame rate to e.g. 10 fps

https://github.com/Stellarium/stellarium/blob/1e617e49918ab2e5e5fad318dd1ab4024eb1e41c/plugins/Vts/data/config.ini#L385

axd1967 avatar Sep 24 '21 15:09 axd1967

disable translation by setting NLS_ENABLE to 0 in the cmake settings. disable building of several plugins, like telescope control, oculars, scenery3d, remotesync, pulsars, quasars (things you won't likely need on the boat) configure away menu buttons you don't need. You can use the remoteControl API to repeatedly set your heading. Such interfacing may be interesting, you could even combine that to a rotating landscape which simulates a ship's railing. (i.e. rotate so that the bow in the landscape looks towards your heading.)

@alex-w @gzotti @axd1967

Ok thanks. I've now got it scripted

https://github.com/bareboat-necessities/lysmarine_gen/blob/master/install-scripts/8-apps/files/stellarium-augmented.sh

azimuth 0 in Stellarium is somehow South (I'd thought it would be North)

And config:

https://github.com/bareboat-necessities/lysmarine_gen/blob/master/install-scripts/8-apps/files/stellarium-config.ini

Anything else you can spot in my config that can improve it?

Thanks, --MG

mgrouch avatar Sep 24 '21 17:09 mgrouch

Haha, this looks cool! (I have not run it, but yes, such a hackish solution is great!) Yes, with the programmable API sometimes you must do a bit more math yourself. (like azi = 0 means south, and maybe the sense of rotation is counted in the opposite direction. See API docs, and/or fix some things after a few trials.

gzotti avatar Sep 24 '21 17:09 gzotti

Nice!

Just some random thougts:

  • if there is no Internet connection, consider disabling updates of satellites
  • maybe the Quit button should be hidden to avoid Stellarium shutting down by accident
  • power saving: disable stars twinkling, moon, solar haloes, orbits
  • (do you need a satellite view on a boat? - that also absorbs power/resources!)
  • use UTC on a boat, rather than local time?
  • additional star catalogs could also weigh down on performance, so make sure to not import these by mistake. And I assume that other catalogs could also be ingested and should be avoided (DSS, TOAST, ...)

Minor comments:

  • avoid repeated strings; instead, use variables to capture common paths such as http://localhost:3000/signalk/v1/api/vessels/self/navigation and http://localhost:8090/api/ - it will make the script more readable

See API docs, and/or fix some things after a few trials.

and don't be shy: make sure to report issues rather than accept an odd/unusual API (if that might happen) and apply workarounds.

axd1967 avatar Sep 24 '21 17:09 axd1967

@alex-w @gzotti @axd1967

Few things I've noticed about Stellarium

  1. Location plugin doesn't seem update location from GPSd when I click on get GPS location button. Instead it tries to check multiple serial ports even though I didn't specify them in the config.

  2. Is there continuous update from GPSd on the location? Is seems no

  3. If I specify city as blank could it show LAT, LON values instead?

  4. It should provide one more option to get a location from NMEA 0183 TCP or UDP server

  5. From the same stream of data it would be possible to update heading. Although it usually gives magnetic so that needs to be converted into true by using location, time and magnetic variation

  6. And yes I like to see satellites on a boat. Weather satellites, etc. for HAM, SSB, and Iridium, ans StarLink, GNSS

  7. It will be fun to try with OpenCPN celestial navigation plugin

Thanks, --MG

mgrouch avatar Sep 24 '21 17:09 mgrouch

Few things I've noticed about Stellarium

1. Location plugin doesn't seem update location from GPSd when I click on get GPS location button. Instead it tries
   to check multiple serial ports even though I didn't specify them in the config.

Please see the User Guide on how to configure this. There is also a build option for GPSD, maybe you have to activate this first. I have developed this with a borrowed device on Ubuntu 16(?), so cannot test it.

2. Is there continuous update from GPSd on the location? Is seems no

No. A mobile platform was never seen as target. And usually speed is not high enough to see effects within minutes.

3. If I specify city as blank could it show LAT, LON values instead?

You could simply create a place name from the coordinates.

4. It should provide one more option to get a location from NMEA 0183 TCP or UDP server

Feel free to create this.

5. From the same stream of data it would be possible to update heading. Although it usually gives magnetic
   so that needs to be converted into true by using location, time and magnetic variation

-"-

6. And yes I like to see satellites on a boat. Weather satellites, etc. for HAM, SSB, and Iridium, ans StarLink, GNSS

Use whatever seems useful.

7. It will be fun to try with OpenCPN celestial navigation plugin

Cannot comment on this.

NB: The azimuth API is as it is by design (efficiency), not by flaw (omission of user commodity). We will not change it even if axd1967 complains.

gzotti avatar Sep 24 '21 18:09 gzotti

NB: The azimuth API is as it is by design (efficiency), not by flaw (omission of user commodity). We will not change it even if axd1967 complains.

As long as there is a sound reason, everybody's happy. But we all know that bugs can exist, especially in less used interfaces. And there is a difference between complaining, nagging and more the like, and trying to improve things: please don't be so negative.

axd1967 avatar Sep 25 '21 13:09 axd1967

azimuth 0 in Stellarium is somehow South (I'd thought it would be North)

Astronomical azimuth 0 in South, geographical azimuth 0 in North. Where is 0 for azimuth can be toggle in GUI or config.ini

alex-w avatar Sep 25 '21 15:09 alex-w

  1. And yes I like to see satellites on a boat. Weather satellites, etc. for HAM, SSB, and Iridium, ans StarLink, GNSS

@mgrouch out of curiosity, I see your point about communication sats (even if a Starlink receiver will have more accurate directional data than Stellarium), but what about GNSS: (1) the GPS receiver has far more accurate data (and can display that, sometimes with a sky map), (2) satellite TLE get outdated rather quickly and thus need an Internet connection to be updated. What if the user discovers that the sat display does not correspond to what the GPS unit is telling?

What could be fun (but not good to show...) is to compare NMEA data (eg GGA, TRF, GSV) with count, position of satellites as "seen" in Stellarium - if there is a connection between Stellarium and GPS receiver :-) In such a case, NMEA position/heading data could indeed also be injected in Stellarium :-) But you will need some intermediate piece of hard/software to implement that bridge.

axd1967 avatar Sep 26 '21 06:09 axd1967

azimuth 0 in Stellarium is somehow South (I'd thought it would be North)

Astronomical azimuth 0 in South, geographical azimuth 0 in North. Where is 0 for azimuth can be toggle in GUI or config.ini

This is true for the main program, but not the RemoteControl API.

gzotti avatar Sep 26 '21 07:09 gzotti

Hello @mgrouch! Thank you for this suggestion.

github-actions[bot] avatar Sep 28 '21 06:09 github-actions[bot]

Regarding satellites. There are just way too many StarLink ones. Is there a configurable way to hide them? I'd like to see satellites but without crowding the view.

Thanks

mgrouch avatar Oct 02 '21 12:10 mgrouch

Please check settings of Satellites plugin

alex-w avatar Oct 02 '21 12:10 alex-w

Please check settings of Satellites plugin

I did check. What do I need to change there?

Thanks

mgrouch avatar Oct 02 '21 12:10 mgrouch

I do not have starlink.txt reference in my config.ini but they are showing anyway

mgrouch avatar Oct 02 '21 12:10 mgrouch

Regarding satellites. There are just way too many StarLink ones. Is there a configurable way to hide them? I'd like to see satellites but without crowding the view.

Thanks

Yes, there are too many Starlink satellites. Fact. This single "constellation" triples the number of orbiting satellites of the last 60 years. I'd like to observe the sky without LEO satellites zipping through the view all the time.

Satellite configuration should be in the modules/Satellites subdirectory of your user data directory.

gzotti avatar Oct 02 '21 19:10 gzotti

@mgrouch what you can do is hide all starlink sats, and then selectively unhide some; for example, the head and tail sats of various streams.

To make life easier, you create a new group (eg "_my_starlinks") and assign the selected sats to that group. (an additional tip: if you use an underscore, it gets in front of the other groups.)

image

(and #1636 can further make life easier)

axd1967 avatar Oct 05 '21 12:10 axd1967

This is a good task for the community to participate in the contribution into Stellarium. Who wants to help us?

alex-w avatar Aug 02 '22 16:08 alex-w

What is left to do here ?

luzpaz avatar Apr 30 '23 19:04 luzpaz

Not sure. I'd like to copy the links into the Wiki before closing.

gzotti avatar Apr 30 '23 19:04 gzotti

@mgrouch I think you have implemented all, right? Can we close this then?

gzotti avatar May 01 '23 17:05 gzotti