Skip to main content

Starai Arm 机械臂ROS2 Moveit 使用教程

跟随臂 Viola领导臂 Violin跟随臂 Cello
fig1fig2fig3

产品介绍

  1. 开源设计,便于二次开发
    本系列伺服电机由华馨京科技提供,可打造开源且易于定制的6+1自由度机械臂解决方案。

  2. 多负载双臂系统
    Violin作为主机械臂(Leader),在其臂展的70%伸展状态下,从机械臂(Follower)Viola的工作负载为300克,从机械臂(Follower)Cello的工作负载则为750克, Cello最大支持1000克。

  3. 支持ROS2、MoveIt2与Isaac Sim
    支持通过ROS2(机器人操作系统2)发布和订阅机械臂数据话题并实现对机械臂的控制,同时支持通过MoveIt2完成运动学逆解计算,也可在Isaac Sim(NVIDIA机器人仿真平台)中进行仿真操作。

  4. 支持LeRobot平台集成
    本产品专为集成LeRobot平台设计。该平台提供PyTorch模型、数据集及工具,可用于现实世界机器人任务中的模仿学习,涵盖数据采集、仿真、训练与部署等环节。

  5. 开源软件开发工具包(SDK)
    支持Python与C++语言的SDK开发。

  6. 按键悬停功能
    模仿重力补偿原理,可通过按键控制机械臂在任意位置悬停。

  7. 模块化末端执行器
    支持用户自行DIY,实现快速替换。

  8. 丰富的学习资源
    我们提供全面的开源学习资源,包括环境搭建指南、安装调试教程及自定义抓取任务示例,助力用户快速上手并开发机器人应用。

  9. 兼容NVIDIA平台
    支持通过NVIDIA Jetson平台进行部署。

规格参数

项目(Item)跟随臂 | Viola领导臂 | Violin跟随臂 | Cello
自由度(Degrees of Freedom)6+16+16+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-01UC-01UC-01
电源适配器(Power Supply)12伏10安/120瓦,XT30接口12伏10安/120瓦,XT30接口12伏25安/300瓦,XT60接口

有关舵机更多资讯,请访问以下链接。

RA8-U25H-M

RX18-U100H-M

RX8-U50H-M

环境依赖

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 22.04.5 LTS

Release: 22.04

Codename: Jammy

ROS2: Humble

安装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
Loading Comments...