Ejemplo de miniproject de escritura ROBORESCUE en ROS2 hecho con GitHub Copilot GPT-5.
Publicar comandos de velocidad (Twist) para que un robot (inicialmente turtlesim) trace la palabra ROBORESCUE mediante movimiento secuencial, y posteriormente generalizar a una base móvil diferencial real o simulada (TurtleBot3 / Nav2).
- Nodo C++
letter_tracer(ROS2 Humble). - Parámetros para velocidad lineal, angular, escala, espaciado entre letras, pausa entre segmentos y palabra.
- Launch file con configuración por defecto.
- Linter mínimo (ament_lint_auto + ament_lint_common).
- Preparado para CI (añadir workflow GitHub Actions).
- ROS2 Humble en Ubuntu 22.04 (WSL2 o nativo).
- Paquetes:
rclcpp,geometry_msgs,turtlesim.
git clone https://github.com/<TU_USUARIO>/aj_roborescue_path.git
cd aj_roborescue_path/ros2_ws
source /opt/ros/humble/setup.bash
colcon build
source install/setup.bashTerminal 1:
ros2 run turtlesim turtlesim_nodeTerminal 2 (nodo):
ros2 run roborescue_path letter_tracer --ros-args \
-p linear_speed:=1.2 -p angular_speed:=1.0 -p scale:=1.0 \
-p letter_spacing:=1.2 -p segment_pause:=0.1 -p word:=ROBORESCUEO con launch:
ros2 launch roborescue_path letter_tracer.launch.py| Nombre | Descripción | Defecto |
|---|---|---|
word |
Palabra a trazar | ROBORESCUE |
linear_speed |
Velocidad lineal m/s | 1.0 |
angular_speed |
Velocidad angular rad/s | 1.0 |
scale |
Factor escala letras | 1.0 |
letter_spacing |
Separación horizontal entre letras | 1.0 |
segment_pause |
Pausa tras cada segmento (s) | 0.1 |
loop |
Repetir indefinidamente | false |
- Publicar
nav_msgs/Pathde la trayectoria. - Refactorizar definición de letras a tabla de segmentos parametrizada.
- Añadir soporte a TurtleBot3 (cambiar tópico a
/cmd_vel). - Generar letras suavizadas (splines / curvas).
- Tests unitarios y de integración (rclcpp test).
- Config RViz2 + TF.
Se recomienda añadir archivo .github/workflows/ci.yaml con build + lint + test (ver ejemplo en la sección CI). Aún no incluido si lees esto antes de la configuración automática.
MIT. Ver LICENSE.
Generado con asistencia de GitHub Copilot GPT-5.