小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-bootloader

sudo 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 C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

sudo apt-get update

sudo apt-get install ros-kinetic-ros-base

sudo rosdep init
rosdep update

echo "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 ~/.bashrc

sudo usermod -aG dialout $USER

 

硬件接好之后,如果要按照教程,比如进行键盘控制的话,还需要执行如下指令

sudo apt-get install -y ros-kinetic-rosserial

sudo apt-get install -y ros-kinetic-navigation

sudo 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 的软链接

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值