当前位置: 首页 > news >正文

大象机器人发布首款穿戴式数据采集器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 个按钮,它提供高数据采集速度,出色的兼容性&#xff0c…...

【银河麒麟高级服务器操作系统】业务访问慢网卡丢包现象分析及处理过程

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区: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实现随机生成字符串(可指定长度)”,当时写的过于简单和传统,比较粗放。此次针对此问题,对随机生成字符串的功能进行优化处理,对随机取到的字符都通过程序自动来完成。 在写之前&#xff…...

速通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时&#xff0c;我们经常会看到HTML文档的开头出现<!DOCTYPE html>&#xff0c;它是HTML文件的第一行。很多初学者可能会疑惑&#xff0c;为什么需要这行代码&#xff1f;它到底有什么作用呢&#xff1f;在这篇文章中&#xff0…...

C语言之斗地主游戏

&#x1f31f; 嗨&#xff0c;我是LucianaiB&#xff01; &#x1f30d; 总有人间一两风&#xff0c;填我十万八千梦。 &#x1f680; 路漫漫其修远兮&#xff0c;吾将上下而求索。 ​ C语言之斗地主游戏 目录 程序概述程序设计 Card类CardGroup类Player类LastCards类Land…...

【玩转全栈】----Django制作部门管理页面

目录 大致效果 BootStrap BootStrap简介 BootStrap配置 BootStrap使用 基本配置 部分代码解释及注意&#xff1a; 用户编辑&#xff1a; 新添数据&#xff1a; 删除数据&#xff1a; 大致效果 我先给个大致效果&#xff0c;基本融合了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)

测试数据库中只有之前记录温湿度及烟雾值的表中数据较多&#xff0c;在该数据库中增加AppUser表&#xff0c;用于登录用户身份查询&#xff0c;数据库表如下所示&#xff1a;   项目中安装SqlSugarCore包&#xff0c;然后修改控制器类的登录函数及分页查询数据函数&#xff…...

缓存之美:万文详解 Caffeine 实现原理(上)

由于社区最大字数限制&#xff0c;本文章将分为两篇&#xff0c;第二篇文章为缓存之美&#xff1a;万文详解 Caffeine 实现原理&#xff08;下&#xff09; 大家好&#xff0c;我是 方圆。文章将采用“总-分-总”的结构对配置固定大小元素驱逐策略的 Caffeine 缓存进行介绍&…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天&#xff0c;通信网络的角色正变得愈发关键。 2025年6月6日&#xff0c;为期三天的华南国际工业博览会在深圳国际会展中心&#xff08;宝安&#xff09;圆满落幕。作为国内工业通信领域的技术型企业&#xff0c;光路科技&#xff08;Fiberroad&…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1&#xff1a;通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分&#xff0c;设置 Gradle JDK 方法2&#xff1a;通过 Settings File → Settings... (或 CtrlAltS)…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展&#xff0c;其高效、便捷、协议开放、易于冗余等诸多优点&#xff0c;被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口&#xff0c;具有实时性、开放性&#xff0c;使用TCP/IP和IT标准&#xff0c;符合基于工业以太网的…...

【实施指南】Android客户端HTTPS双向认证实施指南

&#x1f510; 一、所需准备材料 证书文件&#xff08;6类核心文件&#xff09; 类型 格式 作用 Android端要求 CA根证书 .crt/.pem 验证服务器/客户端证书合法性 需预置到Android信任库 服务器证书 .crt 服务器身份证明 客户端需持有以验证服务器 客户端证书 .crt 客户端身份…...

【51单片机】4. 模块化编程与LCD1602Debug

1. 什么是模块化编程 传统编程会将所有函数放在main.c中&#xff0c;如果使用的模块多&#xff0c;一个文件内会有很多代码&#xff0c;不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里&#xff0c;在.h文件里提供外部可调用函数声明&#xff0c;其他.c文…...

Python的__call__ 方法

在 Python 中&#xff0c;__call__ 是一个特殊的魔术方法&#xff08;magic method&#xff09;&#xff0c;它允许一个类的实例像函数一样被调用。当你在一个对象后面加上 () 并执行时&#xff08;例如 obj()&#xff09;&#xff0c;Python 会自动调用该对象的 __call__ 方法…...