因源码最终需部署至板端或车端进行运行,因此必须满足编译环境与部署环境一致,即arm架构,本文利用docker环境进行arm架构源码编译并在板端进行测试,测试通过后可部署至车端进行运行。
1. 查看docker镜像
docker ps -a
选择a1000b:DGNC这个镜像并进入
sudo docker run -it a1000b:DGNC /bin/bash
//若记得容器名称则
docker start f1c
docker exec -it f1c bash
进入工作目录
cd home
mkdir workspace
cd workspace
2. 源码编译
拷贝源码至容器
启动本地终端并进入src源码目录下
执行
docker cp ./src f1c:/home/workspace
1e1为容器id前三位
编译
catkin_make -DPYTHON_EXECUTABLE=/opt/bstos/2.2.2.4/sysroots/x86_64-bstsdk-linux/usr/bin/python2
或
catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
随后进行白名单编译
catkin_make -DCATKIN_WHITELIST_PACKAGES=perception_msgs
catkin_make -DCATKIN_WHITELIST_PACKAGES=vrc_msgs
catkin_make -DCATKIN_WHITELIST_PACKAGES=diag_msgs
catkin_make -DCATKIN_WHITELIST_PACKAGES=common_msgs
catkin_make -DCATKIN_WHITELIST_PACKAGES=
catkin_make install -DSETUPTOOLS_DEB_LAYOUT=OFF
得到install文件
拷贝至板端运行
首先配置主从机,进入网络添加如下配置并启用
随后
gedit ~/.bashrc
在最后添加
然后更新
source ~/.bashrc
登陆开发板
ssh root@192.168.1.102
password:1
cd /usrdata/workspace/vehicle/src/autodriver
备份原有install
mv install install_cicv
回到docker打包install
tar cvf insatll.tar.gz install
拷贝至板端
scp ./install.tar.gz root@192.168.1.102://usrdata/workspace/vehicle/src/autodriver
tar xvf install.tar.gz
将板子下电重启执行
rosnode list
检查节点是否启动