在ROS(indigo)中读取手机GPS用于机器人定位~GPS2BT在ubuntu和window系统下的使用方法~
不需要额外购买GPS设备。
将手机GPS数据通过蓝牙传输给计算机使用,当然通过类似方法也可以使用手机的三轴陀螺和加速度计。
Android Phone:
1.
2.
3.
Ubuntu 14.04 LTS:
1. 安装蓝牙软件。bluez
安装好后,就可以将通过蓝牙将计算机和手机配对。
也可以让计算机通过手机蓝牙上网。
言归正传,添加GPS。
2. 添加蓝牙GPS。
~$ hcitool scan
Scanning ...
00:9A:CD:CF:7D:38ALE-UL00
~$ sdptool browse 00:9A:CD:CF:7D:38
Service Name: GPS2BT2
Service RecHandle: 0x1000c
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 5
~$ sudo gedit /etc/bluetooth/rfcomm.conf
# RFCOMM configuration file.
#
#rfcomm0 {
# # Automatically bind the device at startup
# bind yes;
#
# # Bluetooth address of the device
# device 00:9A:CD:CF:7D:38;
#
# # RFCOMM channel for the connection
# channel 5;
#
# # Description of the connection
# comment "Example Bluetooth GPS device";
#}
重启,就可以在蓝牙配置里启动GPS2BT2了。
3. 用串口调试工具查看GPS数据。
4. ROS中查看GPS数据。
需要安装如下功能包:
~$ sudo apt-get install ros-indigo-nmea-*
安装完成后,启动roscore,需要用到下面命令:
~$ rosrun nmea_navsat_driver nmea_serial_driver _port:=/dev/rfcomm0 _baud:=115200
~$ rostopic echo /fix
~$ rosrun nmea_navsat_driver nmea_topic_serial_reader _port:=/dev/rfcomm0 _baud:=115200
~$ rostopic echo /nmea_sentence
Windows:
1. 在蓝牙配置中启用SPP。
2. 测试GPS,选用google earth。
由于连接出错,重新连接,端口更新为COM43(原来为COM42)。
~END~