• 基于虚拟机+Ubuntu1604的ROS-kinetic配置流程


    简单记录一下配置的过程

    先换源,以阿里源为例

    备份原有源
    sudo cp /etc/apt/sources.list /etc/apt/sources_init.list
    编辑源文件
    sudo gedit /etc/apt/sources.list
    将文件内容全部删除 替换成
    deb http://mirrors.aliyun.com/ubuntu/ xenial main
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
    
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
    
    deb http://mirrors.aliyun.com/ubuntu/ xenial universe
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
    
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

    apt二连

    sudo apt-get update
    sudo apt-get upgrade

    设置“软件和更新”

    sudo update-manager -c -d

    如果要升级就升级,升级完后点左下角的设置就可以进到界面了,前四个勾选上,第五个可选

    添加中科大ROS源

    sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

    设置秘钥

    sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

    更新软件源并安装ROS

    sudo apt-get update
    sudo apt-get install ros-kinetic-desktop-full

    初始化rosdep

    sudo rosdep init
    rosdep update

    设置环境变量(可选)

    echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
    source ~/.bashrc

    如果不设置则需要每次在包的路径下使用

    source setup.bash

    安装一些常用工具

    sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential python-rosdep ninja-build

    此时可以测试下例程了,方法见前篇ROSOnWindows,编译方法和Windows下相同,不再赘述

    如果要编译,那么还会遇到非常多问题,主要是没有安装上对应的包,这点ROSOnWindows我觉得做的就好很多,这里列出常见的包,其他可以通过百度对应问题来解决

    (这里非常建议直接装二进制包,如果不是需要修改该包,就不要将编译包作为源码引入新包,这样“可能”会产生很大的依赖问题)

    sudo aptitude install libsdl1.2-dev
      
    sudo apt-get install libbullet-dev libsdl-image1.2-dev libasound2-dev
      
    sudo apt-get install ros-kinetic-bfl ros-kinetic-arbotix ros-kinetic-gazebo-ros-control ros-kinetic-gmapping
    
    sudo apt-get install ros-kinetic-move-base-msgs ros-kinetic-moveit ros-kinetic-manipulation-msgs ros-kinetic-rplidar-ros
    
    sudo apt-get install ros-kinetic-vision-opencv libopencv-dev python-opencv ros-kinetic-map-server

    后续缺少相应包的时候也可以用这个方式尝试,package 替换为对应的包名字

    sudo apt-get install package

    如果遇到了这个报错,那么是内存不足,提高虚拟机的内存即可,如果内存有上限,则开启虚拟内存

    c++internalcompiler error:killed(program cc1plus)

     如果Gazebo黑屏,那是因为没有加载完模型,可以先把所有模型下载好,笔者下载全部模型用了近一个小时

    cd ~/.gazebo/
    mkdir -p models
    cd ~/.gazebo/models/
    wget http://file.ncnynl.com/ros/gazebo_models.txt
    wget -i gazebo_models.txt
    ls model.tar.g* | xargs -n1 tar xzvf

    如果报错“ vmw_ ioctl_command error Invalid argument ”,则关闭虚拟机,然后在设置里面关闭“加速3D图形”即可

     如果遇到执行python脚本时显示“ can't locate node [xxxx] in package [yyyy] ”,假设程序是完整的并且没有问题的(如跑例程),那么就是没有给py权限,勾选上“ Execute

     感谢以下Geeks

    Ubuntu install of ROS Kinetic
    http://wiki.ros.org/kinetic/Installation/Ubuntu
    ROS学习过程中问题
    https://blog.csdn.net/t972409256/article/details/82661633
    ubuntu系统下ros系统问题的解决方法示例
    https://blog.csdn.net/Groot_Lee/article/details/79202507
    虚拟机运行Gazebo问题修复
    http://blog.exbot.net/archives/3035
    用Python实现ROS节点
    https://blog.csdn.net/u013832707/article/details/53980759
  • 相关阅读:
    项目冲刺之任务场景分析
    一位数组的最大子数组(debug版)
    软件工程课堂五(地铁项目的优化)
    人月神话阅读笔记02
    软件工程第七周总结
    人月神话阅读笔记01
    软件工程第六周总结
    构建之法阅读笔记03
    软件工程第五周总结
    软件工程课堂四(合作开发项目-地铁线路查询)
  • 原文地址:https://www.cnblogs.com/Pyrokine/p/10703489.html
Copyright © 2020-2023  润新知