这段时间利用TX2作为主机安装了四个传感器的驱动,包括2D激光雷达, 16线3D激光雷达velodyne, camera:realsense d435/r200, imu:xsense MT-300, GPS(u-blox),现在已经可以四种传感器同时全开,为接下来用于验证融合算法的数据采集奠定了基础。
编译内核!!!一定要先编译内核,TX2的接口数据才能够获取,只有出现了ttyUSB0,ttyACM0才能够对数据进行读取,驱动程序才能在此基础上读取数据
编译内核参考
https://blog.csdn.net/u013468614/article/details/83374800
https://blog.csdn.net/qq_38880380/article/details/78787913
camera:安装驱动的顺序是先安装官方SDK,即realsense-viewer,紧接着安装对应版本(对应SDK)的ros功能包,一套创建工作空间的程序下来,就可以在topic里看到camera了,相机数据量大,只能接USB3.0,所以只能用TX2两个USB接口下面那个,上面那个接口应该是2.0,接入camera后tty中不会出现ttyUSB0/USB1
d435
roslaunch realsense2_camera rs_rgbd.launch
r200
roslaunch realsense_camera r200_nodelet_default.launch
imu:问题主要出现在功能包安装好后roslaunch出现“cannot find proper MT device”,这个问题是驱动的问题,在github上下载一个特定的驱动包(xsens_mt_driver)就可以解决问题,然后执行
1.make
2.sudo modprobe usbserial
3.sudo ins mod ~/.../xsens_mt_master/xsens_mt.k
随后即可出现ttyUSB0/USB1
chmod 777之后即可成功驱动xsens了
roslaunch xsens_driver xsens_driver.launch
GPS:主要是ttyACM0没出现,通过编译内核后即可出现ttyACM0,之后利用cat就可以查看串口传输数据
lidar:2D单线激光雷达接入后会出现ttyUSB0/USB1,与xsens不能共存,也不知道为什么,未解决,后来转用velodyne,用千兆以太网传输数据,设置好以太网络参数,再安装velodyne ros功能包即可,转yaml文件需要放在功能包的velodyne_pointcloud/params中,rviz中需要改世界坐标系为velodyne,具体参考(https://blog.csdn.net/a356337092/article/details/79004044)
2D
roslaunch hls_lfcd_lds_driver hlds_laser.launch
3D
roslaunch velodyne_pointcloud VLP16_points.launch