Π Π΄Π°Π½Π½ΠΎΠΉ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π΅Π³ΠΎ ΡΡΡΡΠΊΡΡΡΠΎΠΉ ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ (ΠΠ°Π΄Π°Π½ΠΈΠ΅ β2, Π²Π°ΡΠΈΠ°Π½Ρ Ρ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ).
π ΠΡΠΎΠ΅ΠΊΡ Π½Π° GitHub: github.com/KulikovNA/lab_2025
π ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ: Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΡΠΊ
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ Π΅Π³ΠΎ ΡΡΡΡΠΊΡΡΡΠΎΠΉ ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ.
- Π‘ΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Ρ GitHub: π₯
# ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
git clone https://github.com/KulikovNA/lab_2025.git- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ΅Π½Π½ΡΡ Π²Π΅ΡΠΎΠ² π¦
Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ Ρ Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΡΠΊΠ° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΠ° yolo11n.pt ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΈΡ
ΠΏΠΎ ΠΏΡΡΠΈ:
~/lab_2025/src/cv_basics/data/yolo11n.pt
ΠΠ»ΠΈ ΠΆΠ΅ ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ Π²Π΅ΡΠ° ΡΡΠ°Π·Ρ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ utlralytics ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΈΡ Π² Π½ΡΠΆΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
wget https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n.pt -O ~/lab_2025/src/cv_basics/data/yolo11n.pt- ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° π¨
cd ~/lab_2025
colcon build
. install/setup.bash- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ π§
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install -y \
ros-humble-graph-msgs \
ros-humble-rviz-visual-tools \
ros-humble-xacro \
ros-humble-robot-state-publisher \
ros-humble-joint-state-publisher \
ros-humble-joint-state-publisher-gui \
python3-pip \
ros-humble-gazebo-* && \
pip3 install cv_bridge pyzmq zmq ultralytics
pip3 install 'numpy==1.26.4'- ΠΠ°ΠΏΡΡΠΊ ΡΠΈΠΌΡΠ»ΡΡΠΈΠΈ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ π
ros2 launch two_wheeled_robot launch_sim_cv.launch.pyΠ RVIZ Π½Π°ΠΆΠΌΠΈΡΠ΅ βAddβ β Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠΎΠΏΠΈΠΊ /video_with_predict/Image. π
- ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° Docker-ΠΎΠ±ΡΠ°Π·Π° π¦
Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ Ρ Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΡΠΊΠ° tar ΠΎΠ±ΡΠ°Π· Dockers/docker_image_base/base_docker_lab2.tar. ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΈ ΡΠ±ΠΎΡΠΊΠ° Docker-ΠΎΠ±ΡΠ°Π·Π°
docker load -i base_docker_lab2.tar- Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ π₯
git clone https://github.com/KulikovNA/lab_2025.git- ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π²Π΅ΡΠ° π¦
Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ yolo11n.pt Ρ Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΡΠΊΠ° ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΏΠΎ ΠΏΡΡΠΈ:
~/lab_2025/src/cv_basics/data/yolo11n.pt
ΠΠ»ΠΈ ΠΆΠ΅ ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ Π²Π΅ΡΠ° ΡΡΠ°Π·Ρ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ utlralytics ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΈΡ Π² Π½ΡΠΆΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
wget https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n.pt -O ~/lab_2025/src/cv_basics/data/yolo11n.pt- Π‘Π±ΠΎΡΠΊΠ° ΠΈ Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° π¨
cd ~/lab_2025/docker
bash build_lab_2_docker.sh
bash run_docker_lab2.shΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° β ΠΎΡΠΊΡΠΎΠΉΡΠ΅ RVIZ, Π½Π°ΠΆΠΌΠΈΡΠ΅ βAddβ ΠΈ Π²ΡΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΎΠΏΠΈΠΊ /video_with_predict/Image. π
Π ΠΈΡΡΠ½ΠΎΠΊ 1 β ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΠΎΠΊΠ½ΠΎ RVIZ Ρ ΠΏΡΠ΅Π΄ΠΈΠΊΡΠ°ΠΌΠΈ ML-ΠΌΠΎΠ΄Π΅Π»ΠΈ)
Π‘ΡΠΎΡΠΌΠΈΡΡΠΉΡΠ΅ Π³ΡΡΠΏΠΏΡ ΠΈΠ· 3-Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ Ρ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ. ΠΡ Π³ΡΡΠΏΠΏΡ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° GitHub Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
-
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° SSH-ΠΊΠ»ΡΡΠ΅ΠΉ π
- ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ Π½Π° GitHub ΠΈ Π½Π°ΡΡΡΠΎΠΉΡΠ΅ ΠΏΡΠΎΡΠΈΠ»Ρ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄Π°Π½Π½ΡΡ .
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΊΠ»ΡΡΠ΅ΠΉ:
ls ~/.ssh/id_*.pub
- ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΡΠ°ΠΉΠ»
id_ed25519.pubΠΈΠ»ΠΈid_rsa.pub, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΊ ΡΠ°Π³Ρ 3.
-
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ SSH-ΠΊΠ»ΡΡΠ° π
- ΠΡΠ»ΠΈ ΠΊΠ»ΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
ssh-keygen -t ed25519
- ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Ed25519, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅:
ssh-keygen -t rsa -b 4096
- ΠΡΠΎΡΡΠΎ Π½Π°ΠΆΠΈΠΌΠ°ΠΉΡΠ΅ Enter, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ½ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΡΠΈ.
- ΠΡΠ»ΠΈ ΠΊΠ»ΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
-
ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° π
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
cat ~/.ssh/id_ed25519.pub # ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ id_rsa.pub
- Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Π²Π΅ΡΡ ΡΠ΅ΠΊΡΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ
ssh-ed25519(ΠΈΠ»ΠΈssh-rsa) ΠΈ Π΄ΠΎ Π²Π°ΡΠ΅Π³ΠΎ email.
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
-
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° Π² GitHub βοΈ
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΡΠΎΡΠΈΠ»Ρ GitHub β Settings β SSH and GPG keys.
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ New SSH key, Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠ»ΡΡ Π² ΠΏΠΎΠ»Π΅ Key, Π·Π°Π΄Π°ΠΉΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
laptop) ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅.
-
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ πΆ
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅:
ssh -T git@github.com
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅:
-
Π€ΠΎΡΠΊ ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ π₯
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ: https://github.com/KulikovNA/lab_2025 ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Fork.
- ΠΠΎΡΠ»Π΅ ΡΠΎΡΠΊΠ° Ρ Π²Π°Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ:
https://github.com/<username>/lab_2025 - ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΏΠΎ SSH:
git clone git@github.com:<username>/lab_2025.git
-
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ, ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ ΠΏΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ πΏ
- Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ Π²Π΅ΡΠΊΡ, ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΠ΅ ΠΈ ΠΏΡΡΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ°Π·ΠΎΠ²ΠΈΡΠ΅ Π²Π΅ΡΠΊΡ ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ:
student-<Π€Π°ΠΌΠΈΠ»ΠΈΡ>-<VΠ²Π°ΡΠΈΠ°Π½Ρ>. - ΠΡΠΈΠΌΠ΅Ρ:
cd ~/lab_2025 git checkout -b student-Kulikov-V9 # ... Π Π΅ΡΠ°Π΅ΡΠ΅ Π·Π°Π΄Π°ΡΠΊΡ ... git add . git commit -m "ΠΡ ΠΌΠΎΠ»ΠΎΠ΄ΡΡ: Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΎ" git push origin student-Kulikov-V9
- ΠΠ°ΠΆΠ½ΠΎ! ΠΠ΅ΡΠ΅Π΄ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΡΠ΅ΡΠ΅Π½ΠΈΡ (push) Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°Π»ΠΈΡΡ) Π² ΡΠ°ΠΉΠ»:
~/lab_2025/docker/Dockerfile.lab_2
- Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ Π²Π΅ΡΠΊΡ, ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΠ΅ ΠΈ ΠΏΡΡΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ°Π·ΠΎΠ²ΠΈΡΠ΅ Π²Π΅ΡΠΊΡ ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ:
-
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Pull Request π€
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Pull Request ΠΈΠ· Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ
student-<Π€Π°ΠΌΠΈΠ»ΠΈΡ>-<VΠ²Π°ΡΠΈΠ°Π½Ρ>Π² Π²Π΅ΡΠΊΡmainΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ KulikovNA/lab_2025. - ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Pull Request:
- ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π² Π²Π°Ρ ΡΠΎΡΠΊ Π½Π° GitHub.
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ Pull requests β New pull request.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ
KulikovNA/lab_2025:mainΠΈ Π²Π°ΡΡ Π²Π΅ΡΠΊΡstudent-<username>-V9.
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Pull Request ΠΈΠ· Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ
ΠΠ°Π΄Π°Π½ΠΈΠ΅:
ΠΠ°ΠΌΠ΅Π½ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΡΠ΅Ρ
ΠΊΠΎΠ»Π΅ΡΠ½ΠΎΠΉ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π½Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ±ΠΎΡΠ° Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡΠΎΠΌ Kuka Youbot, ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π½Π° Π΅Π³ΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΡΡΠΎΠΉΠΊΡ Ρ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ ΡΠΎΠ±ΠΎΡΠ° Kuka Youbot.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
two_wheeled_robotΠΊΠ°ΠΊ ΡΠ°Π±Π»ΠΎΠ½; - ΠΠ·ΡΡΡ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠΉ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ Π³ΠΎΡΠΎΠ²ΡΡ URDF-ΠΌΠΎΠ΄Π΅Π»Ρ Kuka Youbot (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ°
youbot_description); - ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ Ρ ΡΠΎΠΏΠΈΠΊΠΎΠΌ
/camera/image_raw, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ML-ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈΠ· Ultralytics; - ΠΠ°ΡΡΡΠΎΠΈΡΡ RVIZ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΊΠ°ΠΌΠ΅ΡΡ;
- ΠΡΠΎΠ²Π΅ΡΡΠΈ ΡΠΈΠΌΡΠ»ΡΡΠΈΡ Π² Gazebo.
ΠΠ°Π΄Π°Π½ΠΈΠ΅:
ΠΠ°ΠΌΠ΅Π½ΠΈΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ML-ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π΅ΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Ultralytics. Π‘ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π² ΡΠΎΡΠΌΠ°Ρ ONNX, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΌΠΈΡ ΡΠΈΠΌΡΠ»ΡΡΠΈΠΈ Π½Π° "Car" ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΡΠΎΠ±ΠΎΡΠ° Π² ΠΎΠ±Π»Π°ΡΡΠΈ Ρ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ° (ΠΌΠ°ΡΠΈΠ½), Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π»ΡΠ΄Π΅ΠΉ Π² ΠΌΠΈΡ ΡΠΈΠΌΡΠ»ΡΡΠΈΠΈ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ
yolo11n-segΠΎΡ Ultralytics; - ΠΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π² ΡΠΎΡΠΌΠ°Ρ ONNX Ρ ΠΏΠΎΠΌΠΎΡΡΡ
model.export(format="onnx"); - ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ONNX Runtime Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠ΅Π½ΡΠ° Π² ROS2-Π½ΠΎΠ΄Π΅;
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΌΠ°ΡΠΎΠΊ ΠΊ RVIZ ΡΠ΅ΡΠ΅Π·
MarkerArray; - ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΈΡ
car.world.
ΠΠ°ΡΠΈΠ°Π½Ρ β3: Π’Π΅Π»Π΅ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ β ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ±ΠΎΡΠΎΠΌ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ
ΠΠ°Π΄Π°Π½ΠΈΠ΅:
ΠΠΎΠ±Π°Π²ΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ROS2-ΠΏΠ°ΠΊΠ΅Ρ
teleop_twist_keyboard; - ΠΠ°ΡΡΡΠΎΠΈΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Π² ΡΠΎΠΏΠΈΠΊ
/cmd_vel(ΡΠΈΠΏgeometry_msgs/Twist); - ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ RVIZ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ±ΠΎΡΠ°.
ΠΠ°ΡΠΈΠ°Π½Ρ β4: Π‘ΠΈΡΡΠ΅ΠΌΠ° SLAM Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠ΅ΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΠ°Π΄Π°Π½ΠΈΠ΅:
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ SLAM Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΈ Π»ΠΈΠ΄Π°ΡΠ°. ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ ML-ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π΄Π²ΠΈΠΆΡΡΠΈΡ
ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
rtabmap_rosΠΈΠ»ΠΈcartographer_ros2Π΄Π»Ρ SLAM; - ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ML-ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (
yolo11n-seg); - ΠΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΈΠΊΡΠ΅Π»ΠΈ Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΊΠ°ΡΡΡ;
- ΠΠ»Ρ Π»ΠΈΠ΄Π°ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΏΠΈΠΊ
/scan, Π΄Π»Ρ ΠΊΠ°ΠΌΠ΅ΡΡ β/camera/image_raw; - ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ RVIZ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡΡ ΠΈ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ.
ΠΠ°ΡΠΈΠ°Π½Ρ β5: ΠΠ²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠ΅ Ρ Π°ΠΎΡΠΈΡΠ½ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΎΠ±Ρ ΠΎΠ΄ΠΎΠΌ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠΉ
ΠΠ°Π΄Π°Π½ΠΈΠ΅:
ΠΠ°ΡΡΡΠΎΠΈΡΡ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ±ΠΎΡΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠ±Ρ
ΠΎΠ΄ΠΎΠΌ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠΉ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ nav2 Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ TEB ΠΈΠ»ΠΈ DWA;
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ
Π»ΠΈΠ΄Π°ΡΠ° ΠΈΠ· ΡΠΎΠΏΠΈΠΊΠ°
/scanΠ΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡΡ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠΉ; - ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ random goal generator Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΊΠ°ΡΡΡ;
- ΠΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΠΈ Π² ΡΠΎΠΏΠΈΠΊ
/goal_pose(ΡΠΈΠΏgeometry_msgs/PoseStamped).
ΠΠ°Π΄Π°Π½ΠΈΠ΅:
ΠΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ yolo11n ΠΈΠ· Ultralytics Π² ONNX ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅Π½Ρ Π² ROS2-Π½ΠΎΠ΄Π΅.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
{yolo export ...}Π² Ultralytics; - ONNX Runtime β ΠΊΠ°ΠΊ Π±Π΅ΠΊΠ΅Π½Π΄ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΈΠ½ΡΠ΅ΡΠ΅Π½ΡΠ° Π² ROS2;
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠΎΠΏΠΈΠΊΡ
/camera/image_raw, ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² β Π² ΡΠΎΠΏΠΈΠΊ/detections.
ΠΠ°ΡΠΈΠ°Π½Ρ β7: ΠΠΎΠ΄ΡΠ»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
ΠΠ°Π΄Π°Π½ΠΈΠ΅:
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠΏΡΠ°Π²Π»ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΈΠ»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
yolo11nΠ² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΡΡΠ΅ΠΊΠΈΠ½Π³Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SORT ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ); - Π¦Π΅Π½ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ Bounding Box;
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΏΠΈΠΊΠΈ:
/camera/image_raw(Π²Ρ ΠΎΠ΄),/cmd_vel(Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅),/object_pose(ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°); - ΠΠ»Ρ RVIZ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
MarkerΠ΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΠ°ΡΠΈΠ°Π½Ρ β8: ΠΡΠ»ΡΡΠΈΠΌΠΎΠ΄Π°Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΈ Π»ΠΈΠ΄Π°ΡΠ°
ΠΠ°Π΄Π°Π½ΠΈΠ΅:
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ Π΄ΠΎ Π½ΠΈΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΈ Π»ΠΈΠ΄Π°ΡΠ°.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
yolo11nΠ΄Π»Ρ Π΄Π΅ΡΠ΅ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ; - ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΏΠΈΠΊ
/scanΠ΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ Π΄ΠΎ Π³ΡΠ°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²; - Π‘ΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ bounding box ΠΈ Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠΉ Π»Π°Π·Π΅ΡΠ½ΡΠΉ Π»ΡΡ ΠΏΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ΅ X;
- ΠΡΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ
Π² RVIZ ΡΠ΅ΡΠ΅Π·
MarkerArrayΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΌΠΈ: ΠΊΠ»Π°ΡΡ + ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅.
ΠΠ°ΡΠΈΠ°Π½Ρ β9: Object follower Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΠ°Π΄Π°Π½ΠΈΠ΅:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ follow_object Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Ρ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΠΏΠΎΡΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:
- ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Ultralytics-ΠΌΠΎΠ΄Π΅Π»Ρ (
yolo11n); - ΠΡ
ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΠΏΠΈΠΊ
/camera/image_raw, Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΠΏΠΈΠΊ/cmd_vel; - ΠΠ΅ΡΠ΅ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΡ β Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°;
- ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² launch-ΡΠ°ΠΉΠ»Π΅ (topics, ΠΌΠΎΠ΄Π΅Π»Ρ, ΡΠ΅ΠΆΠΈΠΌ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ);
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ RVIZ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ ΡΠΎΠ±ΠΎΡΠ°.
ΠΠ°ΡΠΈΠ°Π½Ρ β10: ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π΄Π²ΡΡ ΡΠΎΠ±ΠΎΡΠΎΠ² β ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ°Π΄Π°Π½ΠΈΠ΅:
ΠΠ΄ΠΈΠ½ ΡΠΎΠ±ΠΎΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π²ΡΠΎΡΠΎΠΉ β ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ ΠΊ Π½ΠΈΠΌ, ΠΈΠ·ΠΌΠ΅ΡΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΠΈΠ΄Π°ΡΠ°.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:
- ΠΠ°ΠΏΡΡΡΠΈΡΡ Π΄Π²ΡΡ
ΡΠΎΠ±ΠΎΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠΈΡΠ΅ Gazebo (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ namespace ΠΈ
robot_state_publisherΠ΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ); - ΠΠ΅ΡΠ²ΡΠΉ ΡΠΎΠ±ΠΎΡ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΡΠΎΠΏΠΈΠΊ
/detected_object_pose(ΡΠΈΠΏgeometry_msgs/PoseStamped); - ΠΡΠΎΡΠΎΠΉ ΡΠΎΠ±ΠΎΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠΏΠΈΠΊ
/scanΠ΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΡ; - ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΠΏΠΈΠΊ
/cmd_velΡ ΡΠ°ΡΡΡΡΠΎΠΌ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΈ Π΄ΠΎ ΡΠ΅Π»ΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Π°Π½Π½ΡΡ Π»ΠΈΠ΄Π°ΡΠ°; - ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ RVIZ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΠ°Π΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ, ΡΠ΅ΠΊΡΡΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΠΈ ΡΠ΅Π»ΠΈ.
