大象机器人发布首款穿戴式数据采集器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 缓存进行介绍&…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

Linux中《基础IO》详细介绍
目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...