Εξερευνώντας το ROS2 με τροχοφόρο ρομπότ – #1 – Εκκίνηση προσομοίωσης ROS2


Του Marco Arruda

Αυτό είναι το πρώτο κεφάλαιο της σειράς «Εξερευνώντας το ROS2 με ένα τροχοφόρο ρομπότ». Σε αυτό το επεισόδιο, ρυθμίσαμε την πρώτη μας προσομοίωση ROS2 χρησιμοποιώντας το Gazebo 11. Από την κλωνοποίηση, τη μεταγλώττιση και τη δημιουργία ενός πακέτου + αρχείου εκκίνησης για να ξεκινήσει η προσομοίωση!

Θα μάθετε:

  • Πώς να ξεκινήσετε μια προσομοίωση χρησιμοποιώντας το ROS2
  • Πώς να μεταγλωττίσετε πακέτα ROS2
  • Πώς να δημιουργήσετε αρχεία εκκίνησης με το ROS2

1 – Ξεκινήστε το περιβάλλον

Σε αυτή τη σειρά χρησιμοποιούμε ROS2 foxy, μεταβείτε στο αυτή η σελίδα, δημιουργήστε ένα νέο rosject επιλέγοντας ROS2 Foxy distro και και εκτελέστε το.

2 – Κλωνοποιήστε και μεταγλωττίστε την προσομοίωση

Το πρώτο βήμα είναι η κλωνοποίηση του κουκλίτσα ρομπότ πακέτο. Ανοίξτε ένα κέλυφος Ιστού και εκτελέστε τα εξής:

cd ~/ros2_ws/src/
git clone https://github.com/chapulina/dolly.git

Προέλευση του φακέλου εγκατάστασης ROS 2 και μεταγλώττιση του χώρου εργασίας:

source /opt/ros/foxy/setup.bash
cd ~/ros2_ws
colcon build --symlink-install --packages-ignore dolly_ignition

Παρατηρήστε ότι αγνοούμε το πακέτο που σχετίζεται με την ανάφλεξη, επειδή θα εργαστούμε μόνο με τον προσομοιωτή κιόσκι.

3 – Δημιουργήστε ένα νέο πακέτο και εκκινήστε το αρχείο

Για να ξεκινήσουμε την προσομοίωση, θα δημιουργήσουμε το αρχείο εκκίνησης από την αρχή. Έχει ως εξής:

cd ~/ros2_ws/src
ros2 pkg create my_package --build-type ament_cmake --dependencies rclcpp

Μετά από αυτό, πρέπει να έχετε τον νέο φάκελο my_package στον χώρο εργασίας σας. Δημιουργήστε έναν νέο φάκελο για να περιέχει τα αρχεία εκκίνησης καθώς και το νέο αρχείο εκκίνησης:

mkdir -p ~/ros2_ws/src/my_package/launch
touch ~/ros2_ws/src/my_package/launch/dolly.launch.py

Αντιγράψτε και επικολλήστε τα ακόλουθα στο νέο αρχείο εκκίνησης:


import os

from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import PythonLaunchDescriptionSource

def generate_launch_description():

    pkg_gazebo_ros = get_package_share_directory('gazebo_ros')
    pkg_dolly_gazebo = get_package_share_directory('dolly_gazebo')

    gazebo = IncludeLaunchDescription(
        PythonLaunchDescriptionSource(
            os.path.join(pkg_gazebo_ros, 'launch', 'gazebo.launch.py')
        )
    )

    return LaunchDescription([
        DeclareLaunchArgument(
            'world',
            default_value=[
                os.path.join(pkg_dolly_gazebo, 'worlds', 'dolly_empty.world'), ''
            ],
            description='SDF world file',
        ),
        gazebo
    ])

Σημειώστε ότι ένα αρχείο εκκίνησης επιστρέφει a Περιγραφή εκκίνησης που περιέχει κόμβους ή άλλα αρχεία εκκίνησης.

Σε αυτήν την περίπτωση, μόλις συμπεριλάβαμε ένα άλλο αρχείο εκκίνησης gazebo.launch.py και άλλαξε ένα από τα επιχειρήματά του, αυτό που αντιπροσωπεύει το παγκόσμιο όνομα: κόσμος.

Το ρομπότ, σε αυτήν την περίπτωση, περιλαμβάνεται στο παγκόσμιο αρχείο, επομένως δεν χρειάζεται να έχετε επιπλέον ώα ψαριών κόμβος, για παράδειγμα.

Και προσάρτηση στο τέλος του αρχείου ~/ros2_ws/src/my_package/CMakeLists.txt την ακόλουθη οδηγία για να εγκαταστήσετε το νέο αρχείο εκκίνησης στο περιβάλλον ROS 2:


install(DIRECTORY
	launch
	DESTINATION share/$PROJECT_NAME/
)
ament_package()

4 – Μεταγλώττιση και εκκίνηση της προσομοίωσης

Χρησιμοποιήστε την παρακάτω εντολή για να μεταγλωττίσετε μόνο το δημιουργημένο πακέτο:

cd ~/ros2_ws/
colcon build --symlink-install --packages-select my_package
source ~/ros2_ws/install/setup.bash
ros2 launch my_package dolly.launch.py

5. Συμπέρασμα

Έτσι μπορείτε να ξεκινήσετε μια προσομοίωση στο ROS2. Είναι σημαντικό να παρατηρήσετε ότι:

  • Χρησιμοποιούμε μια προκατασκευασμένη προσομοίωση: κόσμος + ρομπότ
  • Έτσι δημιουργείται ένα αρχείο εκκίνησης: Ένα σενάριο python
  • Στο ROS2, εξακολουθείτε να έχετε την ίδια ελευθερία να συμπεριλάβετε άλλα αρχεία ή να εκτελέσετε εκτελέσιμα μέσα σε ένα προσαρμοσμένο αρχείο εκκίνησης

Σχετικά μαθήματα και επιπλέον σύνδεσμοι:

Η δημοσίευση Εξερευνώντας το ROS2 με τροχοφόρο ρομπότ – #1 – Εκκίνηση προσομοίωσης ROS2 εμφανίστηκε πρώτα στις Η Κατασκευή.


The Construct Blog



Source link

By koutsobolis

koutsobolis.com

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *