树莓派(raspberry pi 3b/4b)安装ROS Kinetic Kame

1.概述

可以使用PIBOT提供镜像,预装了ROS,而且已经配置好环境,如果你想体验下安装过程,也可以先输入官方UBUNTU后再安装ROS,可以直接跳过步骤2

2.刷入pibot_ros镜像


PIBOT网盘中提供了相关工具与镜像,我们需要使用工具Win32 Disk MangaerROS镜像

选择镜像和相应的盘符,点击Write按钮,然后点一下Yes确定操作,开始系统写入

等待安装完成即可

刷完看到容量变小了,不用担心,正常情况
用户名密码都是pibot

3 逐步安装ROS

使用PIBOT提供的镜像可以跳过该步骤,同时实际上面生成的镜像就是执行了以下步骤而已

3.1下载ubuntu

从百度网盘或者官网下载Ubuntu mate或者Lubuntu

3.2 刷入ubuntu

使用该镜像刷入ubuntu,步骤同2刷入镜像

3.3安装ROS

# if [ ! -z "$PIBOT_HOME" ]; then
#     PIBOT_HOME_DIR=$PIBOT_HOME
# else
#     PIBOT_HOME_DIR=~/pibot_ros
# fi

echo -e "\033[1;32mpibot home dir:$PIBOT_HOME_DIR"

# http://wiki.ros.org/ROS/Installation/UbuntuMirrors
sudo sh -c 'echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
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

code_name=$(lsb_release -sc)

if [ "$code_name" = "trusty" ]; then
    ros_version="indigo"
elif [ "$code_name" = "xenial" ]; then
    ros_version="kinetic"
elif [ "$code_name" = "bionic" ] || [ "$code_name" = "stretch" ]; then
    ros_version="melodic"
else
    echo "PIBOT not support "$code_name
    exit
fi

echo "ros:" $ros_version

if [ "$ros_version" = "melodic" ]; then
    # third 
    # cd $PIBOT_HOME_DIR/third_party
    # cd libuvc
    # mkdir -p build
    # cd build && cmake .. && sudo make install

    # cd $PIBOT_HOME_DIR
    # if [ ! -d $PWD/ros_package ]; then
    #     mkdir ros_package
    # fi
    # cd ros_package

    # # astra ros package
    # if [ -f $PWD/astra.tar.gz ]; then
    #     tar xzvf $PWD/astra.tar.gz
    # else
    #     git clone https://github.com/orbbec/ros_astra_launch.git
    #     git clone https://github.com/orbbec/ros_astra_camera.git
    # fi

    # frontier_exploration ros package
    # if [ -f $PWD/frontier_exploration.tar.gz ]; then
    #     tar xzvf $PWD/frontier_exploration.tar.gz
    # else
    #     git clone -b melodic-devel https://github.com/paulbovbel/frontier_exploration.git
    # fi
    # cd ..

    # echo "ln -sf $PWD/ros_package ros_ws/src/ros_package"
    # if [ -f ros_ws/src/ros_package ]; then
    #     rm ros_ws/src/ros_package
    # fi
    
    # ln -snf $PWD/ros_package ros_ws/src/ros_package
    sudo apt-get -y --allow-unauthenticated install ros-${ros_version}-ros-base ros-${ros_version}-slam-gmapping ros-${ros_version}-navigation \
                ros-${ros_version}-xacro ros-${ros_version}-yocs-velocity-smoother ros-${ros_version}-robot-state-publisher \
                ros-${ros_version}-joint-state-publisher ros-${ros_version}-teleop-twist-* ros-${ros_version}-control-msgs \
                ros-${ros_version}-kdl-parser-py ros-${ros_version}-tf2-geometry-msgs ros-${ros_version}-hector-mapping \
                ros-${ros_version}-robot-pose-ekf ros-${ros_version}-slam-karto ros-${ros_version}-hector-geotiff ros-${ros_version}-hector-trajectory-server \
                ros-${ros_version}-usb-cam ros-${ros_version}-image-transport ros-${ros_version}-image-transport-plugins \
                ros-${ros_version}-depthimage-to-laserscan ros-${ros_version}-openni2* ros-${ros_version}-freenect-* \
                ros-${ros_version}-robot-upstart ros-${ros_version}-tf-conversions ros-${ros_version}-orocos-kdl \
                ros-${ros_version}-realsense2-camera ros-${ros_version}-camera-umd ros-${ros_version}-libuvc* \
                ros-${ros_version}-camera-calibration ros-${ros_version}-rtabmap* ros-${ros_version}-cartographer-ros \
                ros-${ros_version}-web-video-server ros-${ros_version}-roslint
else
    sudo apt-get -y --allow-unauthenticated install ros-${ros_version}-ros-base ros-${ros_version}-slam-gmapping ros-${ros_version}-navigation \
                ros-${ros_version}-xacro ros-${ros_version}-yocs-velocity-smoother ros-${ros_version}-robot-state-publisher \
                ros-${ros_version}-joint-state-publisher ros-${ros_version}-teleop-twist-* ros-${ros_version}-control-msgs \
                ros-${ros_version}-kdl-parser-py ros-${ros_version}-tf2-geometry-msgs ros-${ros_version}-hector-mapping \
                ros-${ros_version}-robot-pose-ekf ros-${ros_version}-slam-karto ros-${ros_version}-hector-geotiff ros-${ros_version}-hector-trajectory-server \
                ros-${ros_version}-usb-cam ros-${ros_version}-image-transport ros-${ros_version}-image-transport-plugins \
                ros-${ros_version}-astra-launch ros-${ros_version}-astra-camera ros-${ros_version}-depthimage-to-laserscan \
                ros-${ros_version}-openni2* ros-${ros_version}-freenect-* ros-${ros_version}-tf-conversions \
                ros-${ros_version}-robot-upstart ros-${ros_version}-frontier-exploration ros-${ros_version}-orocos-kdl \
                ros-${ros_version}-realsense2-camera ros-${ros_version}-camera-umd ros-${ros_version}-libuvc* \
                ros-${ros_version}-camera-calibration ros-${ros_version}-rtabmap* ros-${ros_version}-cartographer-ros \
                ros-${ros_version}-web-video-server
fi

read -s -n1 -p "install ros gui tools?(y/N)" 

if [ "$REPLY" = "y" -o "$REPLY" = "Y" ]; then
    sudo apt-get -y --allow-unauthenticated install ros-${ros_version}-rviz ros-${ros_version}-rqt-reconfigure ros-${ros_version}-rqt-tf-tree \
    ros-${ros_version}-image-view ros-${ros_version}-cartographer-rviz
fi

复制上面脚本保存至文件install_ros.sh,执行sh install_ros.sh

4.测试

安装完成,运行roscore可以看到下面输出即可标识完成ros安装

source /opt/ros/melodic/setup.bash
# ubuntu16
# source /opt/ros/kinetic/setup.bash
roscore

5.交换分区的设置

5.1 查看交换分区

free -m

** 如果显示下图,标识已经有2G的交换空间,无需再次设置**


5.2 创建交换分区

5.2.1 创建交换分区

sudo mkdir /opt/image
cd /opt/image/
sudo touch swap
sudo dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000
sudo mkswap /opt/image/swap  
sudo swapon /opt/image/swap  

dd命令执行时间较长

再次查看交换分区
free -m

5.2.2 设置重启生效

sudo vim /etc/fstab
最后行添加
/opt/image/swap /swap swap defaults 0 0

重启后再次查看
free -m

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349