956|1

591

帖子

25

资源

版主

42“万里”树莓派小车——ROS学习(Android使用ROSBridge控制小乌龟) [复制链接]

本帖最后由 lb8820265 于 2022-11-8 23:14 编辑

    前面通过网页使用ROSBridge控制小乌龟,这里介绍使用Android手机来控制小乌龟。

一、从零开始新建ROSBridge工程

    从Android源码开始学习并不是最好的方法,由于环境不一样,直接编译不一定能通过,移植到自己工程也不一定能成功,所有这里介绍从零开始新建ROSBridge工程。

0. 下载源码

    下载链接在帖子最后。

1. 新建AS工程

    本帖采用Android Studio 4.1,新建一个空白工程,包名为“Lb_ROSBridge_Turtle”。

image-20221108222814-1.png   2. 复制例程文件到新工程

     复制“libs”文件夹内的文件到新工程对应位置。

image-20221108222814-2.png

    复制“jilk”文件夹到新工程对应位置。

image-20221108222814-3.png       替换“activity_main.xml”布局文件到新工程对应位置。如果包名不同,记得修改文件中tools:context的包路径。

image-20221108222814-4.png       替换“MainActivity.java”与复制“RCApplication.java”文件到新工程对应位置,如果包名不同,记得要修改文件首行的包名。

image-20221108222814-5.png

    3. 修改“AndroidManifest.xml”文件

image-20221108222814-6.png      添加权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    关联Application

android:name="com.example.lb_rosbridge_turtle.RCApplication"

    允许让外部组件启动(在Android 12版本以上手机上需要)

android:exported="true"

4. 修改“build.gradle”文件

添加libs文件夹库路径

image-20221108222814-7.png

implementation fileTree(include: ['*.jar'], dir: 'libs')

二、ROSBridge工作流程

     所有编写均在“MainActivity.java”文件中。

1. 注册EventBus,用于接收消息

EventBus.getDefault().register(this);

2. 调用connect,用于连接树莓派服务器

connect(String ip, String port)

3. 获取已经连接的Rosbridgeclient类的实例

client = ((RCApplication)getApplication()).getRosClient();

4. 发送数据给服务端

client.send(msg);

     订阅和发布信息都是同一指令。

5. 获取服务端数据

onEvent(final PublishEvent event)

    上面只是主要的流程,详细的代码查看源代码。

三、操作与演示

树莓派服务端操作

1. 启动内核

roscore

2. 启动小乌龟

rosrun turtlesim turtlesim_node

3. 开启rosbridgea服务

roslaunch rosbridge_server rosbridge_websocket.launch

image-20221108222814-8.png 手机端操作

0. 运行APP

    可以通过在线仿真或者直接安装APP。

1. 输入树莓派IP

    需要手机和树莓派在同一个局域网中。

2. 点击“连接”

    连接正常,连接状态会显示“已连接”

3. 点击“订阅位置”

    也就是发送订阅指令,随后树莓派会不停的发送位置信息给手机

4. 输入控制参数

    滑动拖动条来选择控制参数,控制参数有:直行速度、横向速度和转向速度。

5. 点击“发布”

    将控制参数发布出去,树莓派小乌龟就会根据运动参数开始运动。

image-20221108222814-9.jpeg

 四、源码

GitHub:

链接已隐藏,如需查看请登录或者注册

Gitee:

链接已隐藏,如需查看请登录或者注册

APK安装包见帖子附件。

Lb_ROSBridge_Turtle.apk

2.23 MB, 下载次数: 0

Lb_ROSBridge_Turtle.apk

2.23 MB, 下载次数: 0

个人签名QQ:252669569

回复

4675

帖子

0

资源

五彩晶圆(中级)

先新建ROSBridge工程文件,进行ROS学习学习是个好习惯


回复
您需要登录后才可以回帖 登录 | 注册

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/5 下一条

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表