llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

1 各种PATH: PATH: 可执行文件的路径,如果我们想在任何目录下执行某个bin文件夹下的可执行文件,那么就需要 将这个bin的路径添加到PATH上,去这里找可执行文件 LIBRARY_PATH:在程序编译期间使用, LD_LIBRARY_PATH:在程序加载运行期间使用,使用顺序上,

1 各种PATH:
PATH: 可执行文件的路径,如果我们想在任何目录下执行某个bin文件夹下的可执行文件,那么就需要
将这个bin的路径添加到PATH上,去这里找可执行文件
LIBRARY_PATH:在程序编译期间使用,
LD_LIBRARY_PATH:在程序加载运行期间使用,使用顺序上,这个列表中本来就有系统默认路径,在我什么都没有做的情况下,echo输出结果:/home/l/bws/devel/lib:/opt/ros/noetic/lib
这两个PATH都是查找so库的,去这里找so库
PYTHONPATH:去这里找模块,用于import。
Import 顺序: 1 当前目录, 2 PYTHONPATH,python自带库dist-packages, 3 第三方库site-packages
ROS_PACKAGES_PATH: 顾名思义,就是找ros包的


2NVIDIA

查看nvidia驱动版本:进入/usr/src,之后ls会出现一个nvidia文件夹,后面的数字就是版本号
nvidia-smi => driver cuda version – cuda安装的时候提供这个命令
nvcc -V — runtime cuda version — 这个命令是toolkit提供的
driver cuda version >= runtime cuda version 即可!
还有一个就是pytorch的cudetoolkit,我们在安装torch的时候会一起安装cudatoolkit并指定它的版本,我们可以使用python -c "import torch ; print(torch.version.cuda)"显示安装的和pytorch配套的cuda版本,这个版本可能可nvcc, nvidia-smi显示的版本都不一样。
更详细的信息看这里!


3 pytorch
安装:conda install pytorch torchvision torchaudio cudatoolkit=10.1 -c pytorch 在huawei2环境中

4 tensorflow-gpu

5 ovealeaf的登陆问题:
刚开始没有的登陆上的时候,我点了“Log in through your institution”,之后使用了学校的邮箱,之后点击了register using ORCID ,他就直接进了账户,之后登陆方式就更简单了
第一步进入overleaf官网,直接点最后一个“log in with ORCID”,就直接进来了,密码应该是:F4PYqDWrmQwDtfd

6 双系统安装的问题:
1:如果之前有18.04的系统现在要卸载,使用一个diskgenius的软件将原来的盘清理干净,我之清理了数据,没有清理引导盘,因为我忘记哪个是windows的引导盘,哪个是ubuntu的引导盘了
2:下载20.04iso文件到你们为windows上
3:使用一个软件将这个iso写到u盘上,之后关机重启电脑,从u盘上启动

7 ding repo 安装
sudo apt-get install libeigen3-dev 查看eigen版本
dpkg -S /usr/include/boost/version.hpp 查看boost版本
第一步:conda install pybind11 -c conda-forge
第二步:pybind11还需要从源码进行git,之后在源码的地方进行编译,编译之后就自动会在usr/local/include文件夹下生成相应的文件了。
/usr/bin/python3.8 -m pip install pytest,这个命令的含义是什么?
应该是-m就是可以使用特定位置的python进行安装库

*问题:在编译pointRCNN的时候出现编译问题
RuntimeError:Error compiling objects for extension
可能是pytorch的版本太高了,这个就是pointRCNN时间太久的问题了
答:conda install pytorch1.4.0 torchvision0.5.0 cudatoolkit=10.1 -c pytorch

8:sudo apt-get install 总是定位不到软件包的问题:
在etc文件夹下有个apt文件夹,这个apt文件夹就是我们命令中的apt,这个文件夹下有一个sources.list的文件,这个文件中说的就是我们install软件的地址,我们无法定位软件就是在这些软件源中找不到我们需要的软件。
那么这个sources.list的内容是我们自己写的吗,不是的,它是自己生成的。
它是什么时候生成的呢?
打开ubuntu左下角的九个点点,看到软件和更新这个选项,打开它,找到ubuntu软件这一项。这里让我们选择可以下载哪些软件,从哪里下载。我选的是aliyun。所以我的sources.list文件中都是一些aliyun的网站
sources.list是存放软件源的文件,但是如果把软件源都放在这里会显得很杂乱,所以有了sources.list.d这个文件夹,里面也是一个list文件,存放着一些软件源,起到补充软件源的目的。

Github

问题,在git clone的时候:Failed to connect to github.com port 443 after 21081 ms: Timed out
在连接github的443端口的时候连接不上,所以可以设置一下代理:
git config --global http.proxy 10.140.134.222:3128
这个就是设置代理,之后又遇到问题:
SSL certificate problem: self signed certificate in certificate chain,这个是ssl认证的问题,在认证的时候认证不通过, git config --global http.sslVerify false这个命令就是设置,在克隆的时候不认证ssl了,这样就可以完成克隆了
git config --global --unset http.proxy 这个是取消代理的

cmd中设置代理: set http_proxy=http://127.0.0.1:1189


问:
不要镜像的话就一直这样。 加了镜像
一直这样
一直这样,有的说多试几次就可以完成了,但是我尝试了数十次还是不行
设置代理还是不行!


anaconda在配置镜像源之后会生成一个.condarc文件,这就是condaasd在这里插入图片描述


8:在sudo apt-get update的时候遇到的问题:
下列签名无效: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <info@osrfoundation.org>
解决方案: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654


9 安装python-pcl
先从git上将代码克隆下来,之后运行python setup.py install
提示error: command ‘g++’ failed with exit status 1(本以为是g++版本太低了,所以安装了g+±9,并软连接过去,但是发现还是不行)
/home/l/anaconda3/envs/huawei/compiler_compat/ld: cannot find -lvtkalglib-7.0
好像是找不到vtk之类的东西

一种方法
这个方法安装了1.9.0,并make和sudo make install
在这里插入图片描述
安装到了/usr/local/include
因为我是两者方法并行执行的,第二种方法安装成功,这种方法就先不进行了!

第二种方法
安装python-pcl之前,要先安装pcl库
在这里插入图片描述
这是在编译pcl库的时候遇到的问题,这个库是从github上克隆下来的。
这里说是eigen中没有index这个属性,所以查看了eigen的版本,并决定对eigen进行升级到3.3.7
本来是在编译src/sac_model_circle3d.cpp.o时出错,现在升级了eigen之后,这里可以通过了。
在这里插入图片描述
c+h → i → s → o + a/so → out

在这里插入图片描述
编译通过,所以之前报错的原因就是:使用的eigen的版本太低,里面没有Index属性。
make成功之后,就是sudo make install 了,这个是安装
为什么要sudo,因为他要安装到/usr/include中,在这个文件夹中增加文件夹是需要sudo的
在这里插入图片描述
libboost_filesystem.so.1.54.0: cannot open shared object file
进入/usr/lib/x86_64-linux-gnu/ 文件夹,建立一个软链接:
sudo ln -s libboost_system.so.1.65.1 libboost_system.so.1.54.0

libboost_filesystem.so.1.54.0: cannot open shared object file: No such file or directory
解决:sudo ln -s libboost_filesystem.so.1.65.1 libboost_filesystem.so.1.54.0
之后又有一些库找不到,就按照这种软链接的方式链接到65库上去。

按照这样方法可以安装好!


10:
安装gcc++:sudo apt-get install gcc-9/sudo apt-get install g+±9
查看gcc/++版本: gcc/++ --version
升降级:在/usr/bin文件夹下删除gcc/++,然后软连接到相应位置即可。
查看gcc默认的include路径:gcc -print-prog-name=cc1plus -v
查看g++默认的include路径:g++ -print-prog-name=cc1plus -v
头文件搜索顺序:
1:先搜索 -I 指定的目录(这里的 -I 是大写的 i);
2:然后寻找环境变量指定目录:
C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PAT:


11 boost
gedit /usr/include/boost/version.hpp


12 eigen:
gedit /usr/include/eigen3/Eigen/src/Core/util/Macros.h
查看eigen的版本为3.3.4
gedit /usr/local/include/eigen3/Eigen/src/Core/util/Macros.h
这显示的是3.2.10
两个eigen的版本不同,我将这个local中的eigen3文件夹删除了

#include
#include <Eigen/Dense> //就在include文件夹中找Eigen文件夹。
//using Eigen::MatrixXd;
using namespace Eigen;
using namespace Eigen::internal;
using namespace Eigen::Architecture;
using namespace std;
int main()
{
cout<<“***1D-object”<<endl;
Vector4d v1;
v1<< 1,2,3,4;
cout<<“v1=\n”<<v1<<endl;
VectorXd v2(3);
v2<<1,2,3;
cout<<“v2=\n”<<v2<<endl;
Array4i v3;
v3<<1,2,3,4;
cout<<“v3=\n”<<v3<<endl;
ArrayXf v4(3);
v4<<1,2,3;
cout<<“v4=\n”<<v4<<endl;
}

这是一个测试程序
g++ eigen-test -o eigen-test //进行编译
./eigen-test //执行编译生成的文件
我将/usr/local/include下的eigen3删除了之后上述还是可以执行的。

安装的方法:
方法1:sudo apt install libeigen3-dev //可以安装,但是不能指定安装的版本。
方法2:
wget https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz //获取特点的eigen3
tar -xf eigen-3.3.7.tar.gz //解压缩压缩文件
cd eigen-3.3.7
mkdir build
cd build
sudo cmake …
sudo make install
安装后,头文件安装在/usr/local/include/eigen3/

sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include //因为大部分时候都是直接include 《Eigen》


13:软硬链接:
ln -s 原文件 软连接文件 #在执行这个命令之前软链接文件时不存在的!
软链接改变原文件也改变,原文件改变软链接文件也改变,软件类就是找到原文件,文件只有一个
ln 原文件 硬链接文件 # 在执行这个命令之前硬链接文件时不存在的
硬链接文件和原文件也是,一个改变另一个也改变

之前执行了这样的一个命令:
sudo ln -s libboost_system.so.1.65.1 libboost_system.so.1.54.0
将一个库链接到另一个库,但是在运行的时候还是找不到这个54的库,因为我在~文件夹下执行的软链接命令,所以生成的54这个软链接在 ~文件夹下,而 ~文件夹不在LB_LIBRARY_PATH,所以找不到54这个库!


14:circle GAN:
使用ME浏览器读文章很方便,这个文章的笔记已经做了,用Microsoft Edge查看


15:autoware:
简介
安装
TODO:安装的时候遇到问题:
GPU support on Melodic requires CUDA<=10.0
我的cuda的运行版本是11.1


16:VTD


17:Qt
Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。
注意断句:
Qt是一个开发框架,
开发什么? 开发图形界面的。
什么图形界面 ? → C++的图像界面,而且是跨平台的。
在这里插入图片描述
查看qt版本。


TODO明天过来问一下加权限的事情
18:OpenCV的图像和ros中的图像的转变:


19:
~~

ROS

~~

catkin make之后:
如果想要重新编译,并删除之前编译的东西,可以将ws文件夹中除了src的文件夹删除,之后在重新进行catkin_make

mkdir -p ws/src
cd src
catkin__init__workspace
cd …
catkin_make // 创建一个工作空间
catkin_create_pkg <包名> 依赖项 // 创建一个功能包 ,包的名字不能有大写字母!

自定义信息类型:
mkdir msg //创建一个msg文件夹
echo “int64 num” > msg/Num.msg //创建一个msg文件,并将信息写在里面。
第一次自定义信息类型时需要:
Open package.xml
<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>
Open CMakeLists.txt
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
message_generation)
catkin_package(

CATKIN_DEPENDS message_runtime …
…)
最后,告诉一下我们的msg文件是哪个文件:
add_message_files(
FILES
Num.msg
)

在这里插入图片描述
在写ros2cv的文件中,发现有很多的import,他们是从哪里进行import的呢?
在这里插入图片描述
发现很多都是从melodic中找到的,melodic的py2.7中,只有这一个python文件夹,为什么没有python3的呢?
在这里插入图片描述

写node:
最经典的python Node文件,写完Python文件是第一步:这个还有这个
第二步要修改cmake文件:
在这里插入图片描述
在这里插入图片描述
这是ros 的image转化为OpenCV的image,

在这里插入图片描述

rosrun rqt_plot rqt_plot

ros安装:
1 配置Ubuntu仓,这样决定我们让Ubuntu下载什么的软件
2 配置ros的软件源,以后从这里下载功能包,这个源是别人的东西,要想从这里下载东西需要公钥
3 配置公钥,相应软件源的公钥,不然怎么去软件源下载东西呢?
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116
如果无法连接上述服务器,可以尝试hkp://pgp.mit.edu:80或者hkp://keyserver.ubuntu.com:80
从这可以看出,一个软件源的钥匙可以在不同的服务器上下载得到!!!
apt-key和apt-get相似,apt-key add 是将一个公钥设置为信任的公钥,这个gpg文件也在/etc/apt文件夹中,gpg是gun的一种加锁方式!
在获取ros官网公钥时出现问题:curl -s 没有东西输出的问题
安装有用的链接

在这里插入图片描述
gpg的意思是:GNU Privacy Guard
在这里插入图片描述


OpenCV

要区分OpenCV和opencv-python,他们是不一样的东西:
在这里插入图片描述
pkg-config --modversion opencv // 查看OpenCV的版本。


21 vision_opencv 功能包:
在这里插入图片描述
python3.7没有,我的这个环境是3.6的,
在这里插入图片描述
改成python3 这样就可以找到了。


非完整约束:
在这里插入图片描述


python变量的单下划线,双下划线表示什么意思?


一维卷积,二维卷积:这里
一维卷积只给出一个数值,另一个数值是自动补充的,实际上是一个矩形
二维卷积给出两个数值,另一个数值是channel,自动补充的,实际上是一个正方体

11的卷积核和全连接层的区别?
1
1的卷积核,说了11,所以这个卷积核是一个正方体11channel,11的卷积操作就是一个像素点上的全连接操作。对每一个像素点都使用这个卷积核,这样会得到一个2维的特征图。
功能上似乎1*1卷积可以减少或增加特征图的层数,这个是全连接做不到的。


Ubuntu:
1 查看Ubuntu版本: sb_release -a
2 ubuntu都有一个属于自己版本的外号,bionic beaver 仿真海狸 就是18.04的外号
3
在这里插入图片描述
adv是advanced的意思,对gpg进行高级操作


知秋君
上一篇 2024-08-25 10:12
下一篇 2024-08-25 09:48

相关推荐