Macbook pro 13" compile Apollo 2.5
STEPS:
0. Install Homebrew
1. Install 'Docker for Mac 18.03+',配置CPUs (n个CPUs,Bazel开n个线程编译), Memory (>2G,编译最小内存,推荐4G), Swap (>2G,推荐2G)
2. git clone ... apollo ...
3. 进入apollo目录,pull docker image for apollo (首次运行会pull 5G 的images)
./docker/scripts/dev_start.sh
*注意 这里的dev_start.sh需要修改下来适配Docker for Mac特性, 需要改成手动配置端口映射:
Replace--net host \
with bellow, both 8887 and 8888 works.-p 8887:8887 -p 8888:8888 \
4. 进入apollo container by using
./docker/scripts/dev_into.sh
5. Docker for mac 的实现基于轻量虚拟机技术,网络和文件系统共享完善。
在container中的/apollo文件夹直接映射host中的工作文件夹./apollo
6. 编译
./apollo.sh build
(or)
./apollo.sh build_no_perception dbg
由于macbook 13" 性能不佳或者网络不好(编译中可能会下载一个小文件),编译可能中断。
直接退出后重启docker, 清空container,重启apollo container进入接着编译
Bazel会自动跳过已编译过的项目。
整个编译过程大概要~1h,需要约10G硬盘空间。
7. 编译成功后运行
./scripts/bootstrap.sh
启动
andrew@in_dev_docker:/apollo$ ./scripts/bootstrap.sh
Started supervisord with dev conf
Start roscore...
voice_detector: started
dreamview: started
Dreamview is running at http://localhost:8888
8. 在host mac上打开chrome输入地址 localhost:8888
进入dreamview前端界面
From the dropdown box selet "Navigation" mode.
9. Replay demo rosbag
To see if the system works, use the demo 'bag' which feeds the system.
下载演示数据集 demo_2.5.bag (~约3G)
# get rosbag note that the command download is required
python ./docs/demo_guide/rosbag_helper.py demo_2.5.bag
运行演示数据集 demo_2.5.bag
# You can now replay this demo "bag" in a loop with the '-l' flag
rosbag play -l demo_2.5.bag
Dreamview should show a running vehicle now.
Comments:
1. Docker for mac的支持已经很好, mac可以用做代码编写和编译环境、模拟演示
2. 整个编译运行空间,大约需要50G +,mac ssd!,macbook 13"编译时间长
3. docker.qcow2 是docker用于存放image和container的单个文件,在docker for mac 中配置其大小最多为60G。
=============================
du -sh 查看当前文件夹大小
du -sh * | sort -n 统计当前文件夹(目录)大小,并按文件大小排序
- #!/bin/bash
- # Delete all containers
- docker rm $(docker ps -a -q)
- # Delete all images
- docker rmi $(docker images -q)
Force-remove a running container
This command will force-remove a running container.
$ docker rm --force redis r
The main process inside the container referenced under the link redis will receive SIGKILL, then the container will be removed.
Remove all stopped containers
$ docker rm $(docker ps -a -q)
This command will delete all stopped containers. The command docker ps -a -q will return all existing container IDs and pass them to the rm command which will delete them. Any running containers will not be deleted.
Remove a container and its volumes
$ docker rm -v redis redis
This command will remove the container and any volumes associated with it. Note that if a volume was specified with a name, it will not be removed.
Macbook pro 13" compile Apollo 2.5的更多相关文章
- 小小程序员的生产力工具——2017款MacBook pro 13.3(附使用技巧和常用链接)
新买的2017款 MacBook pro 13.3 九号到了,第一次用苹果笔记本,用了两天基本熟悉了,各种软件也安装的差不多,把一些小技巧分享给大家.先放几张图 使用小常识,希望可以帮到您一:尽量 ...
- Macbook pro 13" Installs Ubuntu 18.04
最新版的 MacBook对Ubuntu的支持(或者反过来?)不是很好,但是除了Suspend和resume功能没找到方法使用外,其他都还好,可用. 1.mac在OSX中先安装refind引导,如果开启 ...
- MacBook Pro (13 英寸, 2017 年)安装win10系统
准备: windows10系统镜像 16G或更大容量U盘(存放驱动,必须格式化为FAT) 官方提供的驱动软件 详细步骤: 1.打开Bootcamp,选择镜像文件 2.点击下一步,选择Bootcamp分 ...
- MacBook Pro (13 英寸, 2012 年中)安装win7系统
准备: windows7 ISO镜像 16G或更大U盘(提前备份,需要格式化) Apple 官方提供的 windows7驱动程序 详细步骤: 1.打开Bootcamp,选择前两个选择点击继续,选择下载 ...
- MacBook Pro 安装win7 64 成功安装过程总结
安装对象: MacBook Pro (13 英寸, 2010 年中) 中安装win7 64位操作系统(原版安装非Ghost),且只保留win7系统即可. 场景还原: 拿到笔记本时,笔记本中已无Mac ...
- 如何修复MacBook Pro过热:保持MacBook散热的13个技巧
尽管MacBook Pro是一台能处理繁重工作量的高能效机器,但它却无法像市场上其他笔记本电脑一样避免过热.至于什么可以防止发热,那不是一两个技巧就能解决的问题.相反,这是一组技巧可以解决的挑战. 因 ...
- MacBook Pro 2019 13 inch & screen blink
MacBook Pro 2019 13 inch & screen blink MacBook Pro 闪屏 https://macreports.com/mac-how-to-trouble ...
- 2016款MACBOOK PRO触控条版 安装WIN10初体验 及 无奈退货记
新的2016MBP终于发布了,作为把苹果电脑装WIN使用的人,等候很久之后,终于可以行动了. 黄山松 (Tom Huang) 发表于博客园http://www.cnblogs.com/tomview/ ...
- macbook pro install ubuntu
https://help.ubuntu.com/community/MacBookPro Determine your hardware revision To determine which ver ...
随机推荐
- oracle 使用occi方式 批量插入多条数据
if (vecInfo.empty()) { ; //数据为空,不上传,不上传标志设置为1,只有0表示上传成功 } std::string strUserName = userName; std::s ...
- 整合hibernate的lucene大数据模糊查询
大数据模糊查询lucene 对工作单使用 like模糊查询时,实际上 数据库内部索引无法使用 ,需要逐条比较查询内容,效率比较低在数据量很多情况下, 提供模糊查询性能,我们可以使用lucene全文 ...
- na+mb与gcd
蒜头君和花椰妹在玩一个游戏,他们在地上将 nn 颗石子排成一排,编号为 11 到 nn.开始时,蒜头君随机取出了 22 颗石子扔掉,假设蒜头君取出的 22 颗石子的编号为 aa, bb.游戏规则如下, ...
- android4.0.3源码之USB wifi移植心得
http://blog.csdn.net/eastmoon502136/article/details/7850157 http://forum.cubietech.com/forum.php?mod ...
- 干接点&湿接点
干接点的定义: 无源开关:具有闭合和断开的2种状态:2个接点之间没有极性,可以互换: 常见的干接点信号有: 1.各种开关如:限位开关.行程开关.脚踏开关.旋转开关.温度开关.液位开关等: 2.各种按键 ...
- mysql实现经纬度计算两个坐标之间的距离sql语句
select *,(2 * 6378.137* ASIN(SQRT(POW(SIN(PI()*(111.86141967773438-latitude)/360),2)+COS(PI()*33.070 ...
- JavaScript中的两个“0”(翻译)
本文翻译自JavaScript’s two zeros JavaScript has two zeros: −0 and +0. This post explains why that is and ...
- C++ 类的继承四(类继承中的重名成员)
//类继承中的重名成员 #include<iostream> using namespace std; /* 自己猜想: 对于子类中的与父类重名的成员,c++编译器会单独为子类的这个成员变 ...
- 面向对象分析和设计(OOA/D)
UML不是OOA/D,也不是方法,它仅仅是一种图形表示法(表示的是OOA/D的想法),我们将在OOA/D中应用UML:分析,就是理解客户脑子中的概念,跟客户来沟通,分析出专业术语:设计,对分析出来的专 ...
- c/c++学习之c++ 中的list <>容器
http://blog.csdn.net/mazidao2008/article/details/4802617 push 实例化 即添加 http://www.cnblogs.com/BeyondA ...