Quantcast
Channel: Sam的技术Blog
Viewing all articles
Browse latest Browse all 158

EAI底盘和F4雷达的使用和解读

$
0
0
作者: Sam (甄峰)  sam_code@hotmail.com

EAI发布Dashgo底盘和F4雷达之后,软硬件均有升级变化。
Sam手头F4雷达原先使用rplidar_ros驱动,后采用flashgo作驱动。现将手头版本所需处理工作记录下来。

Sam是在两个平台工作:
A. NV  TK1 平台,ARM架构,Ubuntu14.04+ROS indigo。
B: X86平台,Ubuntu14.04 + ROS indigo平台。

1.文件准备:
 1.1:把底盘程序dashgo copy到catkin_ws/src 目录。
 1.2:把雷达程序 flashgo copy到catkin_ws/src目录。
 1.3:下载move_base: 
$cd catkin_ws/src 
$git clone ://github.com/ros-planning/navigation.git
$cd navigation
$git checkout indigo-devel


2. 编译:
cd ~/catkin_ws
catkin_make

3. 创建底盘Dashgo和F4雷达的别名
这个意义有以下几点:
A:设备区分:
F4雷达和Dashgo底盘都是通过USB转Serial连接到主机。我们知道,此类设备通常被命名为/dev/ttyUSBx(x:0~64)或/dev/ttyACMx(x:0~64). 但应用程序并不知道哪个设备对应那个Node。比如有多个USB2Serial设备,名为:/dev/ttyUSB0,  /dev/ttyUSB1, /dev/ttyUSB2, /dev/ACM0, /dev/ACM1.则完全不知道哪个Node对应的雷达和底盘。
所以写udev rules脚本让其名字可辨识。
B:  处理权限:
通常/dev/ttyUSBx  , /dev/ttyACMx, 权限设置为:660。但ROS程序并非ROOT权限或和此Node 同group.所以需要处理。使之可以被ROS设备读写。

EAI的做法与大多数ROS程序员做法类似,利用UDev来提高辨识度。注明VendorID, ProductID。

在dashgo_bringup/startup目录内,有以下几个文件:
create_rplidar_udev.sh
主要内容为:
echo 'KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0666", GROUP:="dialout", SYMLINK+="rplidar"' >/etc/udev/rules.d/rplidar.rules
讲解:有/dev/ttyUSBx设备,vid=10c4, pid=ea60时,则创建它的软连接为:rplidar, 使用权限为666.
但之后Sam手头的雷达有了变化,它插入后,并不是/dev/ttyUSBx, 而是/dev/ttyACMx, 且Vid,Pid也变化了。所以Sam将其修改为:
create_rplidar_udev_new.sh
echo 'KERNEL=="ttyACM*", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", MODE:="0666", GROUP:="dialout", SYMLINK+="rplidar"' >/etc/udev/rules.d/rplidar.rules
有/dev/ttyACMx设备,vid=0483, pid=5740时,则创建它的软连接为:rplidar, 使用权限为666.


create_dashgo_udev.sh
echo 'KERNEL=="ttyACM*", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0042", MODE:="0666", GROUP:="dialout", SYMLINK+="dashgo"' >/etc/udev/rules.d/dashgo.rules
有/dev/ttyACMx设备,pid=0042, vid=2341时,则创建它的软连接为:dashgo, 使用权限为666.
如此,则/dev/rplidar, /dev/dashgo就非常明确的对应雷达和底盘了。
这个方法非常好,值得学习。


VID,PID可以使用lsusb得到。
roscd dashgo_bringup/startup
sudo sh create_dashgo_udev.sh sudo sh create_rplidar_udev_new.sh





 

Viewing all articles
Browse latest Browse all 158

Trending Articles