Robotic Operating System
Es un marco de trabajo (framework) ubicado en el camino medio entre el hardware y software de los sistemas robóticos.
Existen dos versiones de ROS llamadas ROS2 y ROS1, y en ellas cada año se crea una distribución. La última distribución de ROS1 fue lanzada en el 2020, ya que solo se va a continuar con ROS2.
La distribución "Humble Hawksbill" para ROS2 salió en el 2022.
El ROS Graph es la red de los diferentes elementos que constituyen una applicación robótica. Una representación grafica de la configuración es mostrada a continuación:
ros2 run
ros2 node list
ros2 node info
rqt_graph
ros2 topic list
ros2 topic echo
ros2 topic info
ros2 interface show
ros2 topic pub
ros2 topic hz
ros2 service list
ros2 service type
ros2 service find
ros2 interface show
ros2 service call
ros2 param list
ros2 param get
ros2 param set
ros2 param dump
ros2 param load
ros2 node info
ros2 action list
ros2 action info
ros2 interface show
ros2 action send_goal
La consola de mensajes para estudiar en detalle lo que ocurre en ROS
ros2 run rqt_console rqt_console
ros2 launch turtlesim multisim.launch.py
# turtlesim/launch/multisim.launch.py
from launch import LaunchDescription
import launch_ros.actions
def generate_launch_description():
return LaunchDescription([
launch_ros.actions.Node(
namespace= "turtlesim1", package='turtlesim', executable='turtlesim_node', output='screen'),
launch_ros.actions.Node(
namespace= "turtlesim2", package='turtlesim', executable='turtlesim_node', output='screen'),
])
ros2 bag record
ros2 bag info
ros2 bag play