硬件平台
树莓派4B 8G ubuntu20.04 server
CH340串口
1.连接ttl转usb连接电脑
2.连接windows上位机
将N200WP连接电脑后,打开windows上位机,点击左上角communication、add link
(这是已连接上的图片)
在弹出来的窗口中选择对应的串口,点击连接就连接上了。
接下来移动IMU都会有反应。
3.配置固定串口
因为使用沁恒的串口修改工具没修改成功,所以直接在linux中配置usb规则来修改串口别名。
将N200WP通过CH340串口工具连接上树莓派之后
在终端中执行 lsusb命令
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 008: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
可以看到当前设备的usb串口信息,第三行就是我们的CH340串口信息
接下来创建usb规则
sudo vim /etc/udev/rules.d/rplidar_port.rules
在其中输入以下规则:
KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0777", SYMLINK+="fdilink_ahrs"
保存后重新插拔ch340串口工具,执行 ll /dev 可以看到修改成功
4.配置ros驱动功能包
4.1在home目录下创建catkin_ws文件夹作为ros工作空间,在其中新建src文件夹,将ros1驱动程序粘贴到src文件夹中。
官方资料的ros_sdk中的第一个解压后的文件就是N200WP的ros1驱动文件
注意目录层级
4.2 执行catkin_make
catkin_make执行后catkin_ws中会多出devel和build文件夹
如果执行catkin_make报错
缺少串口驱动serial,安装驱动,ubuntu是18.04就安装melodic版本,我这里中间换了18.04版本试了一下,所以20.04的记得改成neotic
sudo apt install ros-melodic-serial
安装好之后就编译成功了
这时候要配置一下ros环境变量,这样每次启动终端默认执行source了
gedit ~/.bashrc
末尾添加下面这行
source ~/catkin_ws/devel/setup.bash
4.3 读取imu
先启动ros,终端中输入roscore
其次启动launch文件
roslaunch fdilink_ahrs ahrs_data.launch
然后一直提示warning:
问技术客服说是我ubuntu版本20.04不支持,后面发现不是,是波特率没有配上,后来我在windows下将N200WP的波特率设为115200(原本是961200),然后catkin_ws工作空间中的fdilink_ahrs.launch和fdilink_data.cpp中的波特率都要是115200,之前都是961200,猜测树莓派可能性能不够。
windows下修改波特率可以可以看我前面那张上位机图片,config里面有个baud,修改成115200,然后点击save to fdi..然后再点击restart就好,回到pilot界面的时候记得重新link一下,改下波特率。
没有warning之后运行rostopic list看下节点是否一致
查看imu信息:
运行
rostopic echo /imu
可以看到结果能输出结果: