Pemberitahuan akhir dukungan: Pada 10 September 2025, AWS
akan menghentikan dukungan untuk. AWS RoboMaker Setelah 10 September 2025, Anda tidak akan lagi dapat mengakses AWS RoboMaker konsol atau AWS RoboMaker sumber daya. Untuk informasi lebih lanjut tentang transisi ke AWS Batch untuk membantu menjalankan simulasi kontainer, kunjungi posting blog ini.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kontainer ROS FAQs
Halaman ini mencantumkan pertanyaan dan jawaban umum yang terkait dengan migrasi robot berbasis ROS dan aplikasi simulasi ke wadah Docker yang cocok untuk dijalankan. AWS RoboMaker
Alur kerja kami mengirimkan pekerjaan simulasi menggunakan robot yang colcon
dibundel dan aplikasi simulasi. Apakah saya perlu bermigrasi?
Ya, Anda harus bermigrasi. Langkah-langkah untuk bermigrasi terletak diMigrasi aplikasi ROS ke kontainer.
Saya tidak yakin apakah robot dan aplikasi simulasi saya perlu dimigrasikan. Bagaimana saya bisa tahu?
Anda dapat memeriksa melalui AWS konsol atau AWS CLI. Untuk instruksi, pilih tab yang berlaku berikut ini.
-
Masuk ke konsol AWS RoboMaker
tersebut. -
Di panel navigasi kiri, pilih Pengembangan, lalu pilih Aplikasi simulasi.
-
Pilih Nama aplikasi simulasi untuk melihat detailnya.
Jika Anda melihat runtime Umum dan Simulasi, migrasi tidak diperlukan. Jika Anda melihat nilai spesifik ROS atau Gazebo, Anda harus bermigrasi.
Bagaimana robot dan wadah aplikasi simulasi berkomunikasi satu sama lain?
Tidak ada bedanya dengan bagaimana aplikasi berbasis ROS biasanya berkomunikasi satu sama lain menggunakan middleware ROS. Namun, Anda harus mengatur beberapa variabel lingkungan khusus ROS dalam objek konfigurasi peluncuran permintaan pekerjaan simulasi Anda.
Berikut ini adalah contoh cuplikan pengaturan yang harus Anda gunakan untuk aplikasi robot. launchConfig
"robotApplications": [ { "application": "
YOUR-ROBOT-APP-ARN
", "applicationVersion": "$LATEST", "launchConfig": { "environmentVariables": { "ROS_IP": "ROBOMAKER_ROBOT_APP_IP
", "ROS_MASTER_URI": "http://ROBOMAKER_ROBOT_APP_IP
:11311", "GAZEBO_MASTER_URI": "http://ROBOMAKER_SIM_APP_IP
:11345" }, ... # Removed extra data for clarity } ]
Berikut ini adalah contoh cuplikan pengaturan yang harus Anda gunakan untuk aplikasi simulasi. launchConfig
"simulationApplications": [ { "application": "
YOUR-SIM-APP-ARN
", "applicationVersion": "$LATEST", "launchConfig": { "environmentVariables": { "ROS_IP": "ROBOMAKER_SIM_APP_IP
", "ROS_MASTER_URI": "http://ROBOMAKER_ROBOT_APP_IP
:11311", "GAZEBO_MASTER_URI": "http://ROBOMAKER_SIM_APP_IP
:11345" }, ... # Removed extra data for clarity } ]
Kontainer berkomunikasi satu sama lain seperti yang diharapkan jika Anda menggunakan ROBOMAKER_*
string dan nomor port yang disediakan untuk mengaturROS_IP
,ROS_MASTER_URI
, danGAZEBO_MASTER_URI
.
Untuk informasi selengkapnya, lihat Menjalankan simulasi.
Ke mana perginya metrik Real-Time Factor (RTF) saya? Bagaimana saya bisa mengembalikannya?
AWS RoboMaker tidak lagi menerbitkan metrik ini secara otomatis. Jika Anda ingin mempublikasikan metrik ini CloudWatch, Anda harus mengimpor paket AWS RoboMaker CloudWatch PublisherREADME.md
Bagaimana cara membatalkan dan menandai pekerjaan simulasi saya?
Anda dapat menggunakan konfigurasi VPC untuk menandai sendiri atau membatalkan sendiri pekerjaan AWS RoboMaker simulasi Anda menggunakan generik. AWS APIs Untuk menggunakan pendekatan berikut, kontainer harus berjalan di VPC dengan rute publik melalui NAT atau IGW ke. AWS APIs Pendekatan paling sederhana adalah dengan menggunakan subnet publik di VPC default Anda untuk terhubung ke AWS. APIs Jika Anda ingin menjalankan simulasi di subnet pribadi, Anda dapat mengatur NAT atau menyiapkan titik akhir VPC antarmuka. Untuk informasi selengkapnya, lihat AWS RoboMaker dan antarmuka titik akhir VPC ()AWS PrivateLink.
catatan
Jika Anda menggunakan IGW, pastikan untuk mengatur assignPublicIp=True
seperti yang dijelaskan dalam dokumentasi di bawah ini. Jika Anda menggunakan IP publik, pastikan bahwa grup keamanan Anda cukup terkunci.
Anda harus menambahkan blok berikut ke parameter permintaan.
vpcConfig={
'subnets': [
'string',
],
'securityGroups': [
'string',
],
'assignPublicIp': True|False
},
Selain itu, pekerjaan AWS RoboMaker simulasi harus memiliki peran IAM dengan izin untuk menandai dan membatalkan pekerjaan simulasi.
Dalam pekerjaan simulasi Anda, Anda dapat menggunakan pustaka AWS CLI atau boto3
Python untuk memanggil publik. AWS RoboMaker APIs Anda harus memiliki boto3
perpustakaan AWS CLI dan yang sudah diinstal sebelumnya di wadah Anda sebelum Anda dapat menggunakannya dalam pekerjaan AWS RoboMaker simulasi. Kode contoh Python berikut menunjukkan cara membatalkan pekerjaan simulasi.
class RoboMakerUtils:
def __init__(self):
self.job_arn = os.getenv('AWS_ROBOMAKER_SIMULATION_JOB_ARN')
self.client = boto3.client('robomaker', region_name=os.getenv('AWS_ROBOMAKER_REGION', 'us-east-1'))
def tag_robomaker_sim_job(self, key, value):
self.client.tag_resource(
resourceArn=self.job_arn,
tags={
key: str(value)
}
)
def cancel_robomaker_sim_job(self):
self.tag_robomaker_sim_job("END_TIME", time.time())
response = self.client.cancel_simulation_job(
job=self.job_arn
)
Bagaimana cara mengimpor WorldForge dunia Simulasi ke dalam pekerjaan simulasi?
Jika Anda perlu mengimpor WorldForge aset Simulasi ke dalam pekerjaan simulasi Anda, gunakan API. DataSource
Ini memungkinkan Anda untuk mengimpor aset dunia dari direktori keluaran Amazon S3 dari pekerjaan ekspor dunia ke tujuan yang Anda pilih dalam wadah pekerjaan simulasi Anda.
Untuk informasi selengkapnya, lihat Menggunakan dunia yang diekspor dalam simulasi.
File log aplikasi saya tidak sedang dibuat. Apa yang terjadi?
Pastikan Anda telah membuat semua direktori keluaran yang Anda andalkan untuk men-debug artefak terkait di Dockerfile Anda. Misalnya, Anda dapat menambahkan baris berikut ke Dockerfile Anda.
RUN mkdir -p $YOUR_LOG_DIR
Untuk informasi selengkapnya, lihat Menambahkan konfigurasi unggahan khusus.
Aplikasi simulasi saya gagal dengan 'run_id pada server parameter tidak cocok dengan run_id yang dideklarasikan '. Apa yang harus saya lakukan?
Jika Anda meluncurkan pekerjaan simulasi ROS Anda dengan aplikasi robot dan aplikasi simulasi, Anda --wait
harus menambahkan perintah roslaunch.