android app控制ros机器人一
android开发app,进而通过控制ros机器人,记录开发过程
查阅资料:
rosjava使用较多,已经开发好的app也有开源的案例
rosjava · GitHub
https://github.com/ros-autom/RobotCA
https://github.com/ROS-Mobile/ROS-Mobile-Android
https://github.com/ros-android/android_app_manager
GitHub - ros-android/android_sensors_driver: ROS Driver for Android Sensors
国内:
ros app 下载、ros android app下载、ROS机器人控制app下载_rosapp_白茶-清欢的博客-CSDN博客
robotca没有找到手机可以用的稳定资源,安装了一个有闪退问题,源码打开后也各种问题,然后就改使用ros-mobile了
首先在ubuntu18下安装android studio,选择22.2.1版本
-
Download Android Studio from https://developer.android.com/studio/index.html#linux-bundle
-
安装JDK
sudo apt-get update
sudo apt-get install openjdk-8-jdk
-
按照git教程安装运行,打开项目,更换插件,选择下载的JDK,将 Android Studio 固定到任务栏
使用ROS-Mobile,可以直接下载.apk文件,在手机上安装或者源码下载
https://github.com/ROS-Mobile/ROS-Mobile-Android/tree/master
先打开手机app看看效果,同一wifi环境,ros端启动ros,app端输入ros端ip,ros端口然后可以连接

安装ssh服务,并查看状态,显示active(running)表示正在运行
sudo apt-get install openssh-server
sudo service ssh status
然后点击ssh标签进行连接。填写ip 用户名等信息,ssh下把信息填写了,但是没有连接成功。身边大佬给了一个思路,ssh连接前,要给机器人设置静态ip
查网关:
route -n
目标 网关 子网掩码 标志 跃点 引用 使用 接口
0.0.0.0 192.168.2.1 0.0.0.0 UG 600 0 0 wlp2s0
查动态ip:
ifconfig
wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.115 netmask 255.255.255.0 broadcast 192.168.2.255
参考教程:【Linux】ubuntu18.04修改IP为静态IP并能够上网(傻瓜式教学)_ubuntu1804静态ip设置后怎么联网_DedicationYu的博客-CSDN博客
对应自己的接口、网关、ip修改,:后必须空格,缩进也要调整好,本人缩进两个空格。
bug:
Invalid YAML: tabs are not allowed for indent:
wlp2s0:
^
一般都是缩进和空格问题:

机器人端需要配置静态ip 和ssh连接,然后输入ip username就可以实现ssh连接了。
输入rostopic list的时候报错,显示command 'rostopic'not found
操作了一些东西,然后重新连接了一下,然后发现可以查看rostopic话题了,不确定哪个教程起作用了,有增加~/.bash_profile文件,把~/.bashrc文件的内容直接复制过去了。
SSH远程执行脚本报错command not found和环境变量问题_ssh 远程执行pm2_nklinsirui的博客-CSDN博客
然后可以添加ros节点,并设置显示界面大小。下面教程有快速上手的视频
[ROS-Mobile] 快手上手教程_哔哩哔哩_bilibili

git的wiki教程中有介绍如何添加自己的节点。(后续可以使用)
当前尝试连接自己的电脑(ubuntu系统环境下),尝试启动笔记本相机驱动,看看是否加载出画面。有录制好的bag包,可以播放bag包,进行测试。
播放数据包,或者启动笔记本相机时,通过ssh都可以订阅到话题消息,但是VIZ界面不显示画面。
下载项目,使用Android Studio打开,报错:
FAILURE: Build failed with an exception.
* Where:
Build file 'D:\AndroidCode\Robot\ROS-Mobile-Android-master\build.gradle' line: 6
* What went wrong:
A problem occurred evaluating root project 'RosAndroid'.
> Could not get resource 'https://github.com/rosjava/rosjava_bootstrap/raw/kinetic/buildscript.gradle'.
> Could not GET 'https://raw.githubusercontent.com/rosjava/rosjava_bootstrap/kinetic/buildscript.gradle'.
> raw.githubusercontent.com
让gpt帮忙差错,指出问题可能在网络代理这块,搜索了一下应该如何配置
Android Studio 配置 Http Proxy_android studio proxy_第89号的博客-CSDN博客
配置网络代理没有解决问题,新思路,下载脚本文件,保存到项目然后直接引用。然后rebuild工程。
相关文章:
android app控制ros机器人一
android开发app,进而通过控制ros机器人,记录开发过程 查阅资料: rosjava使用较多,已经开发好的app也有开源的案例 rosjava GitHub https://github.com/ros-autom/RobotCA https://github.com/ROS-Mobile/ROS-Mobile-Android…...
二十章:基于弱监督语义分割的亲和注意力图神经网络
0.摘要 弱监督语义分割因其较低的人工标注成本而受到广泛关注。本文旨在解决基于边界框标注的语义分割问题,即使用边界框注释作为监督来训练准确的语义分割模型。为此,我们提出了亲和力注意力图神经网络(A2GNN)。按照先前的做法&a…...
webpack5 学习之路
1.视频 01-课程介绍_哔哩哔哩_bilibili 2.配套资料 依赖环境 | 尚硅谷 Web 前端之 Webpack5 教程 3.webpack 官方文档 入口起点(entry points) | webpack 中文文档 4.vue cli 官方文档 介绍 | Vue CLI 挖矿:Coding Tree...
VSCode C++ 调试方法
VSCode 调试 C 主要就是 .vscode 中的 launch.json 和 tasks.json 的配置。 launch.json 可以通过 vscode 界面 ——》左侧调试功能按钮——》创建 launch.json ——》C(GDB/LLDB)生成。 其中 launch.json 默认配置如下,主要配置项说明&…...
Java设计模式-命令模式
命令模式 1.命令模式含义 命令模式,将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化。对请求排队或记录请求日志,以及支持可撤销的操作。 命令模式乍一看,有点懵懵的。即使这个定义看完,也是不明…...
Linux编译宏BUILD_BUG_ON_ZERO
本系列文章主要写我在阅读Linux内核过程中,关注的比较难以理解但又设计巧妙的代码片段(不关注OS的各个模块的设计思想,此部分我准备写在“深入理解Linux Kernel”系列文章中),一来通过内核代码复习一下C语言及汇编语言…...
从Arweave开始:4EVERLAND存储签入挑战开始
嗨,4evers, 今天,我们热烈欢迎您参加 Galxe 上的 4EVERLAND “Arweave 入门”活动。这是一项长期的重头活动,所有参与的用户都有机会获得相应的奖励。 Arweave 是一种革命性的去中心化存储协议,为寻求安全可靠的有价…...
数据结构—链表
链表 前言链表链表的概念及结构链表的分类 无头单向非循环链表的相关实现带头双向循环链表的相关实现顺序表和链表(带头双向循环链表)的区别 前言 顺序表是存在一些固有的缺陷的: 中间/头部的插入删除,时间复杂度为O(N)…...
windows 10/11 修改右键新建菜单
问题:修改右键新建菜单内容 解决方法:使用软件ShellNew Settings 1.打开软件 2.根据需要取消勾选项 3.最终效果...
6.修饰符
文章目录 6.1 在一个静态方法内调用一个非静态成员为什么是非法的?6.2 静态方法和实例方法有何不同 6.1 在一个静态方法内调用一个非静态成员为什么是非法的? 由于静态方法可以不通过对象进行调用,因此在静态方法里,不能调用其他非静态变量࿰…...
【leetcode难题】2569. 更新数组后处理求和查询【线段树实现01翻转和区间求和模版】
题目截图 题目分析 关键就是记录每次操作2时,nums1中的1的个数这就需要实现线段树进行区间反转以及区间求和 ac code class Solution:def handleQuery(self, nums1: List[int], nums2: List[int], queries: List[List[int]]) -> List[int]:n len(nums1)m le…...
练习时长两年半的入侵检测
计算机安全的三大中心目标是:保密性 (Conf idential ity) 、完整性 (Integrity) 、可用性 (Availability) 。 身份认证与识别、访问控制机制、加密技术、防火墙技术等技术共同特征就是集中在系统的自身加固和防护上,属于静态的安全防御技术,…...
【弹力设计篇】聊聊隔离设计
为什么需要隔离设计 隔离其实就是Bulkheads,隔板。在生活中隔板的应用主要在船舱中进行设计,目的是为了避免因一处漏水导致整个船都沉下去。可以将故障减少在一定的范围内,而不是整个船体。 从架构演变来说的话,大多数系统都是从…...
MFC 透明窗体
如何制作透明窗体 ????? 使用SetLayeredWindowAttributes可以方便的制作透明窗体,此函数在w2k以上才支持,而且如果希望直接使用的话,可能需要下载最新的SDK。不过此函数在w2k的user32.dll里有实…...
C++笔记之vector的resize()和clear()用法
C笔记之vector的resize()和clear()用法 code review! 文章目录 C笔记之vector的resize()和clear()用法1.resize()2.clear() 1.resize() 运行 2.clear() 运行...
Vue2基础九、路由
零、文章目录 Vue2基础九、路由 1、单页应用 (1)单页应用是什么 单页面应用(SPA:Single Page Application): 所有功能在 一个html页面 上实现具体示例: 网易云音乐 https://music.163.com/ (2)单页面应用VS多页面…...
移动零——力扣283
题目描述 双指针 class Solution{ public:void moveZeroes(vector<int>& nums){int n nums.size(), left0, right0;while(right<n){if(nums[right]){swap(nums[right], nums[left]);left;}right;}} };...
Transformer+MIA Future Work
TransformerMIA Future Work 主要的挑战和未来发展分为三个部分,即 1、特征集成和计算成本降低、 2、数据增强和数据集收集、 3、学习方式和模态-对象分布 1、特征集成和计算成本降低 为了同时捕获局部和全局特征来提高模型性能,目前大多数工作只是…...
深度学习入门(二):神经网络整体架构
一、前向传播 作用于每一层的输入,通过逐层计算得到输出结果 二、反向传播 作用于网络输出,通过计算梯度由深到浅更新网络参数 三、整体架构 层次结构:逐层变换数据 神经元:数据量、矩阵大小(代表输入特征的数量…...
rust 配置
rustup 镜像 在 cmd 中输入以下代码,设置环境变量 setx RUSTUP_UPDATE_ROOT https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup setx RUSTUP_DIST_SERVER https://mirrors.tuna.tsinghua.edu.cn/rustupcrates.io 索引镜像 在 C:\Users\用户名\.cargo\config 文…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
