Evaluarea imaginii ROS 2
Feature-ul ros2 este un build hook orientat spre Ubuntu. Listele de pachete din registry sunt goale, deoarece hook-ul gestionează configurarea repository-ului și a pachetelor. Înainte de build, verifică sursele generate și distribuția ROS aleasă; numele feature-ului singur nu fixează o versiune ROS suportată.
Folosește artefacte separate pentru mediul de dezvoltare desktop și runtime-ul robotului. Partajează versiuni explicite de surse și pachete, nu o configurație variabilă „latest“.
Prompt de dezvoltare
Create an Ubuntu 24.04 GNOME ROS 2 development image. Request ROS 2 Jazzy,
RViz, the required build tools, Git, Python, C++, and a non-password account
named robot in only the groups needed for the virtual test. Show the exact ROS
repository, signing key, package names, and versions in the plan. Add a clean
environment-source test and a two-node DDS discovery test using synthetic data.Prompt de runtime
Create an Ubuntu 24.04 headless ROS 2 runtime evaluation image with SSH and the
minimum ROS packages required by my reviewed launch file. Install the launch
file through a versioned package, run it as an unprivileged robot account, and
add bounded service, publish/subscribe, restart, and shutdown tests. Do not
claim PREEMPT_RT or physical peripheral support unless the exact kernel and
hardware are tested.Limita rețetei
O rețetă de runtime normalizată trebuie să facă explicite base, feature, pachetele native, contul de serviciu și scenariile:
{
"name": "ros2-runtime-evaluation",
"base_image": "ubuntu-24.04",
"os": {
"features": ["headless", "ssh", "ros2"],
"packages": ["ros-jazzy-ros-base", "ros-jazzy-sensor-msgs"],
"users": [
{
"username": "robot",
"groups": ["dialout", "video"],
"shell": "/bin/bash"
}
]
}
}Apartenența la grup acordă doar permisiune unix acolo unde există dispozitive și reguli potrivite. Nu dovedește că un adaptor serial, o cameră, un controller GPIO, un bus I2C sau un robot este prezent sau sigur de comandat.
Dovadă virtuală
Verificările utile în guest includ:
- fișiere de configurare a mediului ROS și inventarul pachetelor;
- pornirea CLI
ros2; - două noduri de test care schimbă un mesaj sintetic unic prin implementarea RMW aleasă;
- pornirea serviciului, repornire, eșec și oprire curată;
- identitatea procesului și permisiunile fișierelor; și
- absența expunerii de rețea necerute.
ros2 topic list singur nu este un test complet de DDS discovery. Folosește procese publisher și subscriber separate sau VM-uri și verifică conținutul mesajului și timeout-ul.
Calificare pe partea robotului
Repetă suita de acceptanță pe exact același modul de calcul, kernel, configurație middleware, rețea, senzori, actuatoare și încărcare de timing. Măsoară latența și comportamentul față de termene cu kernel-ul real-time intenționat, dacă este necesar. Validează oprirea de urgență, watchdog, modul degradat și oprirea sigură în afara mediului KVM generic OpenFactory.