基于虚拟机+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