49 karma · joined November 29, 2019
Researchers, hobbyists, and some industry professionals (for prototyping?) seem to love ROS for its big community, logging/debugging/visualisation tools (rosbag, rviz), the pub/sub architecture (easy integration and loose coupling with third party modules), existing support for many sensors/peripherals/hardware components; plus off-the-shelf libs for SLAM, navigation, inverse kinematics, etc.
But ROS is hated by others for its custom build system (on top of CMake), the custom language-agnostic IDL for message types (like Protobuf but worse, esp. for versioning and backwards compatibility), non-determinism and untestability of the pub/sub model (esp. for safety-critical stuff), overengineering and layers of indirection / learning curve, poor performance, and high platform lock-in.
Looking at ROS as a robotics noob, it seems like useful 'muddleware' for toy projects, but where every sub-problem that it abstracts away from you can be solved better by other existing tools. I'm looking more into: Mobile Robot Programming Toolkit [1], Yet Another Robot Platform [2], genom3 [3], and Open Robot Control Software [4] (all C++). Or the Rust ones like RoboPLC [5], Dora-rs [6], Copper-rs [7], and Basis [8] (which supports Protobuf!).
If you're not using ROS for a "serious" project, do you use other middleware offerings or just pick 'n' mix lower-level libs tailored for your use cases?
[1] https://mrpt.org
[3] https://git.openrobots.org/projects/genom3
[5] https://github.com/roboplc/roboplc
[6] https://github.com/dora-rs/dora
I've kept a spreadsheet for about 5 years of people I know from my hometown, from uni, past jobs, in other countries, family of friends, etc... ranked roughly by how frequently to contact them, and it has been so helpful and fun for me (and them!) to use it. This might not be helpful for everyone, depending on what you care about and the size of your network, but it seems more "sad" to me that people let chance and social media control their patterns of interaction.
https://www.youtube.com/watch?v=GziSV9hQ-r8
Camera: Canon EOS 70D
Mic: Audio-Technica AT2020
Interface: Mackie Onyx Blackjack
Software: Logic Pro X, Adobe After Effects + Premiere
This attitude seems to overlook that there can be a tension between present and future fulfilment. There are things you can do (or avoid doing) now that will make your life a lot less enjoyable later on. Activities that 'make you a better person over time' often require effort, discomfort, or sacrifice of some kind in the present (exercising, studying, therapy, etc...).
I don't think it is a good idea to maximise pleasure in the present - at least not at the expense of future pleasure - but to maximise the total pleasure you get out of your life, which will often mean doing something right now that you don't find intrinsically rewarding.