Platform Open-RMF untuk manajemen robot multi-armada.
Open-RMF adalah kumpulan paket, beberapa di antaranya memiliki dependensi ROS 2. Demi kenyamanan, kami mendistribusikan dan menginstal Open-RMF bersama dengan ROS 2 dan saat ini didukung untuk distribusi ROS 2 berikut:
humble
)iron
)jazzy
)rolling
) Kami terutama mendukung paket Debian di Ubuntu
dan memilih paket RPM untuk RHEL/Fedora
untuk arsitektur amd64
dan aarch64
.
Opsi untuk menginstal Open-RMF:
Jika Anda ingin mencoba Open-RMF kami sarankan menginstal binari. Membangun dari sumber lebih cocok untuk pengembang yang ingin menambahkan fitur baru atau memperbaiki bug.
Instruksi di bawah ini ditujukan untuk Ubuntu
.
Pertama silahkan ikuti petunjuk instalasi untuk menginstal ROS 2 untuk distro
pilihan dari versi yang didukung yang tercantum di atas. Disarankan untuk menginstal ROS 2 melalui debian biner.
Catatan: Untuk menginstal binari Open-RMF, penting untuk mengatur komputer Anda untuk menginstal paket ROS. Ini adalah langkah prasyarat saat menginstal binari debian ROS 2.
Instal semua dependensi non-ROS dari paket Open-RMF,
sudo apt update && sudo apt install ros-dev-tools -y
rosdep
membantu menginstal dependensi untuk paket ROS di berbagai distro dan akan diinstal bersama ros-dev-tools
. Namun, penting untuk memperbaruinya.
sudo rosdep init # run if first time using rosdep.
rosdep update
Perbarui colcon mixin
jika Anda belum pernah melakukannya.
colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
colcon mixin update default
Pertama ikuti instruksi di bagian Pengaturan. Terakhir instal paket debian Open-RMF untuk distro
pilihan.
sudo apt update && sudo apt install ros- < distro > -rmf-dev
Catatan: Ini akan menginstal semua paket debian yang diperlukan untuk menjalankan Open-RMF kecuali yang ada di rmf_demos karena alasan yang dijelaskan dalam masalah ini.
Untuk membangun rmf_demos
dari sumber, pertama-tama tentukan versi rmf_demos
yang sesuai dengan rilis biner terbaru untuk distro Anda. Misalnya, jika Anda menginstal biner Open-RMF humble
, versi rmf_demos
untuk rilis ini dapat ditemukan di file rmf.repos
di cabang humble-release
dari repositori ini, misalnya di sini.
Selanjutnya buat ruang kerja ROS 2 dan bangun rmf_demos
dari sumber. Ganti tag 2.0.3
di bawah dengan versi rmf_demos
untuk distribusi Anda.
mkdir ~ /rmf_ws/src -p
cd ~ /rmf_ws/src
git clone https://github.com/open-rmf/rmf_demos.git -b 2.0.3
cd ~ /rmf_ws
colcon build
Untuk menjalankan beberapa demonstrasi Open-RMF dalam simulasi, lihat README di rmf_demos.
Pertama ikuti instruksi di bagian Pengaturan.
Karena perubahan yang lebih baru pada kode sumber, mungkin ada konflik dan kesalahan kompilasi dengan file header lama yang diinstal oleh binari. Oleh karena itu sebelum melanjutkan, pastikan untuk menghapus instalasi semua biner Open-RMF untuk distro ROS 2 yang akan bersumber untuk build.
sudo apt purge ros- < distro > -rmf * && sudo apt autoremove
Open-RMF adalah kumpulan dari beberapa repositori/paket. rmf.repos menyediakan gambaran singkat dari paket-paket ini. Repositori ini menyimpan versi berbeda dari file ini tergantung pada distribusi ROS 2 dan versi rilisnya. Tergantung pada kasus penggunaannya, Anda dapat memilih untuk mengunduh file ini dari salah satu cabang berikut di repositori ini:
main
: Versi terbaru dari semua paket yang mungkin memiliki atau belum memiliki rilis biner. Ini direkomendasikan untuk pengembangan dan perbaikan bug.<distro>
: Versi terbaru dari paket untuk distro ROS 2 tertentu. Ini mungkin berbeda dari main
karena fitur pemecah API/ABI baru yang digabungkan ke main
tidak akan di-backport ke cabang <distro>
. Paket yang diunduh dari <distro>
mungkin memiliki perubahan yang belum tersedia dalam biner.<distro>-release
: Dimana <distro>
merupakan distribusi ROS 2 yang didukung (mis. humble
). Versi paket di sini akan sesuai dengan binari terbaru yang tersedia untuk distro ini.release-<distro>-YYMMDD
: Tag untuk <distro>
tertentu yang versi paketnya sesuai dengan binari yang tersedia di YYMMDD
. Lihat Rilis untuk informasi tambahan untuk setiap rilis. Ini berguna jika pengguna ingin membuat paket dari rilis yang lebih lama. Siapkan ruang kerja ROS 2 baru dan tarik repositori demo menggunakan vcs
. Ganti main
dengan cabang pilihan Anda.
mkdir -p ~ /rmf_ws/src
cd ~ /rmf_ws
wget https://raw.githubusercontent.com/open-rmf/rmf/main/rmf.repos
vcs import src < rmf.repos
Perbarui definisi rosdep Anda dan instal dependensi melalui rosdep
.
cd ~ /rmf_ws
sudo apt update
rosdep update
source /opt/ros/humble/setup.bash # replace humble with preferred ROS 2 distro.
rosdep install --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y
CATATAN: Kami sangat menyarankan untuk mengkompilasi paket Open-RMF dengan clang
sebagai compiler dan lld
sebagai linker.
sudo apt update
sudo apt install clang clang-tools lldb lld libstdc++-12-dev
Kompilasi ruang kerja setelah mencari distro ROS 2 pilihan.
cd ~ /rmf_ws
export CXX=clang++
export CC=clang
colcon build --mixin release lld
CATATAN: Saat pertama kali build dilakukan, banyak model simulasi yang akan diunduh dari Gazebo Fuel untuk mengisi adegan saat simulasi dijalankan. Akibatnya, pembangunan pertama bisa memakan waktu sangat lama tergantung pada beban server dan koneksi internet Anda (mungkin hingga satu jam). Untuk membangun tanpa mengunduh model, tambahkan
--cmake-args -DNO_DOWNLOAD_MODELS=On
kecolcon build
Untuk menjalankan beberapa demonstrasi Open-RMF dalam simulasi, lihat README di rmf_demos.
Kami juga menyediakan gambar buruh pelabuhan untuk Open-RMF.
Tarik gambar buruh pelabuhan dari registri github open-rmf/rmf
(pengaturan lihat di sini).
docker pull ghcr.io/open-rmf/rmf/rmf_demos:latest
docker tag ghcr.io/open-rmf/rmf/rmf_demos:latest rmf:latest
Jalankan!
docker run -it --network host rmf:latest bash -c " export ROS_DOMAIN_ID=9; ros2 launch rmf_demos_gz office.launch.xml headless:=1 "
Ini akan menjalankan rmf_demos
dalam mode tanpa kepala.
(Eksperimental) Pengguna juga dapat menjalankan rmf_demos
dalam bentuk grafis “non-headless”, melalui rocker.
Demonstrasi Open-RMF ditampilkan di rmf_demos.
Peta jalan jangka pendek dari keseluruhan proyek Open-RMF (termasuk dan seterusnya rmf_traffic
) dapat ditemukan dalam panduan pengguna di sini.
Petunjuk tentang cara mengintegrasikan sistem Anda dengan Open-RMF dapat ditemukan di sini.
Sejumlah robot komersial, sistem infrastruktur, sel kerja, dan perangkat telah terintegrasi dengan Open-RMF dan tautan ke adaptornya tersedia di repositori awesome_adapter
Bantu kami menambahkan ke daftar ini!
Titik awal yang berguna untuk mengintegrasikan armada Anda dengan RMF adalah Fleet_adapter_template.
Jika robot/armada Anda menampilkan titik akhir navigasi ROS asli, robot/armada tersebut dapat dengan mudah diintegrasikan dengan free_fleet.
Informasi lebih lanjut tentang proses pengembangan dan rilis dapat ditemukan di sini