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

WSL2中 RViz2加载so101 urdf

SO101 ROS2 Bringup

SO101 机械臂 (6-DOF, STS3215 舵机) 的 ROS2 驱动包。

当前实现用自定义so101_hardware_bridge做串口桥接,未接入ros2_controlconfig/so101_controllers.yaml仅作后续升级参考。

架构

真机模式(默认):

/dev/ttyACM* → so101_hardware_bridge → /joint_states → robot_state_publisher → /tf → RViz2 ↑ /joint_commands (用户节点 / so101_test_control)

调试模式use_joint_state_gui:=true,不启硬件):

joint_state_publisher_gui → /joint_states → robot_state_publisher → /tf → RViz2

与硬件桥接互斥:开 GUI 时不会启动so101_hardware_bridge

前置条件

依赖包

sudoaptinstall-y\ros-humble-robot-state-publisher\ros-humble-joint-state-publisher\ros-humble-joint-state-publisher-gui\ros-humble-rviz2\python3-colcon-common-extensions pipinstallpyserial# 真机串口需要

WSL2 USB 转发(仅真机)

# Windows PowerShell (管理员)winget install usbipd usbipd list usbipd bind--busid <BUSID> usbipd attach--wsl--busid <BUSID>
sudochmod666/dev/ttyACM1# 或: sudo usermod -aG dialout $USER 后重新登录

编译

若 shell 里 conda/miniforge 的python3优先,请先保证系统 Python:

exportPATH="/usr/bin:$PATH"cd~/robot-urdfs/so101/so101_bringup colcon build --symlink-installsourceinstall/setup.bash

包内 URDF 使用package://so101_bringup/assets/...;仓库根目录so101/so101_new_calib.urdf仍是file://绝对路径,请优先用包内版本

运行

重要 (WSL2):启动 RViz2 前必须使用软件 OpenGL,否则可能导致整机黑屏无法恢复。
launch 已自动设置LIBGL_ALWAYS_SOFTWARE=1。若手动启动rviz2,请先:

exportLIBGL_ALWAYS_SOFTWARE=1

调试(无真机,GUI 滑块 + RViz)

ros2 launch so101_bringup so101.launch.py use_joint_state_gui:=true

RViz 只负责显示;关节由弹出的Joint State Publisher滑块控制(不是在 RViz 视口里拖模型)。

真机(硬件桥接 + RViz)

ros2 launch so101_bringup so101.launch.py port:=/dev/ttyACM1

仅硬件桥接(不启 RViz)

ros2 launch so101_bringup so101.launch.py use_rviz:=false

控制机械臂(真机)

方式 1: 发布关节角度(弧度,顺序见下表)

ros2 topic pub /joint_commands std_msgs/msg/Float64MultiArray\"{data: [0, 0, 0, 0, 0, 0]}"-1

方式 2: 键盘测试节点

# 另开终端,先 source install/setup.bashros2 run so101_bringup so101_test_control

方式 3: Python

importrclpyfromstd_msgs.msgimportFloat64MultiArray rclpy.init()node=rclpy.create_node('so101_controller')pub=node.create_publisher(Float64MultiArray,'joint_commands',10)msg=Float64MultiArray()msg.data=[0.0,0.5,-0.8,0.0,0.0,0.0]pub.publish(msg)

查看状态

ros2 topicecho/joint_states# 当前实现主要发布 positionros2 run tf2_tools view_frames

话题

话题类型方向说明
/joint_statessensor_msgs/JointState桥接/GUI →关节位置(桥接当前主要填 position)
/joint_commandsstd_msgs/Float64MultiArray→ 桥接目标关节角(弧度),仅真机模式
/tftf2_msgs/TFMessagerobot_state_publisher坐标系变换
/robot_description参数/话题robot_state_publisherURDF

Launch 参数

参数默认值说明
port/dev/ttyACM1串口(真机)
baudrate1000000波特率
publish_rate50.0状态发布频率 (Hz)
use_rviztrue是否启动 RViz2
use_joint_state_guifalsetrue时用 GUI、不启硬件桥接
urdf_file包内urdf/so101_new_calib.urdfURDF 路径

硬件桥接节点内部参数(也可在 launch 中覆盖):

参数默认值说明
servo_ids[1,2,3,4,5,6]舵机 ID
joint_names见下表关节名
default_speed500舵机速度

关节顺序(与/joint_commandsdata 下标一致)

下标关节名舵机 ID
0shoulder_pan1
1shoulder_lift2
2elbow_flex3
3wrist_flex4
4wrist_roll5
5gripper6

环境检查

更完整的安装与排错见 docs/ENV_SETUP.md。也可运行:

bashscripts/check_env.sh

效果

Reference

lerobot-so101-rviz2

http://www.jsqmd.com/news/1229476/

相关文章:

  • i-book.in_Archive移动端适配:响应式设计的实现与优化
  • explicit-architecture-php依赖管理秘籍:如何确保组件间的清晰边界
  • 现在应届生有没有必要先去参加培训再就业?PCB方向分析
  • 玉溪防水补漏正规公司推荐(2026新版)阳台防水补漏专项指南 - 吉林同城获客
  • 多功能手持气象站详细介绍,集成十多项气象要素支持 GNSS 定位数据长期存储
  • RedisInsight战略转型:从命令行工具到数据资产治理平台的技术范式演进
  • 2026防城港奢侈品回收排名 TOP5 国家资质 名表 + 名包 + 钻石回收、劳力士 + LV + 香奈儿回收 无套路 联系方式推荐 - 中业金奢再生回收中心
  • 告别歌词缺失的烦恼:如何用163MusicLyrics一站式解决你的音乐收藏难题
  • DOSBox-X终极指南:如何轻松玩转复古游戏与Windows系统
  • HarmonyOS应用开发实战:小事记 - Blank 与 Divider 的使用哲学:占比分配与视觉分割
  • 2026吉安奢侈品回收排名 TOP5 国家资质 名表 + 名包 + 钻石回收、劳力士 + LV + 香奈儿回收 无套路 联系方式推荐 - 中业金奢再生回收中心
  • 如何用ComfyUI-WanVideoWrapper轻松制作专业级AI视频:面向初学者的完整指南
  • 非遗滚灯:中国古代姿态稳定机械体系溯源与美学研究
  • 如何快速使用升讯威微信营销系统的1元夺宝与摇一摇抽奖功能
  • 重新定义JSON数据验证:Ajv架构解析与性能革命
  • VideoTreeSearch:基于树形自校正智能体的长视频时序定位问答
  • 我的计算机架构学习之路思考:虚拟计算VM——从技术抽象到商业重构
  • 拒绝满仓死扛:如何用 Python 配合 QuantDash 实时数据计算 ATR 并构建动态头寸管理系统?(附真实运行数据与 GitHub 源码)
  • Drain3配置秘籍:优化sim_th与max_clusters参数提升日志聚类准确率
  • 从佛山到全球:高益PVC瓦,用25年质保重新定义屋面耐用标准 - 速递信息
  • 自动气象站如何做到精准、高效、全面?
  • 鲁班木鸢史料溯源与现代力学、机械工程可行性全维度研究
  • 科多笙286全波段收音机评测:最小体积下的最强性能
  • v-hotkey社区贡献指南:从问题报告到代码提交的完整流程
  • Rust Rocket框架核心组件解析:基于gh_mirrors/re/realworld-rust-rocket项目
  • 2026 延边装修口碑榜单|柒星装饰凭原创设计、东北精工与透明整装赢得延吉业主认可 - 商业先知
  • 从零开始掌握 OpenCV:发展历程、核心应用与 Python 环境搭建
  • 2026怀化数码家电回收排名 TOP5 回收办公电脑显示器,废旧空调冰柜洗衣机高价回收 手机回收无套路 联系方式推荐 - 诚金汇钻回收公司
  • Windows平板选购指南:从入门到准专业的性价比之选
  • 木牛流马全维度辨析:一件战时物流工具,跨越一千八百年的分层神话