大象机器人发布首款穿戴式数据采集器myController S570,助力具身智能数据收集!
myController S570 具有较高的数据采集速度和远程控制能力,大大简化了人形机器人的编程。
myController S570 是一款可移动的轻量级外骨骼,具有 14 个关节、2 个操纵杆和 2 个按钮,它提供高数据采集速度,出色的兼容性,与各种广泛使用的协作机器人无缝集成,并支持多种开发环境。它非常适合无人任务的远程操作和数据采集,使其成为工业自动化、工作站任务和人形机器人控制的理想工具。
本文使用 UR5 双臂实现快速直观的远程控制案例。

引言
对人形机器人的兴趣日益浓厚,推动了对双臂协作机器人开发的需求。由于双臂机器人需要同时控制超过 12 个自由度来执行任务,因此它们在实际应用中需要算法支持。
优傲机器人 (UR) 拥有重要的市场份额,许多工作站使用 UR5 和 UR10 进行双臂设置。通过使用 myController S570,我们可以轻松 构建一个远程操作项目,而无需任何算法支持。
通过佩戴 myController S570,用户可以控制机器人执行符合人类操作习惯的任务,大大简化了机器人的运动示教和数据采集。这种方法为测量、救援和各种无人操作等应用提供了巨大的优势。

myController S570 的参考资料
myController S570 是一款与各种机器人高度兼容的数据采集设备。它传输 14 个关节、2 个摇杆和 2 个按钮的实时数据,通过 PC.It 实现对真实机器人的控制,涵盖数据收集、远程操作和端到端应用程序开发等场景。
- 数据采集速度快:数据采集速度高达 100Hz,确保可靠的端到端 AI 数据采集和动作捕捉。
- 兼容性强:可轻松与各种结构的机器人集成,甚至可以控制夹持器或轮式机器人等配件。
- 机器人远程操作的优势:凭借标准的 Python 库和 ROS 支持,它提供蓝牙和 Wi-Fi 连接,使机器人远程控制即使初学者也能轻松上手。

佩戴外骨骼
构建项目的步骤
使用 Exoskeleton 在 ROS 中快速控制 UR5 双臂
此示例基于 Ubuntu 20.04 + ROS Noetic + Miniconda 构建,具有 Python 3.8 虚拟环境。
为避免未解决的错误,请根据指定要求设置项目。
1. 创建 ROS Python 3.8 虚拟环境
请先安装 Miniconda 并激活 Base 环境。
请先安装 Miniconda 并激活 Base 环境。
bashconda create --name ros_py38 python=3.8
conda activate ros_py38
pip install pyqt5 catkin_pkg rospkg empy
2. 构建 ROS 工作区,然后克隆第三方和主项目
bashcd ~
mkdir myController_ws && mkdir myController_ws/src && cd myController_ws/srcgit clone https://github.com/THU-DA-Robotics/Universal_Robots_ROS_Driver.git
git clone -b noetic_devel https://github.com/THU-DA-Robotics/robotiq.git
git clone https://github.com/THU-DA-Robotics/dual_ur.gitgit clone -b mycontroller_s570 https://github.com/elephantrobotics/mycobot_ros.git
3. Catkin_make 和 Open Rviz
bashcd ..
catkin_make
source devel/setup.bash
roslaunch mycontroller_s570 test.launch
您将在 rviz 中看到 myController S570 外骨骼模型。

4. 将 myController S570 连接到 PC。
请遵循 gitbook。

5. 检查序列号和测试数据传输
bashconda activate ros_py38
( you can add this line to ~/.bashrc to avoid repeated operations )
ls /dev/tty*
cd /home/u184/controller_ws/src/mycobot_ros/mycontroller_s570/scripts
gedit test.py

关闭 Gedit,创建一个新终端来运行脚本。
bashconda acitivate ros_py38
cd /home/u184/controller_ws/src/mycobot_ros/mycontroller_s570/scripts
python3 test.py
您将看到 Rviz 中的外骨骼模型与真实模型一起移动。
6. 在 Rviz 中控制 UR5 双臂
在这部分步骤中,我们应该修改机器人启动 Rviz 的启动文件,调整节点名称、消息类型等,使机器人模型的关节变换信息与 myController S570 发布的消息相匹配。
6.1 创建新的启动文件
( 您可以从文章附件下载此文件。


6.2 修改 Pyhon 脚本以确保 Joints 名称正确
( 您可以从文章附件下载此文件。
6.3 打开 2 个新端子以测试双臂机器人控制
打开一个终端以启动 rviz。
bashconda activate ros_py38
cd ~/controller_ws
source devel/setup.sh
roslaunch dual_ur_description control_dual_ur5.launch

打开另一个终端以运行 test.py 以启动外骨骼并测试运动控制。
bashconda activate ros_py38
cd /home/u204/myController_ws/src/mycobot_ros/mycontroller_s570/scripts
python3 test.py

二次开发展望
要将此演示连接到真实机器人进行测试,您应该参考 dual-arm-robotq 项目的另一位作者的 wiki。
如果使用其他机器人执行仿真任务,可以参考本项目中与 myController S570 安装和启动文件修改相关的相同步骤。在开发过程中,应考虑以下几点:
- 冗余自由度处理。
- 根据 DH 模型,调整外骨骼控制器和机器人之间的关节角度映射。
总结
可穿戴外骨骼在高兼容性和人体动作捕捉方面具有优势。它能够从关节 J1 到 J14 进行高速数据采集,并在电子屏幕上显示实时传感器反馈,为无人任务的开发做出了重大贡献。
有关 myController S570 外骨骼开发和应用的查询,请随时与我们联系。我们欢迎进一步探索远程操作和开发用例。

相关文章:
大象机器人发布首款穿戴式数据采集器myController S570,助力具身智能数据收集!
myController S570 具有较高的数据采集速度和远程控制能力,大大简化了人形机器人的编程。 myController S570 是一款可移动的轻量级外骨骼,具有 14 个关节、2 个操纵杆和 2 个按钮,它提供高数据采集速度,出色的兼容性,…...
【银河麒麟高级服务器操作系统】业务访问慢网卡丢包现象分析及处理过程
了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:product.kylinos.cn 开发者专区:developer.kylinos.cn 文档中心:document.kylinos.cn 交流论坛:forum.kylinos.cn 服务器环境以及配置 【内核版本…...
C语言之饭店外卖信息管理系统
🌟 嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 C语言之饭店外卖信息管理系统 目录 设计题目设计目的设计任务描述设计要求输入和输出要求验…...
记一次 .NET某数字化协同管理系统 内存暴涨分析
一:背景 1. 讲故事 高级调试训练营里的一位朋友找到我,说他们跑在linux上的.NET程序出现了内存泄露的情况,上windbg观察发现内存都是IMAGE给吃掉了,那些image都标记了 doublemapper__deleted_ 字样,问我为啥会这样&a…...
部门管理查询部门,nginx反向代理,前端如何访问到后端Tomcat 注解@RequestParam
接口开发 增删改通常是不用返回data数据,返回null 列表查询-结果封装,时间 前后端联调测试 nginx反向代理,前端如何访问到后端Tomcat服务器 删除部门...
JS通过ASCII码值实现随机字符串的生成(可指定长度以及解决首位不出现数值)
在之前写过一篇“JS实现随机生成字符串(可指定长度)”,当时写的过于简单和传统,比较粗放。此次针对此问题,对随机生成字符串的功能进行优化处理,对随机取到的字符都通过程序自动来完成。 在写之前ÿ…...
速通Docker === 快速部署Redis主从集群
目录 镜像仓库介绍 持久化你的数据库 连接到其他容器 创建自定义网络 部署主节点 部署从节点 验证部署 总结 在现代应用架构中,Redis作为一个高性能的内存数据库,被广泛应用于缓存、会话存储、实时分析等多个领域。为了提高Redis的可用性和数据的…...
论文笔记(六十三)Understanding Diffusion Models: A Unified Perspective(一)
Understanding Diffusion Models: A Unified Perspective(一) 文章概括引言:生成模型背景:ELBO、VAE 和分层 VAE证据下界(Evidence Lower Bound)变分自编码器 (Variational Autoencoders&#x…...
stm32使用MDK5.35时遇到*** TOOLS.INI: TOOLCHAIN NOT INSTALLED
mdk5.35出现*** TOOLS.INI: TOOLCHAIN NOT INSTALLED的问题!!!! 以管理员身份重新打开MDK5.35.0.0,用keygen破解密码,但是一直提示我是没有破解成功。 解决办法: target 改成ARM...
在Ubuntu上安装RabbitMQ教程
1、安装erlang 因为rabbitmq是基于erlang开发的,所以要安装rabbitmq,首先需要安装erlang运行环境 apt-get install erlang执行命令查是否安装成功:erl,疯狂 Ctrlc 就能退出命令行 2、安装rabbitmq 1、查看erlang与rabbitmq版本…...
【算法】集合List和队列
阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 零:集合,队列的用法 一:字母异位词分组 二:二叉树的锯…...
uniapps使用HTML5的io模块拷贝文件目录
最近在集成sqlite到uniapp的过程中,因为要将sqlite数据库预加载,所以需要使用HTML5的plus.io模块。使用过程中遇到了许多问题,比如文件路径总是解析不到等。尤其是应用私有文档目录’_doc’。 根据官方文档: 为了安全管理应用的…...
css‘s hover VS mobile
.animation {animation: 30s move infinite linear;/* &:hover {animation-play-state: paused;*/ }原本写的好好的,测试说:“移动端点击滚动条,跳转到其他页面后,返回当前页面,滚动条不滚动;可以优化位…...
工业制造离不开的BOM
在制造业的浩瀚星空中,物料清单(BOM)犹如“北极星”,牢牢指引着产品从设计蓝图迈向实物诞生的全过程。 BOM的分类 按照设计制造的不同阶段,将BOM划分为设计BOM、工艺BOM、制造BOM三种类型。 设计BOM Engineering BO…...
HTML中的`<!DOCTYPE html>`是什么意思?
诸神缄默不语-个人CSDN博文目录 在学习HTML时,我们经常会看到HTML文档的开头出现<!DOCTYPE html>,它是HTML文件的第一行。很多初学者可能会疑惑,为什么需要这行代码?它到底有什么作用呢?在这篇文章中࿰…...
C语言之斗地主游戏
🌟 嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 C语言之斗地主游戏 目录 程序概述程序设计 Card类CardGroup类Player类LastCards类Land…...
【玩转全栈】----Django制作部门管理页面
目录 大致效果 BootStrap BootStrap简介 BootStrap配置 BootStrap使用 基本配置 部分代码解释及注意: 用户编辑: 新添数据: 删除数据: 大致效果 我先给个大致效果,基本融合了Django、Bootstrap、css、html等等。 基于D…...
Unreal Engine 5 C++ Advanced Action RPG 十章笔记
第十章 Survival Game Mode 2-Game Mode Test Map 设置游戏规则进行游戏玩法 生成敌人玩家是否死亡敌人死亡是否需要刷出更多 肯定:难度增加否定:玩家胜利 流程 新的游戏模式类游戏状态新的数据表来指定总共有多少波敌人生成逻辑UI告诉当前玩家的敌人波数 3-Survival Game M…...
学习ASP.NET Core的身份认证(基于JwtBearer的身份认证9)
测试数据库中只有之前记录温湿度及烟雾值的表中数据较多,在该数据库中增加AppUser表,用于登录用户身份查询,数据库表如下所示: 项目中安装SqlSugarCore包,然后修改控制器类的登录函数及分页查询数据函数ÿ…...
缓存之美:万文详解 Caffeine 实现原理(上)
由于社区最大字数限制,本文章将分为两篇,第二篇文章为缓存之美:万文详解 Caffeine 实现原理(下) 大家好,我是 方圆。文章将采用“总-分-总”的结构对配置固定大小元素驱逐策略的 Caffeine 缓存进行介绍&…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...
js 设置3秒后执行
如何在JavaScript中延迟3秒执行操作 在JavaScript中,要设置一个操作在指定延迟后(例如3秒)执行,可以使用 setTimeout 函数。setTimeout 是JavaScript的核心计时器方法,它接受两个参数: 要执行的函数&…...
2025-06-01-Hive 技术及应用介绍
Hive 技术及应用介绍 参考资料 Hive 技术原理Hive 架构及应用介绍Hive - 小海哥哥 de - 博客园https://cwiki.apache.org/confluence/display/Hive/Home(官方文档) Apache Hive 是基于 Hadoop 构建的数据仓库工具,它为海量结构化数据提供类 SQL 的查询能力…...
World-writable config file /etc/mysql/mysql.conf.d/my.cnf is ignored
https://stackoverflow.com/questions/53741107/mysql-in-docker-on-ubuntu-warning-world-writable-config-file-is-ignored 修改权限 -> 重启mysql # 检查字符集配置 SHOW VARIABLES WHERE Variable_name IN (character_set_server, character_set_database ); --------…...
