Starai Arm 机械臂ROS2 Moveit 使用教程
跟随臂 Viola | 领导臂 Violin | 跟随臂 Cello |
---|---|---|
![]() | ![]() | ![]() |
产品介绍
-
开源设计,便于二次开发
本系列伺服电机由华馨京科技提供,可打造开源且易于定制的6+1自由度机械臂解决方案。 -
多负载双臂系统
Violin作为主机械臂(Leader),在其臂展的70%伸展状态下,从机械臂(Follower)Viola的工作负载为300克,从机械臂(Follower)Cello的工作负载则为750克, Cello最大支持1000克。 -
支持ROS2、MoveIt2与Isaac Sim
支持通过ROS2(机器人操作系统2)发布和订阅机械臂数据话题并实现对机械臂的控制,同时支持通过MoveIt2完成运动学逆解计算,也可在Isaac Sim(NVIDIA机器人仿真平台)中进行仿真操作。 -
支持LeRobot平台集成
本产品专为集成LeRobot平台设计。该平台提供PyTorch模型、数据集及工具,可用于现实世界机器人任务中的模仿学习,涵盖数据采集、仿真、训练与部署等环节。 -
开源软件开发工具包(SDK)
支持Python与C++语言的SDK开发。 -
按键悬停功能
模仿重力补偿原理,可通过按键控制机械臂在任意位置悬停。 -
模块化末端执行器
支持用户自行DIY,实现快速替换。 -
丰富的学习资源
我们提供全面的开源学习资源,包括环境搭建指南、安装调试教程及自定义抓取任务示例,助力用户快速上手并开发机器人应用。 -
兼容NVIDIA平台
支持通过NVIDIA Jetson平台进行部署。
规格参数
项目(Item) | 跟随臂 | Viola | 领导臂 | Violin | 跟随臂 | Cello |
---|---|---|---|
自由度(Degrees of Freedom) | 6+1 | 6+1 | 6+1 |
最大工作半径(Reach) | 470毫米 | 470毫米 | 670毫米 |
最大臂展(Span) | 940毫米 | 940毫米 | 1340毫米 |
重复定位精度(Repeatability) | 2毫米 | - | 1毫米 |
工作负载(Working Payload) | 300克(在70%工作半径下) | - | 750克(在70%工作半径下) |
伺服电机(Servos) | RX8-U50H-M × 2 RA8-U25H-M × 4 RA8-U26H-M × 1 | RX8-U50H-M × 2 RA8-U25H-M × 4 RA8-U26H-M × 1 | RX18-U100H-M × 3 RX8-U50H-M × 3 RX8-U51H-M × 1 |
平行夹爪套件(Parallel Gripper Kit) | ✅(支持) | - | ✅(支持) |
腕部旋转(Wrist Rotate) | 支持(Yes) | 支持(Yes) | 支持(Yes) |
任意位置悬停(Hold at any Position) | 支持(Yes) | 支持(Yes,带手柄按键) | 支持(Yes) |
腕部相机安装座(Wrist Camera Mount) | 提供参考3D打印文件 | - | 提供参考3D打印文件 |
兼容LeRobot(Works with LeRobot) | ✅(兼容) | ✅(兼容) | ✅(兼容) |
兼容ROS 2(Works with ROS 2) | ✅(兼容) | ✅(兼容) | ✅(兼容) |
兼容MoveIt2(Works with MoveIt2) | ✅(兼容) | ✅(兼容) | ✅(兼容) |
兼容Gazebo(Works with Gazebo) | ✅(兼容) | ✅(兼容) | ✅(兼容) |
通信集线器(Communication Hub) | UC-01 | UC-01 | UC-01 |
电源适配器(Power Supply) | 12伏10安/120瓦,XT30接口 | 12伏10安/120瓦,XT30接口 | 12伏25安/300瓦,XT60接口 |
有关舵机更多资讯,请访问以下链接。
环境依赖
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
Codename: Jammy
ROS2: Humble
安装ROS2 Humble
安装Moveit2
sudo apt install ros-humble-moveit*
安装舵机SDK库
sudo pip install pyserial
sudo pip install fashionstar-uart-sdk
创建工作空间并初始化
mkdir -p ~/starai_ws/src
cd ~/starai_ws
colcon build
克隆starai-arm-moveit2功能包
cd ~/starai_ws/src
git clone https://github.com/Welt-liu/starai-arm-moveit2.git
cd ~/starai_ws
colcon build
echo "source ~/starai_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc
Viola机械臂
Starai Arm Moveit2仿真脚本(可选)
ros2 launch viola_configure demo.launch.py
使用真实的机械臂
Step 1:开启手臂控制节点
启动手臂硬件驱动,手臂会移动到零位。
ros2 launch viola_moveit_config driver.launch.py
Step 2: 启动Moveit2节点
ros2 launch viola_moveit_config actual_robot_demo.launch.py
Step 3: 手臂末端位姿读写示例
ros2 launch viola_moveit_config moveit_write_read.launch.py
Cello机械臂
Starai Arm Moveit2仿真脚本(可选)
ros2 launch cello_moveit_config demo.launch.py
使用真实的机械臂
Step 1:开启手臂控制节点
启动手臂硬件驱动,手臂会移动到零位。
ros2 launch cello_moveit_config driver.launch.py
Step 2: 启动Moveit2节点
ros2 launch cello_moveit_config actual_robot_demo.launch.py
Step 3: 手臂末端位姿读写示例
ros2 launch cello_moveit_config moveit_write_read.launch.py
位姿话题发送节点示例
请更新文件src/arm_moveit_write/src/topic_publisher.cpp
// // viola
// dataset1_ = {
// {0.003, -0.204, 0.274}, // position
// {0.014, 0.717, 0.017, 0.696}, // orientation
// "open" // gripper_state
// };
// dataset2_ = {
// {-0.00, -0.34, 0.177}, // position
// {0.0, 0.7071, 0.0, 0.7071}, // orientation
// "close" // gripper_state
// };
// cello
dataset1_ = {
{-0.278, 0.000, 0.438}, // position
{0.707, 0.000, -0.707, 0.000}, // orientation
"open" // gripper_state
};
dataset2_ = {
{-0.479, -0.000, 0.369}, // position
{0.707, -0.000, -0.707, 0.000}, // orientation
"close" // gripper_state
}
colcon build
source install/setup.sh
ros2 run arm_moveit_write topic_publisher
FAQ
-
如果rivz2界面出现频闪,可以尝试以下指令:
export QT_AUTO_SCREEN_SCALE_FACTOR=0