Linux下简单几步安装AI开发环境-ROS(超有意思)
机缘巧合,接触到了一个开源的项目ROS,只需要根据一口君的操作,就可以很容易搭建一个具有3d效果的开发环境,非常有意思,和大家分享下。
0、什么是ROS

ROS(Robot Operating System,下文简称“ROS”)是用于编写机器人软件程序的一种具有高度灵活性的软件架构,是一个开源的元操作系统。ROS的原型源自斯坦福大学的STanford Artificial Intelligence Robot (STAIR) 和 Personal Robotics (PR)项目。
它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。
ROS设计者将ROS表述为“ROS = Plumbing + Tools + Capabilities + Ecosystem”,即ROS是通讯机制、工具软件包、机器人高层技能以及机器人生态系统的集合体 。
1. ROS安装
ROS Kinetic 只 支持Wily (Ubuntu 15.10), Xenial (Ubuntu 16.04) 和Jessie (Debian 8) 的debian包。
ubuntu 16.04安装,请参考文章《linux环境搭建-ubuntu16.04安装》
1.1 配置Ubuntu软件仓库
配置你的Ubuntu软件仓库(repositories)以允许使用“restricted”“universe”和“multiverse”存储库。你可以根据Ubuntu软件仓库指南来完成这项工作。
1.2 设置sources.list
设置电脑以安装来自packages.ros.org的软件。
打开终端,输入以下命令:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
若下载速度缓慢,推荐就近选择一个镜像源替换上面的命令。例如,Tsinghua University为:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
如果依旧遇到连接问题,请尝试为Ubuntu apt换源(非ROS网站)。
1.3 设置密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
若无法连接到密钥服务器,可以尝试替换上面命令中的 hkp://keyserver.ubuntu.com:80 为 hkp://pgp.mit.edu:80 。
你也可以使用curl命令替换apt-key命令,这在使用代理服务器的情况下比较有用:
curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -
1.4 安装
首先,确保你的Debian软件包索引是最新的:
sudo apt-get update
在ROS中,有很多不同的库和工具。我们提供了默认的配置来开始。你也可以单独安装ROS包。
如果以下步骤出现问题,可以使用以下存储库,而不是上面提到的那些ros-shadow-fixed
桌面完整版: (推荐) : 包含ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及2D/3D感知
sudo apt-get install ros-kinetic-desktop-full


实际操作可能会出错,多试几次即可。
1.5 初始化 rosdep
在开始使用ROS之前你还需要初始化rosdep。rosdep可以方便在你需要编译某些源码的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必需用到的工具。
sudo rosdep init
但是初始化经常会失败,
解决方法:
sudo su
sudo gedit /etc/hosts
在hosts中添加以下内容并保存,在执行完后继续rosdep update
199.232.28.133 raw.githubusercontent.com
151.101.228.133 raw.github.com
在此执行 sudo rosdep init

1.6 更新 rosdep
该步骤可以不执行,如果需要更新rosdep ,可以执行以下命令:
rosdep update

但是由于服务器不稳定,通常需要多试几次,
或者直接直接下载对应的更新文件UAV_ROS.tar,拷贝到ubuntu中,

然后拷贝到/etc/ros/rosdep/下
cd ~/ros
sudo cp * /etc/ros/rosdep/
2. 编译
1. 下载demo的解压包hw_1,并解压
tar zxvf hw_1.tar
2. 创建工作空间
Ctrl+alt+t,打开终端,复制并逐条运行以下命令
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
之后将 hw_1/src 中的三个文件夹复制到/catkin_ws/src 路径下:
cp ~/hw_1/src/* ~/catkin_ws/src -r
cd ~/catkin_ws/src
继续在终端执行命令:
catkin_init_workspace
cd ~/catkin_ws/
catkin_make

成功!
声明环境变量:
source devel/setup.bash
3. 打开 rviz
在终端执行命令
roscore

ctrl+shift+t,打开新一页终端,执行以下命令
rviz
显示出 rviz 初始页面

最终界面如下:

4. 打开 rviz 配置文件
鼠标放在左上方,点击添加配置文件(open Config),

配置文件路径为:
~/catkin_ws/src/grid_path_searcher/launch/rviz_config/demo.rviz

点击open,进入下面对话框:

点击save后,显示如下画面,此时因为还未运行程序,所以地图没有初始化,看不到点云三维地
图。

5. 运行程序,载入地图
ctrl+shift+t,打开新一页终端,执行以下命令
cd ~/catkin_ws
source devel/setup.bash
roslaunch grid_path_searcher demo.launch
画面切到 rivz,可以看到,程序自动载入了点云地图

成功!
文中提到的安装包UAV_ROS.tar 、hw_1.tar,关注公众号:一口Linux,后台回复ros,即可获得。

Linux下简单几步安装AI开发环境-ROS(超有意思)的更多相关文章
- linux 下 ifcfg-eth0 配置/CentOS_minimal安装和开发环境部署
CentOS_minimal安装和开发环境部署:http://www.th7.cn/system/lin/201305/39002.shtml 网络接口配置文件 [root@localhost ~]# ...
- 不用rustup,Windows下gnu版Rust安装与开发环境配置
写在前面 本文介绍了在不使用rustup的情况下,在Windows上安装gnu版的Rust,并配置开发环境(VSCode + rust-analyzer,CLion + IntelliJ Rust)的 ...
- Linux下C ,C ++, Qt开发环境
目录 Linux发行版的选择 安装常用的开发工具(这里针对C/C++/Qt) 安装openGL 中文输入法 安装sublime text 安装vscode apt-get常用命令 Qt环境 Qt常见问 ...
- linux下怎么安装Go开发环境?linux部署golang
linux下怎么安装Go开发环境?linux部署golang 0.请自行安装SSH远程工具 1. SSH远程登录你的linux服务器 2. yum install mercurial安装 me ...
- 【Linux开发】Linux下jpeglib库的安装详解
Linux下jpeglib库的安装详解 首先要下载所需的库压缩包:jpegsrc.v6b.tar.gz或 jpegsrc.v8b.tar.gz 然后将下载的压缩包随便放在和解压到你喜欢的地方. # t ...
- ElasticSearch概述及Linux下的单机ElasticSearch安装
原文链接:http://blog.csdn.net/w12345_ww/article/details/52182264 这两天在项目中要涉及到ElasticSearch的使用,就上网去搜索了一些这方 ...
- linux下常见的包安装方式
linux下常见的包安装方式 一.总结 一句话总结: rpm包安装 tar.gz源代码包安装 yum方式安装rpm包 bin文件安装 1.yum是什么? 安装所有依赖的软件包 Yum(全称为 Yell ...
- 【最详细最完整】在Linux 下如何打包免安装的QT程序?
在Linux 下如何打包免安装的QT程序? 版权声明:嵌入式linux相关的文章是我的学习笔记,基于Exynos 4412开发板,一部分内容是总结,一部分是查资料所得,大家可以自由转载,但请注明出处! ...
- Linux安装LAMP开发环境及配置文件管理
Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...
- linux下.run文件的安装与卸载
linux下.run文件的安装与卸载 .run文件的安装很简单,只需要为该文件增加可执行属性,即可执行安装 以 virtualbox 的安装文件 virtualbox-3.1.6-59338-Li ...
随机推荐
- spring的问题-能耗、学习曲线
说实话,在过去将近20年中,spring对于it行业的帮助还是很大的,尤其是信息系统建设方面. 但在我看来,spring的发展也许进入了一个困局. 开始的时候,spring的确是一个还是算小巧的工具, ...
- LeetCode11. 盛最多水的容器题解
LeetCode11. 盛最多水的容器题解 题目链接: https://leetcode.cn/problems/container-with-most-water 示例 思路 暴力解法 定住一个柱子 ...
- 3D捕鱼大富翁源码分析
今天接受了一个捕鱼的源码,技术栈采用: 客户端:Unity 服务端:Java 数据库:mysql 缓存:redis 先来几张成品图 编辑编辑 编辑编辑 编辑 在代码中看到有腾讯推广渠道, ...
- 在Python中输出当前文件名和行号
在Python中输出当前文件名和行号 用 inspect 库 info = inspect.currentframe() print('DEBUG!! ',info.f_code.co_filenam ...
- Android Framework:如何让 App 拿到Power key 值
Android app:如何让 App 拿到Power key 值 原文(有删改):https://blog.csdn.net/qq_37858386/article/details/10383566 ...
- python_8 拆包、内置函数和高阶函数
一.查缺补漏 1. \t 子表符,用于对其二.拆包 1. 拆包:顾名思义就是将可迭代的对象如元组,列表,字符串,集合,字典,拆分出相对应的元素 2. 形式:拆包一般分两种方式,一种是以变量的方式来接收 ...
- Spring MVC 获取三个域(request请求域,session 会话域,application 应用域)对象的方式
1. Spring MVC 获取三个域(request请求域,session 会话域,application 应用域)对象的方式 @ 目录 1. Spring MVC 获取三个域(request请求域 ...
- 3568F-Linux系统启动卡制作及系统固化
- ComfyUI进阶篇:ComfyUI核心节点(三)
ComfyUI核心节点(三) 前言: 学习ComfyUI是一场持久战.当你掌握了ComfyUI的安装和运行之后,会发现大量五花八门的节点.面对各种各样的工作流和复杂的节点种类,可能会让人感到不知所措. ...
- NEEPU Sec 2023 Misc 两题题记
GoingOn 题目描述 Keep going on channel 1 ;D 考察的是 midi lsb隐写 MIDI文件概述 CSV文件概述 midi转csv工具 midicsv 将 MIDI 文 ...