自动驾驶---打造自动驾驶系统之环境准备(一)

        各位读者朋友,本次打造的自动驾驶仿真系统,涉及感知,预测,规控等多个模块(以规控算法为主),同时可自定义相关扩展(部署&开发自身感兴趣的算法),非常便捷。笔者在此系列中开发的规控算法主要依据专栏《自动驾驶Planning决策规划》中的章节逐步搭建,后续实践系列涉及的博客包括但不局限于以下内容

        《打造自动驾驶系统之环境准备(一)》

        《打造自动驾驶系统之定位模块开发(二)》

        《打造自动驾驶系统之导航模块开发(三)》

        《打造自动驾驶系统之参考线平滑开发(四)》

        《打造自动驾驶系统之感知环境开发(五)》

        《打造自动驾驶系统之预测模块开发(六)》

        《打造自动驾驶系统之决策模块开发(七)》

        《打造自动驾驶系统之轨迹生成模块开发(八)》

        《打造自动驾驶系统之控制模块开发(九)》


        最终呈现的静态效果(无法直接贴视频)如下:

1 系统环境

        Ubuntu18.04或者Ubuntu20.04;

        笔者的环境:Ubuntu 18.04 上安装 ROS Melodic。

2 ROS的安装

        目前很多智驾企业都是基于dds自研的通信中间件,笔者的搭建的环境是基于ROS的。

(1)脚本安装

        网上已经有网友整理了脚本安装:

wget http://fishros.com/install -O fishros && sudo ./fishros

(2)正常安装

        首先建议用清华或者阿里的源,然后网速稍微好点的环境。

        网上还有很多的ROS安装教程,但执行完成所有命令后,有的时候可能会遇到最后执行rosdep update失败的情况。

        请不要慌张,遇到报错问题,直接网上搜索报错原因即可,以笔者多年的ROS安装经验,遇到的问题网上都有解决办法,因此ROS的安装笔者就不赘述了。

3 算法常用库的安装

3.1 eigen

        在安装完ROS之后,系统会自动把Eigen库安装上,但头文件不能直接引用。

        系统默认eigen3的安装位置为:

/usr/local/include/eigen3/

        只使用find_package(Eigen3 REQUIRED)命令或者引用头文件的话有可能无法找到,因此还需要做如下的链接工作:

sudo ln -s /usr/local/include/eigen3/Eigen /usr/include/Eigen 
sudo ln -s /usr/local/include/eigen3/unsupported /usr/include/unsupported #unsupported主要用于三维矩阵Tensor的定义运算

3.2 protobuf

        除了ROS msg之外,还需要额外的通信中间消息体,protobuf的好用程度远大于ROS msg。

(1)下载源码

(2)编译安装

git clone https://github.com/protocolbuffers/protobuf.git 
cd protobuf 
git submodule update --init --recursive 
./autogen.sh 
./configure 
make 
sudo make install 
sudo ldconfig

3.3 glog

(1)下载源码

(2)编译安装

git clone https://github.com/google/glog 
sudo apt-get install autoconf automake libtool 
cd glog 
mkdir build 
cd build 
cmake .. 
make -j 8
sudo make install 
sudo ldconfig

3.4 gflag

(1)下载源码

(2)编译安装

git clone https://github.com/gflags/gflags.git 
cd gflags 
mkdir build && cd build 
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON -DGFLAGS_NAMESPACE=gflags ../ 
make -j4 
sudo make install 
sudo ldconfig

3.5 osqp

(1)下载源码

(2)编译安装

这里注意区分0.5.0版本还是0.6.0或者更高版本,后续调用求解器接口略有区别,笔者安装的是0.5.0版本。

git clone --recursive https://github.com/oxfordcontrol/osqp 
cd osqp 
mkdir build 
cd build 
cmake .. -DBUILD_SHARED_LIBS=ON 
make -j8 
sudo make install 
sudo ldconfig
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能汽车人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值