Skip to content

episode 2 the comms

DanielFLopez1620 edited this page Apr 8, 2026 · 7 revisions

Episode 2: The Comms / Las Comunicaciones

Understanding the language that connects minds and machines / Entendiendo el lenguaje que conecta mentes y máquinas

📑 Contents


🎥 Watch the Short

English Version

Vambrace Adventure - Episode 2: The Comms (English)

Versión en Español

Vambrace Adventure - Episode 2: Las Comunicaciones (Español)



▶️ Watch in English | ▶️ Ver en Español


📖 Episode Description

The team gathers to discuss how ORION's communications work. Danna starts by highlighting what ORION stands for: Open-source Robot for Interaction Objectives and Navigation. She asks Felipe how the communications function, and he introduces ROS 2 and topics. Danna brilliantly compares the publisher-subscriber model to a radio station and its listeners. David then asks about ORION's specific topics, and ORION itself reveals the five key communication channels that make everything possible.


💡 Lessons & Learnings

Key Concept: ROS 2 and the Topic Communication Model

What is ROS 2?

ROS 2 (Robot Operating System 2) is an open-source framework that helps different parts of a robot communicate with each other. Think of it as the nervous system of a robot—it allows sensors, motors, cameras, and computing units to share information seamlessly. Despite its name, ROS isn't an operating system like Windows or Linux; it's a middleware that runs on top of an OS and provides tools for building complex robotic applications.

The Publisher-Subscriber Model: Radio Stations Analogy

Imagine a radio station broadcasting music on FM 95.5:

  • The Radio Station = Publisher (sends out information)
  • The Frequency (95.5 FM) = Topic (the channel where information flows)
  • Your Radio = Subscriber (receives the information)

In ROS 2:

  • A publisher sends messages (like sensor data or commands)
  • A topic is the named channel where these messages travel (like /mobile_base_controller/cmd_vel)
  • A subscriber listens to that topic and receives the messages

The beauty? Multiple radios can tune into the same station, and one radio can listen to multiple stations. Similarly, multiple nodes can subscribe to the same topic, and one node can subscribe to many topics!

What We Learned

  • Decoupled communication: Publishers and subscribers don't need to know about each other directly. They just agree on the topic name and message type. This makes systems flexible and modular.

  • Standardized messages: ROS 2 uses predefined message types (like geometry_msgs/msg/TwistStamped for movement) so different components speak the same language.

  • Scalability: You can add new publishers or subscribers without changing existing code, just use the right topic related with the task to achieve.


🔧 Technical Highlights

ORION's Communication Topics

ORION uses five main topics to function:

Topic Message Type Purpose
/mobile_base_controller/cmd geometry_msgs/msg/Twist Controls ORION's movement (linear and angular velocity)
/simple_left_arm_controller/commands std_msgs/msg/Float64MultiArray Commands for the left arm joint positions
/simple_right_arm_controller/commands std_msgs/msg/Float64MultiArray Commands for the right arm joint positions
/emotion std_msgs/msg/Int32 Sets ORION's emotional state/expression
/orion_response std_msgs/msg/String Text-to-speech output from ORION

Understanding the Message Types

  • geometry_msgs/msg/TwistStamped: Contains linear velocity (x, y, z) and angular velocity (roll, pitch, yaw) for movement with a time stamp header.
  • std_msgs/msg/Float64MultiArray: An array of floating-point numbers, perfect for controlling multiple arm joints.
  • std_msgs/msg/Int32: A simple integer, used here to select predefined emotions.
  • std_msgs/msg/String: Text data for ORION's spoken responses.

How the Vambrace Will Use These Topics

[Joystick on Vambrace] → publishes to → /mobile_base_controller/cmd_vel → ORION moves

[Potentiometers] → publish to → /simple_left_arm_controller/commands → Left arm adjusts

[Membrane Keyboard] → publishes to → /emotion/int → ORION expresses emotion

📚 Learning Resources

ROS 2 Fundamentals

Publisher-Subscriber Pattern

Message Types


🎯 Challenge Posed

"We know HOW to communicate... now what do we actually NEED to make it happen?" - David

The communication architecture is clear. Topics are the highways, messages are the vehicles. But what physical components and software tools do we need to build this system? What hardware will capture our inputs, and what code will transform them into ROS 2 messages?


⏭️ Next Episode

➡️ Episode 3: The Tools / Las Herramientas

Danna, David, and Felipe review the tentative components and software tools needed to bring the vambrace to life.


Characters: Danna, Felipe, David, ORION | Published: February 5, 2025 | Wiki: February 28, 2025

⬅️ Previous Episode | 🏠 Home | Next Episode ➡️

Clone this wiki locally