Pendahuluan
Publikasi ini menyediakan petunjuk untuk menginstal dan menjalankan sistem operasi robot (ROS) pada robot seluler EduMIP. EduMiP adalah robot self-balancing yang dibangun di sekitar BeagleBone Black dengan mikroprosesor on-board dan Beaglebone Black Robotics Cape yang dikembangkan oleh James Strawson dan Profesor Thomas Bewley berkoordinasi dengan Laboratorium Robotika Terkoordinasi di UCSD dan staf mereka. BeagleBone Blue, baru-baru ini dirilis pada pertengahan 2017, menggabungkan fitur BeagleBone Black dan Robotics Cape dalam satu papan. Profesor Bewley menggunakan robot ini dalam program MAE144-nya - Embedded Control & Robotics, Departemen Teknik Mekanik dan Dirgantara, UCSD.
Saya menjawab pertanyaan di komentar.
Daftar komponen
Perhatikan bahwa Anda memerlukan satu Baglebone Blue atau masing-masing Beaglebone Black dan Robotics Cape.
- Beaglebone Blue (BBBL) : Baru-baru ini dirilis pada pertengahan 2017, menggabungkan fitur BeagleBone Black dan Robotics Cape pada komputer papan tunggal.

- Beaglebone Black (BBB) : platform berbiaya rendah yang didukung komunitas untuk pengembang dan penghobi, dengan prosesor ARM Cortex AM335x 1 GHz, RAM DDR3 512 MB, 4 GB 8-bit emmc on board.
- Robotics Cape (BBB-RC) : Beaglebone Black Robotics Cape adalah papan I / O untuk Beaglebone Black yang menyediakan banyak sensor dan dukungan perangkat keras yang kaya, termasuk yang berikut:
- Sensor:
- I / O:
- 4 encoder kuadratik
- 4 driver motor H-bridge
- 8 keluaran Servo / ESC
- Antarmuka Radio DSM RC Standar
- I2C UART ADC SPI GPIO PWM
- Pengontrol pengisian daya baterai polimer lithium
- EduMIP Kit : Kit ini terdiri dari motor DC, gir, encoders, roda, komponen plastik, kabel, dan pengencang.

- Kartu Micro-SD : Kartu micro-SD dengan ukuran minimal 8GB.
- Gambar Ubuntu 16.04 LTS untuk BeagleBone Black and Blue : j Gambar milik Robert Nelson, Jeff O'Brian di sini . Gambar ini mengandung ROS Kinetic dengan ROS yang sudah diinstal, seperti workstation ros catkin dengan paket ros EduMIP dasar dengan yang sudah diinstal. Berikut adalah dua gambar Ubuntu, pastikan Anda menggunakan gambar yang benar:
- Gunakan gambar ini untuk BragleBonbne Blue:
2018_02_03_beaglebone_blue_16p04_Ubuntu_LTS_EduMIP_ROS.img.zip - Gunakan gambar ini untuk BeagleBone Black Wireless + Robotics Cape:
2018_02_03_beaglebone_black_wireless_16p04_Ubuntu_LTS_EduMIP_ROS.img.zip
Gambar 8 GB dikompres menjadi file zip 2,5 GB. ANDA TIDAK PERLU MEMBUKA FILE ZIP. Program (Etcher) dapat membuka ritsletingnya dengan cepat. - USB stick : Berguna untuk tutorial dalam kursus Pemrograman Sistem Robot. Model murah yang bagus adalah Logitech Gamepad F310
Perakitan dan pengujian kit EduMIP (bagian dari tugas kursus pemrograman sistem Robotic # 3)
Bangun dan Uji EduMIP sebagai berikut. Berhati-hatilah. Bersikaplah lembut.
1.
EduMIP Build : Ikuti instruksi bangunan EduMIP langkah demi langkah yang disediakan di
sini .
Tonton video perakitan saya dalam bahasa Rusia:
2.
Beberapa Catatan Tambahan:- Dokumentasi tambahan tersedia di sini.
- Jika Anda menggunakan BEAGLEBONE BLACK + ROBOTIC CAPE, JANGAN MENCAMPUR DAYA + 5V dan + 9V: BBB memiliki konektor daya untuk + 5V. Robotics Cape memiliki konektor daya balel yang identik untuk + 9V. Neraka
- Jangan colokkan catu daya +9V langsung ke konektor +5V pada BBB-hasilnya akan menjadi BBB mati.
- Matikan daya saat tidak menggunakan robot: saat Anda tidak menggunakan EduMIP atau mengisi baterai:
Lepaskan Kabel Pengisian 12V dari EduMIP
Sebelum Mengangkut Robot Lepaskan baterai dari Robotics Cape. - JANGAN KERUSAKAN konektor motor dan ENCODER: Robotics Cape konektor untuk enkoder dan motor sangat kecil.
Mengkonfigurasi Beaglebone Black / Blue dan EduMIP (bagian dari tugas kursus ROS # 3)
Konfigurasikan Beaglebone Blue Anda untuk digunakan di EduMIP sebagai berikut.
1.
Periksa papan BeagleBone Blue / Black Anda: sebelum merakit edumip, uji papan biru beaglebone Anda - dilengkapi dengan Debian Jessie yang diinstal pada flash drive 4GB bawaannya.
- Ikuti instruksi di sini . Untuk menginstal aturan udev di PC linux Anda. Gunakan halaman ini hanya untuk mengetahui bagaimana melindungi aturan UDEV pada PC LINUX Anda, abaikan yang lainnya.
- Setelah Anda menginstal aturan udev yang sesuai pada komputer linux Anda, itu akan membuat koneksi Ethernet ke BBB melalui koneksi USB melalui adaptor Ethernet virtual usb0. Komputer host Anda akan berada di alamat IP 192.167.7.1, dan BBB akan berada di 192.168.7.2. SSH dari komputer host ke BBB "ssh debian@192.168.7.2". Kata sandi default untuk "debian" adalah "temppwd".
- Setiap kali Anda selesai bekerja dengan BBBL dan siap untuk mematikannya, jangan hanya mematikannya - jalankan perintah "sudo poweroff" untuk mematikan Linux dan mematikan daya ke papan. Setelah semua LED di papan padam, normal untuk melepaskan kabel USB.
2.
Instal dan Uji gambar 8gb Ubuntu 16.04 LTS Linux dengan dukungan ROS dan BBBL / EduMIP di BBBL Anda : kami membuat gambar Ubuntu 8gb yang memiliki dukungan kinetik ros dan BBBL. Kit EduMIP Anda memiliki kartu Micro-SD 32GB atau 64GB kosong.
- Unduh: Gambar siap pakai Ubuntu 16.04 untuk dukungan ARM untuk BBBL dan ROS, lihat di atas untuk instruksi berjudul "Gambar Ubuntu 16.04 LTS untuk beaglebone hitam dan biru".
- Anda tidak perlu membuka ritsleting gambar yang diarsipkan.
- Unduh Etcher: unduh dan instal Etcher di komputer Anda dengan etcher.io -Etcher adalah program untuk menulis gambar disk ke kartu SD.
- Bakar gambar disk ke kartu micro-SD.
- Masukkan kartu micro SD dengan hati-hati: Masukkan kartu micro SD ke dalam slot kartu micro SD dan beaglebone. JANGAN GANTI, ITU MENYEDIAKAN SENTUH SAJA DENGAN SENTUHAN UNTUK MENGINSTAL.
- Unduh itu! Unduh BBBL dari gambar kartu Micro-SD dengan menghubungkannya ke komputer menggunakan kabel USB.
- Jika kartu Micro-SD berisi gambar boot, maka BBBL akan mem-boot darinya, dan bukan dari flash drive bawaannya.
- SSH di BBBL ("ssh ubuntu@192.168.7.2" dengan kata sandi "temppwd") dan pastikan bahwa Anda benar-benar bekerja dalam gambar 32GB. Perintah df -h harus menunjukkan setidaknya 2 GB ruang kosong, dan perintah htop harus menunjukkan 1 GB file halaman aktif.
3.
Tes EduMIP : periksa EduMIP dengan masuk sebagai pengguna ubuntu dengan kata sandi "temppwd" sebagai berikut:
- Catatan tentang pesan kesalahan : versi terbaru dari perpustakaan roboticscape, yang diunduh ke gambar Ubuntu yang kami gunakan, memiliki beberapa kesalahan PRU yang menampilkan pesan kesalahan "ERROR: driver pru-rproc hilang" ketika memanggil perpustakaan roboticscape untuk mengakses perangkat keras BBBL Kami dapat mengabaikan peringatan ini, itu akan diperbaiki dalam rilis nanti. Berharap untuk melihat salah satu peringatan ini ketika menjalankan program seperti rc_balance, rc_test_encoders, edumip_balance_ros, dll.
Ini adalah contoh dari pesan kesalahan ini:
ubuntu@arm:~$ rc_test_imu ERROR: pru-rproc driver missing try 'test_imu -h' to see other options Accel XYZ(m/s^2) | Gyro XYZ (rad/s) | Mag Field XYZ(uT) | Temp (C) 0.23 -3.06 9.72 | 0.0 -0.0 -0.0 | 22.9 -4.1 -54.9 | 37.9
- Uji enkoder: jalankan perintah rc_test_encoders dan putar sedikit - Anda akan melihat enkode E2 dan E3 menunjukkan perubahan dalam jumlah putaran.
- Pengujian mesin : jalankan perintah "rc_test_motors-D 0,1" - ketika Anda menaikkan EduMIP, kedua roda harus berputar ke arah yang berlawanan.
- Kalibrasi Giroskop : Letakkan EduMIP di atas meja, diam, dan jalankan perintah rc_calibrate_gyro dan ikuti instruksi. Program kalibrasi ini menulis kalibrasi giroskop ke /var/lib/roboticscape/gyro.cal
- Uji giroskop : jalankan perintah "rc_test_imu" dan pastikan bahwa data "Gyro XYZ (rad / s)" sama dengan nol (atau hampir nol).
- Kalibrasi Magnetometer : jalankan perintah "rc_calibrate_mag" dan ikuti instruksi - Anda akan diminta untuk memegang EduMIP di tangan Anda dan memutar ("spin") dalam semua orientasi. Program kalibrasi ini menulis file kalibrasi magnetometer /var/lib/roboticscape/mag.cal
- Tes Magnetometer : Jalankan perintah rc_test_imu dan verifikasi bahwa data Mag Field XYZ (uT) adalah nol. Besarnya vektor medan magnet Bumi di Baltimore dan Woods Hole sekitar 52uT, tetapi jangan khawatir jika magnetometer Anda sedikit tidak aktif.
Anda dapat mengetahui kekuatan garis lintang, bujur, dan medan magnet untuk Baltimore dengan memasukkan kode pos Anda di halaman web ini . - EduMIP balancing test : Jalankan perintah "rc_balance", dan pasang robot. Robot Anda harus seimbang di tempatnya.
4.
Tes ROS pada BBBL- Periksa file .bashrc. Pada akhirnya, file tersebut harus memiliki perintah berikut dalam urutan sebagai berikut:
Pertama, perintah "source /opt/ros/kinetic/setup.bash" untuk mengkonfigurasi variabel lingkungan ROS.
Kedua, perintah "source ~ / catkin_ws / devel / setup.bash" untuk menambahkan ruang kerja catkin lokal ke lingkungan ROS (ini disebut "worspace overlay"). - Jalankan perintah "source .bashrc" untuk mengonfigurasi variabel lingkungan ROS. Periksa dengan perintah printenv / grep ROS.
- Pastikan Anda dapat menjalankan roscore dan utilitas ROS lainnya.
- Pastikan Anda dapat menjalankan "catkin_make" di ruang kerja BBBL ROS.
- Gambar diverifikasi
5.
Perbarui dan uji program keseimbangan ROS EduMip :
- Jika Anda belum melakukannya, kalibrasi gyro EduMIP dengan perintah "rc_calibrate_gyro" saat robot masih di atas meja.
- Masuk ke EduMIP dengan nama pengguna "ubuntu" dan kata sandi "temppwd"
- Konfigurasikan Wi-Fi di EduMIP: Konfigurasikan Wi-Fi Anda sehingga Anda dapat mengkloning paket ROS dari repositori git kami.
- Jika Anda menginstal gambar Ubuntu 16.04 yang sudah diinstal seperti dijelaskan di atas, maka Anda sudah memiliki paket "edumip_msgs" dan "edumip_ros_balance" di direktori sumber catkin worskace, yaitu ~ / catkin_ws / src / edumip_msgs, dan ~ / catkin_ws / src / edumip_balance_ros. Perbarui paket edumip_balance_ros dengan perintah "cd ~ / catkin_ws / src / edumip_balance_ros" dan "git pull" untuk mengunduh kode terbaru untuk paket ini. Jika Anda mendapatkan pesan kesalahan "kesalahan: Perubahan lokal Anda ke file berikut akan ditimpa oleh penggabungan:
src / edumip_balance_ros.cpp Tolong, komit perubahan Anda atau sembunyikan sebelum Anda dapat bergabung. ", lalu hapus file src / edumip_balance_ros.cpp yang mengganggu, dan" git pull "lagi. - Jika edumip_msgs dan edumip_balance_ros Anda belum ada di direktori src di ruang kerja catu EduMIP Anda (ini seharusnya ~ / catkin_ws / src ), maka klon kedua paket ROS ini ke ~ / catkin_ws / src ):
- Paket edumip_msg mendefinisikan jenis pesan khusus edumip_msf / EduMipState untuk EduMIP. Paket ini tidak mengandung kode sumber, hanya definisi pesan dan komunikasi CMakeLists.txt dan package.xml. Jika komputer Anda perlu mengakses jenis pesan ini, Anda juga harus mengkloning proyek di komputer Anda. Paket ini adalah arsitektur independen. Paket ini dapat dikloning oleh git dari URL publik ini.
- Paket edumip_balance_ros berisi edumip_ros_node C ++ node ROS.cpp, yang merupakan versi dari program ROS-ified rc_balance. Gambar linux yang kami sediakan untuk Anda sudah menginstal driver Robotics Cape dan ROS. Paket ini dapat dikloning oleh git dari URL publik ini.
- Buat dua paket ini menggunakan perintah catkin_make di direktori utama ruang kerja catkin.
- Verifikasi bahwa ROS sekarang tahu tentang pesan pengguna yang didefinisikan dalam paket edumip_msgs dengan perintah: rosmsg show edumip_msgs / EduMipState
- Buka dua sesi ssh jarak jauh di EduMIP:
Pertama, di shell pertama jalankan "roslaunch edumip_balance_ros edumip_balance_ros"
Kedua, di shell kedua, lihat topik ros dan topik cetak / edumip / negara.
Letakkan robot Anda, itu harus seimbang.
6.
Matikan BBBL dengan benar : ketika Anda selesai dan siap untuk mematikan BBBL, jangan hanya mematikannya - jalankan perintah "sudo poweroff" untuk mematikan Linux dan mematikan daya ke papan. Setelah semua LED di papan padam, Anda dapat mencabut kabel USB.
Beberapa catatan Linux yang berguna untuk BBB dan BBBL
- Editor emacs dan nano sudah diinstal pada gambar linux BBB yang disediakan untuk tutorial ini.
- Utilitas linux "loc" tidak diinstal secara default, tetapi Anda dapat menginstalnya menggunakan "sudo apt-get install loc" dan inisialisasi database pencari dengan perintah "sudo updatedb" (membutuhkan beberapa menit).
- Server waktu NTP diinstal pada gambar BBB linux yang disediakan untuk pelajaran ini, tetapi hanya akan disinkronkan jika BBB memiliki rute ke Internet, misalnya, ketika WIFi Anda dihidupkan. Koneksi Jaringan USB ke komputer secara default tidak dialihkan ke Internet. Anda dapat memeriksa status ntp menggunakan perintah ntpq-p.
Catatan tentang pengaturan BeagleBone Black (BBB) dan beaglebone Blue (BBBL) dengan Ununtu 16.04 dan ROS
(Mereka tercantum di sini untuk referensi saja dan tidak boleh langkah yang diperlukan untuk menyelesaikan tugas 3).
Hubungkan PC Anda ke BBB melalui USB- Ikuti instruksi di sini.
- Setelah Anda menginstal driver yang sesuai atau aturan udev di komputer host, itu akan membuat koneksi Ethernet dengan BBB melalui koneksi USB melalui adaptor USB0 virtual Ethernet. Komputer host Anda akan berada di alamat IP 192.167.7.1, dan BBB akan menjadi 192.168.7.2. SSH dari komputer host ke BBB "ssh ubuntu@192.168.7.2". Kata sandi default untuk ubuntu adalah temppwd.
Cara membuat koneksi Ethernet dengan DNS dan rute ke Internet eksternalWiFi (BBBL, BBB Wireless, BBB Classic + USB WiFi Adapter):
- WiFi dalam sekejap : ikuti instruksi untuk connmanctl yang tercantum dalam komentar di file / etc / network / interfaces. Untuk membaca komentar, gunakan perintah cat / etc / network / interfaces.
- Catatan : connmanctl tidak mendukung jaringan perusahaan seperti hopkins, tetapi mendukung jaringan WPA / WPA2.
- Catatan : saat memuat adaptor BBBL WiFi tidak selalu benar. Jika Anda tidak melihat "wlan0" di output dari perintah ifconfig, coba aktifkan BBBL secara manual sebagai antarmuka wlan0 menggunakan perintah "ifconfig wlan0 up". Maka Anda akan melihat wlan0 di output dari perintah ifconfig.
- Ifconfig : Gunakan perintah ifconfig untuk melihat semua antarmuka jaringan yang dikonfigurasi (LAN, WiFi, USB, dll.) Pada mesin Anda.
- Iwconfig : gunakan perintah "iwconfig" untuk melihat semua antarmuka jaringan WiFi yang terkonfigurasi di komputer Anda.
- Siapa saya? Cara termudah untuk menentukan alamat IP (atau alamat) mesin Linux adalah dengan masuk dan menggunakan perintah ifconfig.
- Wifi Groundhog Day! Sayangnya, BBBL saat ini tidak mengingat pengaturan WiFi.
Koneksi WiFi yang disukai harus seperti BBBL dan komputer Anda terhubung ke titik akses Wi-Fi yang sama, sehingga Anda dapat ssh ke BBBL dari komputer Anda, dan BBBL Anda memiliki akses internet ke git repo, dll.
Anda juga dapat langsung terhubung ke BBBL menggunakannya sebagai titik akses Wi-Fi dengan menghubungkan komputer Anda ke jaringan Wi-Fi BeagleBone-XXXX, di mana XXXX unik untuk BBBL Anda. Kata sandi WiFi adalah "BeagleBone". Ini adalah koneksi yang sederhana, tetapi BBBL atau komputer Anda tidak akan memiliki akses Internet ke git repos, dll. Setelah tersambung, komputer Anda akan memiliki alamat IP 192.168.XXX.XXX Alamat IP BBBL adalah 192.168.XXX.1
Memperbarui Distribusi BBBL Ubuntu AndaDi BBB, jalankan Linux sudo apt update DAN sudo apt dist-upgrade perintah Linux
Menginstal Perangkat Lunak Cape Robotika di BBBL- Dukungan Robotics Cape / BBBL sudah tersedia pada gambar Ubuntu yang telah dikonfigurasi sebelumnya untuk BBBL yang dijelaskan di atas, Anda tidak perlu menginstalnya kembali.
- Instalasi biner di bawah Ubuntu 16.04 pada ARM: "sudo apt-get install roboticscape"
- Instalasi dari sumber
Anda ingin menginstal salinan kode sumber cape robotika dan kode sampel pada BBB Anda. Ini tersedia di
sini . Menginstal salinan di direktori home:
"Cd ~"
"Git clone
github.com/StrawsonDesign/Robotics_Cape_Installer.git "
Sekarang Anda dapat melihat kode sumber jubah robot dan ikuti instruksi untuk mengkompilasi dan menginstal perpustakaan robot cape dan program sampel.
Menginstal paket ROS dasar untuk EduMIPKloning kedua repo git ini ke direktori ~ / catkin_ws / src Anda:
cd ke ~ / catkin_ws dan kumpulkan paket "catkin_make".
Untuk menjalankan simpul edumip_balance_ros, program ini membutuhkan hak akses root. Mungkin cara termudah untuk melakukan ini adalah mengubah izin dan kepemilikan biner yang dikompilasi menggunakan dua perintah ini (dalam urutan itu) setelah Anda mengompilasinya:
- root sudo chown: root ~ / catkin_ws / devel / lib / edumip_balance_ros
- sudo chmod u + s ~ / catkin_ws / devel / lib / edumip_balance_ros
Jalankan simpul ROS edumip_balance_ros "
roslaunch edumip_balance_ros edumip_balance_ros.launch ". Robot akan menyeimbangkan, menerima pesan kecepatan putaran dari perintah topik / edumip / cmd dan mempublikasikan statusnya ke topik / edumip / status topik ROS
Jika Anda tidak dapat menemukan
file startup
edumip_balance_ros.launch di
direktori ~ / catkin_ws / src / edumip_balance_ros / launch, maka Anda perlu "git pull" versi terbaru dari paket ini, seperti dijelaskan di atas, dan mengkompilasi ulang sumber dengan "catkin_make".
Lihat penugasan minggu ke-3 pada halaman web kursus ini untuk informasi lebih lanjut tentang penggunaan backage ROS ini: Penugasan Minggu Sistem Pemrograman Robot 3
Catatan tentang Memulai EduMIP dengan ROS
Mengapa saya mendapatkan kesalahan izin saat menjalankan edumip_balance_ros dan bagaimana cara memperbaikinya?Baca ini jika Anda mendapatkan kesalahan seperti “tidak bisa membuka:
/ sys / devices / platform / ocp / ocp: H18_pinmux / state
Pinmux: Izin ditolak ”saat menjalankan edumip_balance_ros.
Saat mengkompilasi proyek edumip_balance_ros di edumip dengan catkin_make, kompilasi file yang dapat dieksekusi:
"~ / catkin_ws / devel / lib / edumip_balance_ros / edumip_balance_ros"
ubuntu @ arm: ~ / catkin_ws $ ls -l devel / lib / edumip_balance_ros /
total 272
-rwxrwxr-x 1 ubuntu ubuntu 278292 18 Februari 18:48 edumip_balance_ros
Perhatikan bahwa pemilik dan grup file adalah ubuntu: ubuntu, dan itu dapat dieksekusi ("-rwxrwxr-x").
Ketika Anda mencoba menjalankan file yang baru dikompilasi ini, Anda akan mendapatkan kesalahan izin, seperti yang ditunjukkan di bawah ini:ubuntu @ arm: ~ / catkin_ws $ roslaunch edumip_balance_ros edumip_balance_ros.launch
... masuk ke /home/ubuntu/.ros/log/a271dd92-14dc-11e8-b293-dc5360d671c6/roslaunch-arm-2845.log
Memeriksa direktori log untuk penggunaan disk. Ini mungkin perlu waktu.
Tekan Ctrl-C untuk menyela
Selesai memeriksa penggunaan disk file log. Penggunaan adalah <1GB.
memulai server roslaunch 192.168.10.102 : 37365 /
RINGKASAN
========
PARAMETER
* / rosdistro: kinetik
* / rosversion: 12.1.12
NODES
/
edumip_balance_ros_node (edumip_balance_ros / edumip_balance_ros)
ROS_MASTER_URI = http: //192.168.10.101: 11311
proses [edumip_balance_ros_node-1]: dimulai dengan pid [2874]
[INFO] [1518979862.674565427]: File /home/ubuntu/catkin_ws/src/edumip_balance_ros/src/edumip_balance_ros.cpp dikompilasi pada 3 Februari 2018 19:38:02.
tidak dapat membuka: / sys / devices / platform / ocp / ocp: H18_pinmux / state
Pinmux: Izin ditolak
tidak dapat membuka: / sys / devices / platform / ocp / ocp: C18_pinmux / state
Pinmux: Izin ditolak
tidak dapat membuka: / sys / devices / platform / ocp / ocp: U16_pinmux / state
Pinmux: Izin ditolak
tidak dapat membuka: / sys / devices / platform / ocp / ocp: D13_pinmux / state
Pinmux: Izin ditolak
tidak dapat membuka: / sys / devices / platform / ocp / ocp: J15_pinmux / state
Pinmux: Izin ditolak
tidak dapat membuka: / sys / devices / platform / ocp / ocp: H17_pinmux / state
Pinmux: Izin ditolak
PERINGATAN: driver PINMUX hilang
Anda mungkin hanya perlu kernel yang lebih baru
Tidak dapat membuka / dev / mem
mmap_gpio_adc.c gagal menginisialisasi gpio
[INFO] [1518979862.806645002]: GALAT: gagal menginisialisasi tanjung.
[edumip_balance_ros_node-1] proses telah mati [pid 2874, kode keluar 255, cmd / home / ubuntu / catkin_ws / devel / lib / edumip_balance_ros / edumip_balance_ros __nama: = edumip_balance_ros_node __log: = / home / ubuntu. 14dc-11e8-b293-dc5360d671c6 / edumip_balance_ros_node-1.log].
file log: /home/ubuntu/.ros/log/a271dd92-14dc-11e8-b293-dc5360d671c6/edumip_balance_ros_node-1*.log
semua proses pada mesin telah mati, roslaunch akan keluar
mematikan monitor pemroses ...
... mematikan pemroses monitor selesai
selesai
Masalahnya di sini adalah bahwa executable Anda harus dijalankan sebagai root, dan bukan sebagai pengguna biasa, untuk mengakses register perangkat keras BeagleBone.
Setelah mengkompilasi edumip_ros_balance, Anda dapat mengubah izin root dari file yang dapat dieksekusi (sudo chown root: root <file name>) dan mengatur bitnya (sudo chmod u + s <file name>) dengan menjalankan skrip berikut:
"~ / catkin_ws / src / edumip_balance_ros / scripts / edumip_change_perms.sh"
Jika Anda melihat skrip shell ini, Anda akan melihat bahwa ia mengeksekusi dua perintah ini:
sudo chown root: root ~ / catkin_ws / devel / lib / edumip_balance_ros / edumip_balance_ros
sudo chmod u + s ~ / catkin_ws / devel / lib / edumip_balance_ros / edumip_balance_ros
Setelah menjalankan skrip ini (ini akan menanyakan kata sandi sudo), izin dan grup file yang dapat dieksekusi akan diubah dari ubuntu: ubuntu menjadi root: root, dan bit lengketnya akan diinstal (izin sebelumnya "- rwxrwxr-x" dan menjadi "- rwsrwxr -x "):
ubuntu @ arm: ~ / catkin_ws $ ls -l devel / lib / edumip_balance_ros /
total 272
-rwsrwxr-x 1 root root 278292 18 Feb 18:48 edumip_balance_ros
Sekarang ketika Anda menjalankan edumip_balance_ros, itu akan berfungsi dengan baik, seperti yang ditunjukkan di bawah ini:
ubuntu @ arm: ~ $ roslaunch edumip_balance_ros edumip_balance_ros.launchubuntu @ arm: ~ $ roslaunch edumip_balance_ros edumip_balance_ros.launch
... masuk ke /home/ubuntu/.ros/log/a271dd92-14dc-11e8-b293-dc5360d671c6/roslaunch-arm-2099.log
Memeriksa direktori log untuk penggunaan disk. Ini mungkin perlu waktu.
Tekan Ctrl-C untuk menyela
Selesai memeriksa penggunaan disk file log. Penggunaan adalah <1GB.
memulai server roslaunch 192.168.10.102 : 34253 /
RINGKASAN
========
PARAMETER
* / rosdistro: kinetik
* / rosversion: 12.1.12
NODES
/
edumip_balance_ros_node (edumip_balance_ros / edumip_balance_ros)
ROS_MASTER_URI = http: //192.168.10.101: 11311
proses [edumip_balance_ros_node-1]: dimulai dengan pid [2108]
[INFO] [1518981653.978399507]: File /home/ubuntu/catkin_ws/src/edumip_balance_ros/src/edumip_balance_ros.cpp dikompilasi pada 3 Februari 2018 19:38:02.
GALAT: driver pru-rproc hilang
[INFO] [1518981654.104574860]: Pengendali Loop Dalam D1:
memesan: 2
timestep dt: 0,0100
-4,9450z² + 8,8620z + -3,9670
- 1,0000z² + -1,4810z + 0,4812
[INFO] [1518981654.107474727]:
Pengendali Loop Luar D2:
memesan: 2
timestep dt: 0,0100
0,1886z² + -0,3721z + 0,1835
- 1,0000z² + -1,8605z + 0,8605
[INFO] [1518981654.573431369]:
Pegang MIP Anda dengan tegak untuk mulai menyeimbangkan
ROS tidak dapat menemukan paket ROS sayaJika di lingkungan ROS Anda tidak mengerti bahwa Anda memiliki paket baru di catkin_ws / src, kemudian coba perbarui profil rospack Anda dengan perintah profil rospack dan perbarui cache rosdep dengan perintah pembaruan rosdep.
Kompilasi dan mengikat ke perpustakaan Robotika Cape "C"Perpustakaan Robotics Cape telah diinstal sebelumnya pada gambar Ubuntu 16.04, tersedia di tautan yang disediakan sebelumnya di halaman ini. Itu diinstal menggunakan perintah sudo apt-get install roboticscape.
Perpustakaan jubah robotik dan file header terkait sudah diinstal di EduMIP. Tautan ke perpustakaan /usr/lib/libroboticscape.so, dan dua file header tingkat atas rc_usefulincludes.h dan roboticscape.h.
Anda dapat merujuk ke proyek
edumip_balance_ros untuk mempelajari cara menggunakan file header cape C robotics cape dan perpustakaan tautan C dengan simpul C ++ ROS.
Lihat edumip_balance_ros / src / edumip_balance_ros.cpp untuk melihat cara memasukkan file header C dalam program C ++ dengan arahan eksternal "C".
Lihat edumip_balance_ros / CMakeLists.txt untuk cara menautkan program Anda ke pustaka roboticscape C.
Paket Edumip_balance_ros- Untuk mengkompilasi paket edumip_balance_ros , Anda juga harus menginstal paket edumip_msgs .
- Paket edumip_balance_ros tidak akan dikompilasi di komputer Anda, itu hanya untuk kompilasi di EduMIP.
EduMIP Konfigurasi HorizontalBeberapa tim siswa menggunakan EduMIP dalam konfigurasi horizontal dengan roda kastor.
Untuk melakukan ini, Anda perlu mengganti proyek "edumip_balance_ros" dengan kode baru Anda sendiri untuk mengendalikan motor roda, serta membaca dan menerbitkan encoders roda. Dan kemarin saya memeriksa di dalam kelas salah satu paket yang mungkin, Anda dapat menggunakan paket ROS differential_drive (http://wiki.ros.org/differential_drive). Untuk menggunakan paket differential_drive, Anda perlu menulis simpul C ++ baru untuk edumip, yang (a) membaca enkoder roda dan menerbitkannya menurut topik dan (b) berlangganan topik perintah motor dan perintah voltase untuk motor roda.


Perangkat Port SerialUntuk berinteraksi dengan sensor pada port serial, seperti sensor ultrasonik USB yang diperlihatkan di kelas, Anda harus dapat membuka, membaca, dan mengirim melalui port serial.



Paket yang bagus untuk
paket seri ROS ini. Anda dapat menginstalnya "sudo apt-get install ros-kinetic-serial".
Contoh sederhana
di siniSalinan src dapat dikloning ke ruang kerja ROS menggunakan perintah git clone
github.com/wjwwood/serial.git dan dikompilasi menggunakan catkin_make. Direktori contoh berisi contoh-contoh yang lebih kompleks menggunakan port serial dengan paket serial.
Perhatikan bahwa paket ros ini bernama "serial" bukan paket "rosserial". Paket "serial" adalah pustaka serba guna ringan untuk membaca dan mengirim data pada port serial. "Rosserial" adalah paket untuk memasangkan perangkat kecil seperti Arduino saat node bertambah.
Tambahan dari penerjemah:Saya menambahkan foto dan video saya ke artikel, serta foto karya siswa. Secara umum, hanya instruksi ini yang cukup untuk dijalankan, hanya diinginkan untuk memiliki setidaknya pengalaman baris perintah linux minimal dan pemahaman dasar arsitektur ROS. Skrip robot ditulis dalam C.
Anda bisa bertanya di komentar, saya baca dan jawab.