将NUC(黑色的PC)文件复制到Manifold中进行环境配置,包括软件配置和传感器驱动的安装。
软件配置包括算法运行的依赖和工作空间的创建和编译
传感器驱动配置包括硬件上传感器的链接和软件驱动程序的运行。
ouster激光雷达的时间戳跟ros系统中的时间戳不同需要单独设置。
一、配置软件环境
1、gbplanner
最开始是先编译的gbplanner_ws环境,这不过分的过程主要是依靠该网站
github-gbplanner_ws
github-gbplanner_ros
出现报错,自己没有类似的经验,第一时间应该将错误的重要段复制粘贴到网站,寻求大家的解决方法,才是最省时间的。
2、dji-ros-interface
认真查看该网站,说明了该大奖接口支持那些大疆的类型(M100).
网页
3、mpc-ws
work-ws
编译这两个工作空间的时候,要学会去看系统中的CMakeLists.txt文件以及.launch文件,其中包含有许多该系统成功运行的重要信息,运行不成功的原因可能是ceres的版本不对,采用最新的ceres2.0.0去编译系统文件
4、mav_trajectory_generation
复制源文件编译,出现无法解压,无法找到nlopt
查看nlopt文件夹下的CMakeLists.txt中下载路径和另一个算法功能包的中的路径不一致。修改后,该文件编译成功。
二、配置ouster激光
1、链接设备
通过网线将激光和PC链接,设置电脑端的IP地址
ouster激光的本身地址为192.168.1.200
设置电脑端的地址为192.168.1.100
这个时候可以查看网络链接的标志,显示为双箭头的有线链接
通过执行命令查看链接是否正常
ping -c1 os1-991945000240.local
ping 192.168.1.200
Output:
链接正常
2、ros驱动程序
最新的ouster驱动
使用从NUC复制过来的ouster 驱动
,所包含的文件夹
按照这三个文件中的README.md文件对三个文件进行操作,一次是ouster_viz 、ouster_client 、ouster_ros .
在ouster_ros中明确指出建立工作空间进行编译
运行时的节点:
roslaunch ouster_ros ouster.launch sensor_hostname:=os-991945000240.local udp_dest:=192.168.1.102 lidar_mode:=2048x10 viz:=true
rostopic echo /os_cloud_node/points
设置时间戳的模式的步骤:
1. Open a terminal and use
$ nc os1-992002001311.local 7501
or
$ nc 192.168.1.200 7501
$set_config_param timestamp_mode TIME_FROM_PTP_1588
$ reinitialize
$ write_config_txt
然后用 sudo ptpd -i <网卡名> - M 命令同步,接着启动data streaming,用 rostopic echo /os_cloud_node/points/header/stamp看一下时间戳对不
$sudo ptpd -i eno1 -M
$rostopic echo /os_cloud_node/points/header/stamp
对的类似:
stamp:
secs: 1602407523
nsecs: 678694912
对应于launch文件:
将这些操作写到一个.sh文件
:
1 #!/bin/bash
2
3 sudo ptpd -i enp0s31f6 -M
4
5 if [ -f /opt/ros/kinetic/setup.bash ];then
6 source /opt/ros/kinetic/setup.bash
7 fi
8
9 if [ -f /home/dji/lidar_ws/devel/setup.bash ];then
10 source /home/dji/lidar_ws/devel/setup.bash
11 fi
12 export ROS_MASTER_URI=http://192.168.1.100:11311
13 export ROS_IP=192.168.1.100
14 echo "ROS environment is Ready"
15 sleep 5
16
17 cd /home/dji/lidar_ws/src/ouster_os1/ouster_ros
18 roslaunch ouster_ros ouster.launch