记录关于ros和android通信的步骤:android设备订阅pc发布的topic并显示在屏幕上
1, 确保ROS安装正确,kinetic,创建好了catkin_ws
2, 进入链接中的教程 http://wiki.ros.org/rocon_interactions/Tutorials ,选择indigo(里面只有这个版本,要换成kinetic的命令和包)
3, 直接看第六点Android interactions,进行 3.interacting 安装下面命令
sudo apt-get install ros-kinetic-roscpp-tutorials ros-kinetic-rocon-master-info ros-kinetic-rocon-interactions ros-kinetic-zeroconf-avahi-suite.
这些都是为下面通讯demo预备的包,第一个是预备用的,另外三个是通讯必须的。(这个命令是改过的)
4, 创建foo包
cd ~/catkin_ws/src
catkin_create_pkg foo std_msgs rospy roscpp
cd ~/catkin_ws
catkin_make
在foo包里面不需要写什么程序,新建两个文件,分别为android.interactions和android.launch,里面分别加入教程的程序。特别的删除launch文件里面这段:
[foo/android, rocon_interactions/web]
注:其实在launch文件最后的里面的意思就是引用了第三点中的第一个包的tutorial的包,故此我们可以引用其他的包(我们控制底盘的程序就放在这些包中)
5, 再次cd ~/catkin_ws && catkin_make
6, ifconfig 查看主机的IP地址:192.168.101.37
7, cd ~/catkin_ws
source ./devel/setup.bash
export ROS_IP=192.168.101.37
roslaunch foo android.launch --screen
8, 注意事项,tutorial包里面的talker和listener的topic都是chatter,只不过在launch文件中重命名为了babbler和natter,android端记得设置为对应的topic(改launch文件也可以)