Robotics and ROS 2 Essentials

Robotics Career & Education

  • Robotics is seen as a strong growth area over the next 10–15 years: automotive, defense, manufacturing, and space are cited as big drivers.
  • An MS in robotics (e.g., CMU) is described as very practical and hardware‑rich, with exposure to many topics not covered in a CS PhD.
  • Some argue a motivated PhD can self‑teach from books and used hardware; others say access to facilities and diverse platforms is hard to replicate.
  • Specialization is emphasized: systems, vision, controls, tracking, mapping/prediction, planning, proprioception/exteroception, and simulation are suggested tracks.

Value of ROS Experience

  • Multiple commenters say ROS experience is important for getting into robotics; even companies with custom stacks find ROS concepts transferable.
  • ROS is framed as a lingua franca that helps understand other frameworks and industry design decisions.

ROS/ROS2 in Production vs Prototyping

  • Broad agreement: ROS is very useful for research, teaching, hobby projects, and early startup prototyping.
  • Many report painful experiences using ROS/ROS2 in production: scaling issues, performance problems, networking brittleness, and heavy build/deploy pipelines.
  • Common pattern: thin ROS layer on top of a non‑ROS core, or starting with ROS then planning a migration off once products ship.

Technical Critiques of ROS/ROS2

  • Complaints include:
    • Multiple custom build systems (rosbuild, catkin, ament, colcon) on top of CMake; long builds and complex tooling.
    • Overuse of network pub/sub for everything, including control loops; adds latency, non‑determinism, and debugging difficulty.
    • ROS1→ROS2 discontinuity and “regressions” (e.g., ROS2 launch system).
    • Message IDL and APIs seen as weak for versioning and expressiveness; algorithms often tightly coupled to ROS types.
    • ROS2’s approach to multi‑package builds criticized as harming parallelism.

Alternatives and Custom Stacks

  • Many companies reportedly build in‑house frameworks using:
    • Pub/sub or RPC primitives (DDS directly, ZeroMQ, zenoh, gRPC, custom shared‑memory systems).
    • Message formats like protobuf, flatbuffers, CBOR, JSON, or raw C structs.
  • Example tools mentioned: Foxglove (can be used without ROS), PlotJuggler, nvblox, MRPT, YARP, OROCOS, and newer Rust‑based frameworks (Copper, Dora, Basis, RoboPLC).
  • Advice: if you know ROS, it’s easier to design and implement your own better‑fitting stack.

Beginners, Teens, and Learning Paths

  • Several warn ROS/ROS2 is too heavy and frustrating for most teenagers; recommend Raspberry Pi + Python‑based robots instead.
  • For SLAM learners, suggested approach: use existing back‑end libraries (g2o, Ceres), focus on sensor choices and front‑end, rather than reinventing everything.
  • For broader “real‑world” robotics understanding, industrial expos, mechanical engineering concepts (materials, actuation, manufacturing), and hardcore SDKs (e.g., NVIDIA) are recommended.

Governance and Community Concerns

  • One thread discusses perceived poor governance and groupthink in the ROS community, especially around build systems.
  • A counterpoint claims moderation actions are due to repeated code‑of‑conduct violations, not suppression of criticism.
  • Overall, governance quality and future direction (including the Google/Intrinsic acquisition) are raised as concerns but remain unresolved in the thread.