ros初识笔记<1>

开篇声明:既然接触到ros了,那就把它搞清楚吧。

这个合集算是我ros最初入门笔记,跟着国内ros大佬胡春旭(即古月居)学一学,但在这之前已经接触了有小一年了,我看那本入门书的时候已经是看哪哪熟的感觉了,但是还是想从头再整理一遍,我学得不是很好,磕磕绊绊的,感觉很艰难。但还是继续学。

1. linux 系统介绍及安装

Operating System     (OS,操作系统)

作用:

1. 管理和控制计算机硬件与软件资源的计算机程序

2. 直接运行在“裸机”上的最基本的系统软件

3. 任何软件都必须在操作系统的支持下才能运行

例如:windows linux unix 

 

linux 

开源,源代码可从网络上共享下载阅读学习。

相对的windows是商业开发,闭源的。

linux内核:严格来说,linux这个词本身只表示linux内核(?)

birth date : 1991年由芬兰赫尔辛基的大学生Linus Torvalds编写

加入自由软件基金的GNU计划(GNU is Not Unix)(是有仇的意思吗哈哈哈)

GNU:GNU 是一个自由软件操作系统—就是说,它尊重其使用者的自由。GNU 操作系统包括 GNU 软件包(专门由 GNU 工程发布的程序)和由第三方发布的自由软件。GNU 的开发使你能够使用电脑而无需安装可能会侵害你自由的软件。(自由!)

linux标志:企鹅(跟某个公司好像撞了)

 

linux发行版

通常来说,一个linux发行版包括:

1.Linux 内核

2. 将整个软件安装到电脑上的一套安装工具

3.各种GNU软件和其他的一些自由软件

4.在一些特定的linux发行版中也有一些专有软件

例如:redhat ubuntu debian fedora 红旗

支持ros的最好的是ubuntu

 

ubuntu 安装

两种方式,虚拟机安装和硬盘安装

我用的是虚拟机(vmware & visual box)

比较方式是这样

因为害怕把电脑彻底搞崩,而且基本功能还是可以支持的

具体方式(很多教下载的帖子,难度不是特别大):

下载镜像文件(直接去官方就行),我用的18.04,一直没更新到20.04(即使一直在被催)

虚拟机磁盘大小:20GB(建议)

早就下过了,过程跳过,不详细说了

这块的话就是古月说的增强工具,vmware tools,费了我不少功夫,有些人可能一步到位,但我这莫名难搞,两次都反反复复装删一些安装包,但是后来都成功了,原因也不一样,很怪,是修报错级别的了。

 

2. Linux 系统基础操作

介绍了一个图形界面换源的方法

之前我是终端敲代码换的源,也不是清楚,忘了是中科大的还是清华的了,反正好像不是阿里云

黄色手提袋然后左上角点软件和更新

然后在这里直接换源

建议换阿里云,但是我没成功

出现这个报错

另外呼唤终端用control+alt+t快捷键

后记:然后我发现本来没问题的在sudo apt-get update的时候出现了前所未有的报错

尝试自己手动修但又出现了需要连接那个userhubcontent的失败

然后就用了小鱼的快捷方式,把源换回清华源了,但不清楚具体怎么换的。

 

命令行

linux命令行与shell脚本编程大全(推荐书目)

pwd

用于显示出当前工作目录的绝对路径

cd

语法:cd <目录路径>

用于转移到当前想查看的目录,如果未制定目录路径,则回到主目录。

mkdir(make direction)

语法: mkdir [选项]<目录名称>

用于创建一个目录

ls(list)

语法:ls[选项][目录名称]

用于列出目录内容

touch

语法:touch[选项][文件名称]

用于创建新文件

mv

语法:mv[选项][源文件或目录]<目的文件或目录>

功能:改名或移动(剪切)

cp

语法:cp[选项][源文件或目录]<目的文件或目录>

功能:拷贝,copy

rm

语法:rm[选项]<文件名称或目录名称>

用于删除

sudo 

进入超级用户模式,提升权限

 

3. C++/Python 极简基础

区别简介:

c++跟硬件框架相关,偏底层。

python应用层算法层和人工智能联系紧密,开发效率更高点。

学校的话更偏向c语言,要从c学起。

ide:

安装g++编译器

python解析器

sudo apt-get install g++

sudo apt-get install python

(其实我发现我都不知不觉安装过了,但从未使用过

然后是利用编译器编译(生成可执行文件)和运行可执行文件的实验

首先是源文件

没说源文件是在哪写的,好像是直接在文本编辑器上,但谁会在文本编辑器上直接搓代码啊好奇怪

例如这样一个类代码源文件

我是学过一学期c但已经快忘光了

编译:

g++ c++_class.cpp -o c++_class            -o后面接的是可执行文件的文件名,因此此处命名为c++_class

执行:./c++_class

然后是python,但python并不需要编译,可以直接解析

解析:python python_class.py

两个语言语法并不相同

 

4. 安装ROS系统

本人装过两次

第一次纯手装,装了一下午,虽然装好了但是一堆报错,那时候是真的什么也不知道,非常迷茫的一个状态

(啊其实现在也很迷茫不过那个时候更迷茫)

第二次一键安装,太香了。

可以根据古月说的大概说一下步骤, 真要手动安自己去搜好评帖

1. 添加ros软件源(把ros软件源添加至系统软件源,因为ros有专门维护)

2. 添加密钥

3.更新软件源(发现大家建议要换源,换清华源)

sudo apt update 

4.安装ros(2GB多点)

sudo apt install ros-melodic-desktop-full

下载之后然后还要解压,需要大概小半个小时

5. 初始化rosdep(一个工具)

sudo rosdep init

rosdep update

我用不了,因为往往和一个叫做https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list

的网站无法建立连接

查了n个csdn上的帖子都是让你实时搜一下这个网站目前的网址然后更改网址,但是这个操作难度说不上大,就是真的麻烦(还有说挂**加速和换源的)

所以我去用国内版本的rosdepc去了

6. 添加环境变量

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

source ~/.bashrc

然后输入ros加tab键(不是回车enter,不然啥也看不见)

可以查看已安装的ros功能包

我这没他那个多

7.安装rosinstall(安装一些依赖包)

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

这里安不了,源的域名都无法识别

不过基本能用

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2023-07-27 16:25  setiko  阅读(83)  评论(0)    收藏  举报