ROS2 sustav za upravljanje robota Tomo (Tomas Vinković PE-18) pomoću PS4 DualShock kontrolera, s Arduino mikrokontrolerom kao hardverskim interfejsom za motor, svjetla i blinkere.
Projekt omogućuje:
- 🎮 ručnu teleoperaciju preko PS4 kontrolera
- 🤖 ROS2 integraciju (
cmd_vel, state machine, sigurnosne provjere) - 🔌 serijsku komunikaciju s Arduinom
- 💡 upravljanje svjetlima, pokazivačima i paljenjem motora
Podržano:
- ROS2 Jazzy / Humble / Iron
- Fizički robot ili simulacija (Turtlesim)
- 📦 Struktura repozitorija
- 🧠 Opis komponenti
- 🎮 PS4 Kontroler – Mapiranje
- 🛠 Instalacija
▶️ Pokretanje- 🧪 Simulacija
- 📡 Arduino
- 🧩 ROS2 Topic Reference
- 📌 Contributors
- 📄 Licenca
tomo-hazarder/
├── arduino_serial/
│ └── arduino_serial.ino
├── control_tomo/
│ ├── ps4_controller.py
│ ├── ps4_teleop_node.py
│ └── arduino_serial_node.py
├── launch/
│ └── joy_ps4_teleop_launch.py
├── README.md
└── .gitignore
Python klasa za obradu PS4 sensor_msgs/Joy poruka.
Glavni ROS2 teleoperacijski čvor.
ROS2 ↔ Arduino komunikacijski bridge.
Firmware za Arduino (Nano / Uno).
| PS4 Input | Funkcija |
|---|---|
| Left Stick | Linearno i kutno kretanje |
| L1 | Omogućava kretanje |
| X (3s) | Arm / Disarm |
| O (3s) | Power Mode |
| Triangle | Start / Stop motora |
| Square (3s) | Light Mode |
| D-Pad | Upravljanje svjetlima |
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone https://github.com/Fua6655/tomo-hazarder.git
cd ~/ros2_ws
colcon build --symlink-installros2 run joy joy_node
ros2 launch control_tomo joy_ps4_teleop_launch.pyros2 run turtlesim turtlesim_node
ros2 launch control_tomo joy_ps4_teleop_launch.pyUpload arduino_serial.ino koristeći Arduino IDE.
| Topic | Message |
|---|---|
| /joy | sensor_msgs/Joy |
| /tomo/cmd_vel | geometry_msgs/Twist |
| /tomo/engine_start | std_msgs/Bool |
| /tomo/lights | std_msgs/UInt8MultiArray |
- Luka
MIT / Apache 2.0