小R SLAM机器人树莓派3b+ ROS kinetic 环境搭建笔记
上位機環境搭建基本應該沒什么難的,裝一個Ubuntu16.04,然后根據ros官方指導來操作即可
http://wiki.ros.org/kinetic/Installation/Ubuntu
樹莓派環境搭建還是遇到點麻煩
根據網上的說法,ros環境和Ubuntu環境必須要搭配,不然安裝會有錯誤,我購買的小R SLAM機器人,默認搭建的環境ROS版本為Kinetic,所以我樹莓派應該安裝Ubuntu16.04,
但是我手上的樹莓派硬件為3b+,把默認的系統https://ubuntu-mate.org/raspberry-pi/ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xz燒錄進去無法正常安裝,網上把此現象叫做彩虹屏,即HDMI連接出現一個彩色頁面,但無法操作,解決步驟為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
這樣可以正常安裝,并通過HDMI顯示桌面
安裝的時候需要注意一點,如果要和買回的小R機器人的程序兼容的話,需要把用戶名設定為rikirobot,因為賣家給的程序的環境變量中此路徑是寫死的,要修改會比較麻煩
?
但裝好之后,依然存在一個問題,是有線網卡和無線網卡均沒有正常驅動,我嘗試解決,但沒有找到完美的方案,有時候把wifi驅動起來了但HDMI又沒有界面了,所以我妥協為外接了一個USB wifi無線網卡
?
裝好Ubuntu系統之后開始安裝ROS,步驟也和上位機一樣,這里把官方的指令再粘貼一遍
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基本的環境變量就搭建好了
?
然后就是配置小R機器人自有的程序,把ros-core1903.zip 復制到 /home/rikirobot 目錄下,unzip 解壓出?catkin_ws 目錄,執行如下命令
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrcsudo usermod -aG dialout $USER
?
硬件接好之后,如果要按照教程,比如進行鍵盤控制的話,還需要執行如下指令
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
這樣一個最基本的系統就搭建好了,如果要鍵盤控制小車運動的話,可以在終端執行
roslaunch xrrobot bringup.launch
另起一個終端,執行
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
按照提示,按鍵盤的i,j,,,等按鍵,即可控制小車的運動
?
————————————————————————————————————
小車的運動是由STM32控制的,USB口連接上控制板,會出現兩個串口,即/dev/serial 和 /dev/ttyUSB0,而和控制板通信是通過/dev/xrbase,其僅是 /dev/ttyUSB0 的軟鏈接
總結
以上是生活随笔為你收集整理的小R SLAM机器人树莓派3b+ ROS kinetic 环境搭建笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu命令行连接wifi热点
- 下一篇: 树莓派历史版本下载