.. _ros_node_model:
ROS Node Model
==============
Within a Component, a **ROS Node** is represented by a **GenericDomainModel** with the following **Attributes.**
+-------------+---------------------+-------------------------------------------------+
| Attributes | Value | Description |
+=============+=====================+=================================================+
| Type | node | |
+-------------+---------------------+-------------------------------------------------+
| Domain | ros | |
+-------------+---------------------+-------------------------------------------------+
| Attribute 0 | *[ROS package]* | ROS package name, *- e.g. "gazebo_ros"* |
+-------------+---------------------+-------------------------------------------------+
| Attribute 1 | *[executable name]* | ROS node executable name *- e.g. "spawn_model"* |
+-------------+---------------------+-------------------------------------------------+
| Attribute 2 | *[output]* | | *"screen"* - stdout/stderr to screen |
| | | | *"log"* - stdout/stderr to log file |
+-------------+---------------------+-------------------------------------------------+
| Attribute 3 | *[launch-prefix]* | Node's launch arguments *- e.g. "xterm -e"* |
+-------------+---------------------+-------------------------------------------------+
If the CyPhy Master Interpreter is run, these Attributes will be used to populate
a node element in the generated ROS .launch file:
.. code-block:: none
.. note::
For a better understanding of the roslaunch XML node syntax, please consult its `documentation `_
----
.. figure:: images/hexapod_leg_fsm_node_gdm_outside.png
Hexapod Leg FSM Node GenericDomainModel (Outside)
.. figure:: images/hexapod_leg_fsm_node_gdm_attributes.png
Hexapod Leg FSM Node GenericDomainModel (Attributes)
.. figure:: images/hexapod_leg_fsm_node_gdm_inside.png
Hexapod Leg FSM Node GenericDomainModel (Inside)
----
A ROS Node Model GenericDomainModel may contain the following elements:
.. toctree::
:maxdepth: 2
ros_topic_publisher
ros_service_server
ros_action_server
urdf_link_port
parameter