Apollo自动驾驶虚拟仿真赛笔记[1]-环境搭建
前置安装
安装ubuntu20.04
安装visual studio code
安装nvidia显卡驱动
ubuntu自带的软件与更新中->附加驱动(记得关闭bios的secure boot)
查看安装情况nvidia-smi
#安装docker(详见笔记[2])
网络环境不好,这里直接提供安装包,安装包中有安装说明
下载地址1[https://download.csdn.net/download/sleepinghm/57750064?utm_medium=distribute.pc_relevant_download.none-task-download-2defaultOPENSEARCHRate-9-57750064-download-12691231.dl_default&depth_1-utm_source=distribute.pc_relevant_download.none-task-download-2defaultOPENSEARCHRate-9-57750064-download-12691231.dl_default&dest=https%3A%2F%2Fdownload.csdn.net%2Fdownload%2Fsleepinghm%2F57750064&spm=1003.2020.3001.6616.10]
下载地址2[Ubuntu20.04 nvidia-docker离线安装包.zip: https://url12.ctfile.com/f/8942412-584690568-89f5dc?p=3458 (访问密码: 3458)]
验证是否安装成功
sudo docker run hello-world
安装apollo
下载地址1[apollo_v6.0_edu_amd64.tar.gz: https://url12.ctfile.com/f/8942412-584690348-62af14?p=3458 (访问密码: 3458)],解压到/apollo文件夹
cd /apollo
sudo bash ./apollo.sh(这一步还没有这么快,比赛用的不是这个版本,详见笔记[2])
别搞错目录了,这个apollo目录有README.md文件
!!!!root@in-runtime-docker而不是root@in-cyber-docker!!!!
进入apollo
bash scripts/bootstrap.sh
##播放 Apollo 的演示包
cyber_recorder play -f demo_3.5.record --loop
打开终端中打印的网址即可看到dream view界面
ctrl+c为停止
构建cyber
./apollo.sh build cyber
docker设置代理(在docker内设置)
(因为后面构建cyber时会从github下载文件)
export HTTPS_PROXY="http://192.168.0.106:7890/"(ip根据实际填写‘科*上网’局域网代理,端口也是)
测试
curl -vv https://www.github.com
终端代理生效后,不一定能ping通,因为:ping 使用的是ICMP协议,ICMP 处于网络层(第三层),而SOCKS5是传输层代理协议(第四层),HTTP和HTTPS是应用层协议(第五层或者第七层),协议层不同是无法代理的。
bazel fetch文件失败
Bazel will pick up proxy addresses from the HTTPS_PROXY and HTTP_PROXY environment variables and use these to download HTTP/HTTPS files (if specified).
注意大小写!!!!
让cyber打印日志到终端
vi cyber/setup.bash
修改export GLOG_alsologtostderr=1
source cyber/setup.bash
docker插件不显示镜像 Error:connnect EACCES /var/run/docker.sock
原因分析
原因是docker使用unix socket进行通讯,但是unix socket属于root用户,但是普通用户需要使用sudo才能开启root权限,但是普通的操作并没有root权限。'
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $USER docker #将当前用户添加至docker用户组
newgrp docker #更新docker用户组
添加后重新登录vscode(直接重启电脑也可),用户重新连接后docker插件会正常运行。
测试
可以运行docker ps命令,如果有正常的输出,则正常。
配置vscode
打开docker插件窗口,找到"apolloauto/apollo-x86...",右击选择Attach Visual Studio code
这时会打开新的窗口(进入到了容器中),检查插件情况.
cyber_rt的hello world
在cyber目录下新建demo_cc文件夹,在这里新建BUILD文件,demo00_helloworld.cc文件
demo00_helloworld.cc文件内容
#include "cyber/cyber.h"
/*
需求:打印hello world
*/
int main(int argc,char *argv[]){
apollo::cyber::Init(argv[0]);
AINFO<<"hello world";
return 0;
}
BUILD文件内容
cc_binary(
name = "demo00_helloworld",
srcs = ["demo00_helloworld.cc"],
deps = ["//cyber"],
)
然后在编辑器中打开终端
输入bazel build cyber/demo_cc/...
source cyber/setup.bash
'/apollo/bazel-bin/cyber/demo_cc/demo00_helloworld'
最终效果图
退出docker
直接输入exit
参考资料:
https://www.bilibili.com/video/BV16U4y1U75F
https://developer.apollo.auto/document_cn.html?target=/Apollo-Homepage-Document/Apollo_Doc_CN_6_0/