创建一个rosjava package 并测试发布和接受消息
标签:
rosandroidrosjava |
分类: ROS |
一、rosjava package 结构和解析
Rosjava 主要是提供了客户端(如:android)与ros系统(如:turtlebot)通信的库,主要应用于android等java平台客户端开发。
Rosjava的安装教程在官网上,这里不再一一解说。
/src 上层
/rosjava_gradle_subproject_f
1, 创建一个catkin 的workspace ,这里的创建方法跟cpp和py的workspace创建一样?
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
$ cd ~/catkin_ws/
$ catkin_make
2,在这个空的workspace 里面新建一对 rosjava catkin 包。
> cd src
> catkin_create_rosjava_pkg rosjava_catkin_package_a
> catkin_create_rosjava_pkg rosjava_catkin_package_b
> cd ..
> catkin_make
> source devel/setup.bash
> cd src/rosjava_catkin_package_a
> catkin_create_rosjava_project rosjava_gradle_subproject_a
> cd ../..
> catkin_make
这里创建子目录成功,进入子目录下最底层的目录下(很长),就会发现有个
Listener.java和Talker.java文件。这是默认情况下的生成的例子。
1, 测试,创建好rosjava 项目之后,我们就可以进行测试。在此,我们进行几种方式测试talker 和listener是否可以通行。
第一种是在同一台ros系统上(同一个机器上)测试。
> cd src/rosjava_catkin_package_a/ rosjava_gradle_subproject_a
> cd build/install/ rosjava_gradle_subproject_a/bin
> ./ rosjava_gradle_subproject_a com.github.rosjava_catkin_package_a. rosjava_gradle_subproject_a.Talker
这样就可以启动Talker 了。
最后重新打开另一个终端,输入以下命令:
> cd build/install/ rosjava_gradle_subproject_a/bin
> ./ rosjava_gradle_subproject_a com.github.rosjava_catkin_package_a. rosjava_gradle_subproject_a.Listener
这样就可以接收到如下信息:
Feb 08, 2014 11:11:31 PM org.ros.internal.node.RosoutLogger info
INFO: I heard: "Hello world! 95"
Feb 08, 2014 11:11:32 PM org.ros.internal.node.RosoutLogger info
INFO: I heard: "Hello world! 96"
第二种测试方式,其实可以不用打开com.github.rosjava_catkin_package_a.rosjava_gradle_subproject_a.Listener,
可以使用rosrun rospy_tutorials listener.py 测试是否可以接收到消息,肯定能接收到,结果如下:
http://s12/mw690/003AldHwgy6K3FGdYfN9b&690package
这是因为,Talker通过chatter 这个topic来发送消息,而listener.py也是通过chatter这个topic订阅消息,所以就可以接收到以上信息。
rosrun rospy_tutorials listener.py
----------------------------------------------------------------
欢迎大家转载我的文章。
转载请注明:转自听雨轩_Mrfu博客地址是:http://blog.sina.com.cn/u/3285404150

加载中…