小R SLAM机器人树莓派3b+ ROS kinetic 环境搭建笔记
上位機(jī)環(huán)境搭建基本應(yīng)該沒什么難的,裝一個(gè)Ubuntu16.04,然后根據(jù)ros官方指導(dǎo)來(lái)操作即可
http://wiki.ros.org/kinetic/Installation/Ubuntu
樹莓派環(huán)境搭建還是遇到點(diǎn)麻煩
根據(jù)網(wǎng)上的說(shuō)法,ros環(huán)境和Ubuntu環(huán)境必須要搭配,不然安裝會(huì)有錯(cuò)誤,我購(gòu)買的小R SLAM機(jī)器人,默認(rèn)搭建的環(huán)境ROS版本為Kinetic,所以我樹莓派應(yīng)該安裝Ubuntu16.04,
但是我手上的樹莓派硬件為3b+,把默認(rèn)的系統(tǒng)https://ubuntu-mate.org/raspberry-pi/ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xz燒錄進(jìn)去無(wú)法正常安裝,網(wǎng)上把此現(xiàn)象叫做彩虹屏,即HDMI連接出現(xiàn)一個(gè)彩色頁(yè)面,但無(wú)法操作,解決步驟為https://wiki.ubuntu.com/ARM/RaspberryPi
wget http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-bootloader_1.20180417-1_armhf.deb
dpkg-deb -x raspberrypi-bootloader_1.20180417-1_armhf.deb /tmp/pi-bootloadersudo mount /dev/XXX1 /mnt
sudo cp /tmp/pi-bootloader/boot/* /mnt
這樣可以正常安裝,并通過(guò)HDMI顯示桌面
安裝的時(shí)候需要注意一點(diǎn),如果要和買回的小R機(jī)器人的程序兼容的話,需要把用戶名設(shè)定為rikirobot,因?yàn)橘u家給的程序的環(huán)境變量中此路徑是寫死的,要修改會(huì)比較麻煩
?
但裝好之后,依然存在一個(gè)問(wèn)題,是有線網(wǎng)卡和無(wú)線網(wǎng)卡均沒有正常驅(qū)動(dòng),我嘗試解決,但沒有找到完美的方案,有時(shí)候把wifi驅(qū)動(dòng)起來(lái)了但HDMI又沒有界面了,所以我妥協(xié)為外接了一個(gè)USB wifi無(wú)線網(wǎng)卡
?
裝好Ubuntu系統(tǒng)之后開始安裝ROS,步驟也和上位機(jī)一樣,這里把官方的指令再粘貼一遍
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654sudo apt-get updatesudo apt-get install ros-kinetic-ros-basesudo rosdep init
rosdep updateecho "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
這里ROS基本的環(huán)境變量就搭建好了
?
然后就是配置小R機(jī)器人自有的程序,把ros-core1903.zip 復(fù)制到 /home/rikirobot 目錄下,unzip 解壓出?catkin_ws 目錄,執(zhí)行如下命令
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrcsudo usermod -aG dialout $USER
?
硬件接好之后,如果要按照教程,比如進(jìn)行鍵盤控制的話,還需要執(zhí)行如下指令
sudo apt-get install -y ros-kinetic-rosserialsudo apt-get install -y ros-kinetic-navigationsudo apt-get install -y ros-kinetic-teleop-twist-keyboard sudo ln -s /dev/ttyUSB0 /dev/xrbase
這樣一個(gè)最基本的系統(tǒng)就搭建好了,如果要鍵盤控制小車運(yùn)動(dòng)的話,可以在終端執(zhí)行
roslaunch xrrobot bringup.launch
另起一個(gè)終端,執(zhí)行
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
按照提示,按鍵盤的i,j,,,等按鍵,即可控制小車的運(yùn)動(dòng)
?
————————————————————————————————————
小車的運(yùn)動(dòng)是由STM32控制的,USB口連接上控制板,會(huì)出現(xiàn)兩個(gè)串口,即/dev/serial 和 /dev/ttyUSB0,而和控制板通信是通過(guò)/dev/xrbase,其僅是 /dev/ttyUSB0 的軟鏈接
總結(jié)
以上是生活随笔為你收集整理的小R SLAM机器人树莓派3b+ ROS kinetic 环境搭建笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Ubuntu命令行连接wifi热点
- 下一篇: 树莓派历史版本下载