Terminology

Minima机械臂系统架构

工业机械臂平台架构主要包括机械臂本体、电源供应、控制器、传感器和中央处理器(电脑)。我们的教育机械臂展现了工业机械臂的核心组成部分,但采用了更经济实惠的替代方案:

系统组成 工业机械臂 MINIMA
电源系统 三相高压电源(380V/220V)驱动大功率伺服电机 6V直流电源驱动舵机
通讯协议 CAN总线或EtherCAT等工业级通讯协议 I2C协议
控制系统 专业的PLC或工控机 ESP32微控制器
驱动系统 伺服电机、减速器和专业驱动器 集成驱动电路的数字舵机
计算机系统 根据时间严格把控优先级的操作系统 普通家用电脑

机械臂基础术语

关节类型 (Joint Types)

  • Revolute (旋转关节) - 允许绕固定轴旋转的关节,类似于门的铰链。这是机械臂中最常见的关节类型,具有一个旋转自由度,运动范围通常在0°到360°之间。
  • Prismatic (移动关节) - 允许沿直线方向移动的关节,类似于活塞运动。具有一个平移自由度,常见于龙门式机械臂或伸缩臂中。
  • Continuous (连续关节) - 可以无限制地连续旋转的关节,没有角度限制,常用于末端旋转轴或传送带系统。
  • Fixed (固定关节) - 没有运动自由度的连接,用于固定连接两个刚体部分,常用于结构性连接或工具安装。

自由度 (Degrees of Freedom, DOF)

自由度是指机械臂在空间中独立运动的方向数量。一个物体在三维空间中最多有6个自由度:3个平移自由度(X、Y、Z轴方向)和3个旋转自由度(绕X、Y、Z轴旋转)。

  • 关节自由度 - 机械臂的总关节数,每个独立关节提供一个自由度。例如,Minima机械臂有5个旋转关节,即5个自由度。
  • 末端自由度 - 机械臂末端执行器在空间中可以实现的独立运动数量。要完全控制末端的位置和姿态,通常需要6个自由度。
  • 冗余自由度 - 当机械臂的关节数超过6个时,额外的自由度可以提供更灵活的路径规划和避障能力。

传动系统

  • 减速比 (Gear Ratio) - 电机转速与输出转速之比。较高的减速比可以提供更大的扭矩和更高的精度,但会降低运动速度。例如,减速比为100:1意味着电机旋转100圈,输出轴只旋转1圈。
  • 扭矩 (Torque) - 关节产生的旋转力,通常以牛顿·米(N·m)为单位。更大的扭矩允许机械臂举起更重的负载。
  • 负载能力 (Payload Capacity) - 机械臂末端可以承载的最大重量,受关节扭矩和机械结构强度的限制。

运动学 (Kinematics)

  • 正向运动学 (Forward Kinematics, FK) - 已知各关节的角度,计算机械臂末端执行器在空间中的位置和姿态。这是一个直接的数学计算过程,通常使用DH参数(Denavit-Hartenberg参数)和齐次变换矩阵来实现。
  • 逆向运动学 (Inverse Kinematics, IK) - 已知末端执行器期望的位置和姿态,反向计算各关节需要的角度。这是一个更复杂的问题,可能存在多个解、无解或无穷多解的情况。常用算法包括解析解法、几何法和数值迭代法(如Jacobian方法、LM算法等)。
  • 工作空间 (Workspace) - 机械臂末端执行器可以到达的所有位置的集合。工作空间分析对于任务规划和安全评估至关重要。
  • 奇异点 (Singularity) - 机械臂在某些配置下,会失去一个或多个自由度的位置。在奇异点附近,微小的末端运动可能需要关节的极大速度变化。

轨迹与路径规划

  • 路径规划 (Path Planning) - 确定机械臂从起始位置到目标位置的运动路线,考虑避障、关节限位等约束条件。常见算法包括RRT(快速随机树)、PRM(概率路线图)等。
  • 轨迹规划 (Trajectory Planning) - 在路径基础上,进一步确定机械臂在每个时刻的位置、速度和加速度,确保运动平滑且在物理限制范围内。
  • 路径优化 (Path Optimization) - 对已规划的路径进行优化,目标可能包括:最短路径、最短时间、最小能耗、最平滑运动等。常用方法有CHOMP(协方差哈密顿优化)、TrajOpt等。
  • 插补 (Interpolation) - 在两个路径点之间生成平滑的中间点,常见的插补方式包括:
    • 线性插补 (Linear) - 末端执行器沿直线移动
    • 关节插补 (Joint) - 各关节以固定速度比同步运动
    • 圆弧插补 (Circular) - 末端执行器沿圆弧路径移动
    • 样条插补 (Spline) - 使用样条曲线生成平滑轨迹

运动控制

  • PTP (Point-to-Point) - 点到点运动,机械臂以最快速度从当前位置移动到目标位置,不保证路径形状,通常用于无障碍环境下的快速移动。
  • LIN (Linear) - 线性运动,末端执行器沿直线路径移动到目标位置,适用于需要精确路径的应用,如焊接、涂胶等。
  • CIRC (Circular) - 圆弧运动,末端执行器沿圆弧路径移动,需要指定中间点或圆心,常用于曲线轨迹跟踪。
  • 速度控制 (Velocity Control) - 控制机械臂运动的速度,包括关节速度和末端笛卡尔速度。
  • 加速度限制 (Acceleration Limits) - 限制运动的加速度,以保护机械结构和提高运动平滑性。

坐标系统

  • 基坐标系 (Base Frame) - 固定在机械臂基座上的参考坐标系,作为整个机械臂的基准。
  • 工具坐标系 (Tool Frame, TCP) - 固定在末端工具上的坐标系,TCP(Tool Center Point)是工具的控制点,通常是工具的尖端或中心。
  • 工件坐标系 (Workpiece Frame) - 固定在工件上的坐标系,方便编程时以工件为参考。
  • 关节空间 (Joint Space) - 以各关节角度为变量描述机械臂状态的空间。
  • 笛卡尔空间 (Cartesian Space) - 以末端执行器的位置(X, Y, Z)和姿态(Roll, Pitch, Yaw)描述的空间。

机器人描述格式

  • URDF (Unified Robot Description Format) - 统一机器人描述格式,使用XML语法描述机器人的物理结构、关节、连杆和传感器等信息,是ROS系统中的标准格式。
  • Xacro - URDF的扩展格式,支持宏定义、参数化和模块化,使机器人描述更加简洁和可维护。
  • DH参数 (Denavit-Hartenberg Parameters) - 一种用四个参数描述相邻连杆之间关系的标准方法,包括连杆长度(a)、连杆扭角(α)、关节偏移(d)和关节角(θ)。

控制与通信

  • PID控制 - 比例-积分-微分控制器,是最常用的闭环控制算法,用于精确控制关节位置和速度。
  • 串口通信 (Serial Communication) - 通过串行端口进行数据传输,常用协议包括RS-232、RS-485等。
  • I2C协议 - 一种同步串行通信协议,适用于短距离、低速设备间的通信,Minima使用I2C协议控制舵机。
  • CAN总线 - 控制器局域网,工业机械臂常用的实时通信协议,具有高可靠性和抗干扰能力。
  • 实时控制 (Real-time Control) - 保证控制指令在规定时间内执行,对机械臂的稳定性和精度至关重要。

了解这些基础术语将帮助您更好地理解机械臂的工作原理和控制方法。本页面后续内容将指导您完成从环境准备到实际操作Minima机械臂的各项流程。


Minima


用户手册

1. 产品参数

  • 精度: ±0.1mm
  • 工作电压: 6V DC
  • 自由度: 5轴
  • 主要材料: ABS (FDM)
  • 通讯方式: USB串口/支持wifi,蓝牙拓展
  • 电机: 高精度金属舵机
  • 最大负载: 500g
  • 工作范围: 半径约150mm

2. 装配

请安装详细装配图对机械臂进行安装:下载装配图

请根据电路图对内部电路进行确认和维护: 下载电路图

装配视频教程:观看装配视频

3. 注意事项

  • 使用前请仔细阅读说明书,确保正确连接所有部件。
  • 首次使用时,请使用我们的软件进行校准,并确保所有关节运动正常。
  • 请勿超过最大负载限制,以免损坏电机或机械结构。
  • 在进行任何维护或调整之前,请务必断开电源。
  • 使用过程中如遇到异常情况,请先尝试重启机械臂(包括断电重启和软件内重启)。
  • 请将机械臂放置在平稳的表面上使用,避免意外跌落。
  • 本产品面向青少年和成人,儿童使用时需有成人监督。

如需更多详细信息或技术支持,请联系我们的客户服务团队。


软件下载

如果您不使用电位器控制器,可以下载我们提供的通用软件来控制 Minima 机械臂。我们为不同操作系统(Windows、macOS、Linux)提供了相应的软件版本。

上位机软件Noman-app

请访问我们的 GitHub Releases 页面下载适合您操作系统的最新版本:

下载 Noman-app(Windows, MacOS, Ubuntu)

下载并安装适合您操作系统的版本后,请参考软件使用说明进行操作。如遇到任何问题,请联系我们的技术支持。

机械臂主控固件

注意:机械臂主控固件已预先安装在您的机械臂中,用户通常无需自行下载或安装。如果您需要重新安装固件或进行手动更新,可以从以下链接下载最新版本的固件:下载 Minima 机械臂固件

我们建议通过软件自动烧录固件。只需在Noman-app中找到"固件"选项,然后按照提示进行操作烧录最新固件。


ROS

Step 1: 准备您的环境

ROS版本对应固定的Ubuntu版本。本机械臂在Ubuntu 20.04 LTS环境下使用ROS noetic开发,以下说明和教程安装均在ROS noetic下完成。您可以在虚拟机(VirtualBox, Vmware Workstation Pro等)或者物理Ubuntu系统下安装镜像文件

通常情况下,安装物理的Ubuntu系统是更好的选择,因为在虚拟机中,3D加速和USB设备的支持会受到限制。

注意:您可以在树莓派上安装ROS,但不幸的是,它的性能不足以运行Rviz中的模拟,更不用说Gazebo了。

  1. 配置ROS环境。请按照这个快速安装指南在对应Ubuntu版本上安装ROS。您需要依照每一步骤在终端下完成安装。
  2. MoveIt!是ROS中用于移动操作的软件包。检查MoveIt!是否正常工作。运行以下命令:
    roslaunch panda_moveit_config demo.launch rviz_tutorial:=true
    如果您愿意,可以按照MoveIt基础教程进行操作。

然后,您可以直接下载我们预处理完成的ROS workspace,其中包括URDF文件和Moveit!配置包。如果想深入了解ROS机械臂配置过程,可以根据以下两步指南进行手动配置。

Step 2: Unified Robot Description Format (URDF)

我们已经为您准备好了Minima的统一机器人描述格式文件。您可以从我们的GitHub仓库下载这个URDF文件

我们将简要介绍URDF文件的结构和内容,以帮助您更好地理解它,并在将来编写自己的URDF文件时作为参考。

连接(Links)

连接是机器人的各个部分,如手腕或平台。它们具有以下属性:

  • 用于在Rviz和Gazebo中进行视觉表示。使用高质量的网格模型。
  • 用于路径规划期间的碰撞检查。建议使用低质量的网格模型,但为了教程的目的,我们使用与视觉相同的模型。

关节(Joints)

URDF中的关节是链接之间的连接,描述了它们之间的相对位置和运动方式。它们具有以下属性:

  • 关节的旋转方向(沿x、y或z轴)
  • 关节的最小和最大角度(以弧度为单位)。仅适用于"revolute"类型的关节("continuous"类型的关节没有限制,因为它们可以连续旋转)
  • 关节相对于原点的位置
  • 描述哪两个链接通过该关节连接

使用3D网格模型

如果您使用的是与我相同的机械臂,您需要将机械臂的3D网格模型复制到urdf_tutorial包文件夹中。使用以下命令:

sudo cp <要复制的文件名> /opt/ros/kinetic/share/urdf_tutorial/meshes/

如果您使用自己的网格模型,请确保在将它们导出为二进制STL格式之前,它们在3D建模软件中以原点(xyz 000)为中心。

在Rviz中可视化结果

现在您可以启动Rviz来可视化结果,使用以下命令:

>roslaunch urdf_tutorial display.launch model:=arm.urdf

(从您刚刚创建的URDF文件所在的文件夹中启动)

检查关节和链接,确保它们的旋转和位置完全符合预期。如果一切正常,请继续下一步。

Step 3: 使用MoveIt Setup Assistant创建机器人配置

现在您的URDF文件已经准备好了,是时候将它转换为机器人配置包了。

使用以下命令启动MoveIt Setup Assistant:

>roslaunch moveit_setup_assistant setup_assistant.launch

这个过程在MoveIt官方教程中有非常详细的描述:您可以在这里找到。

创建配置包后:进入您的catkin工作空间文件夹并执行以下命令来构建包:

>catkin make
>source devel/setup.bash

现在您可以使用以下命令启动它:

>roslaunch my_arm_xacro demo.launch rviz_tutorial:=true

其中,您需要将"my_arm_xacro"更改为您的包的名称。

Step 4: 连接控制板至ROS

在我们的案例中,ESP32运行一个带有rosserial的ROS节点将作为机器人控制器。ESP32的代码附加在此步骤中,也可以在GitHub上获取。

在ESP32上运行的ROS节点基本上订阅了在运行MoveIt的计算机上发布的/JointState主题,然后将数组中的关节角度从弧度转换为度,并使用ESP32的PWM功能将它们传递给伺服电机。

这不是工业机器人的标准做法。理想情况下,您应该在/FollowJointState主题上发布运动轨迹,然后在/JointState主题上接收反馈。但在我们的机械臂中,舵机无法提供反馈,所以我们将直接订阅由FakeRobotController节点发布的/JointState主题。我们假设传递给电机的任何角度没有任何误差。

有关rosserial如何工作的更多信息,您可以参考以下教程:

http://wiki.ros.org/rosserial_arduino/Tutorials

将代码上传到ESP32后,您需要使用USB或Wi-Fi将其连接到运行ROS安装的计算机。

使用USB连接至机械臂后,执行以下命令以进行串口通讯:

>roslaunch my_arm_xacro demo.launch rviz_tutorial:=true
>sudo chmod -R 777 /dev/ttyUSB0
>rosrun rosserial_python serial_node.py _port:=/dev/ttyUSB0 _baud:=115200 

现在,您可以使用RVIZ中的交互式标记将机器人手臂移动到某个姿势,然后按下"Plan"和"Execute",使其实际移动到该位置。


ROS2

本节将指导您在ROS2环境下配置和使用Minima机械臂。我们同样使用Ubuntu 22.04 LTS但是这次安装ROS2 Humble。

根据官方教程,ROS2支持Linux和Windows系统。我们将分别对Linux和Windows系统进行配置。但是,我们仍然建议使用Linux环境。

Linux环境配置

  1. 配置ROS2环境。请按照这个快速安装指南在对应Ubuntu版本上安装ROS2。您需要依照每一步骤在终端下完成安装。
  2. MoveIt!是ROS中用于移动操作的软件包。检查MoveIt!是否配置成功。运行以下命令:
    roslaunch panda_moveit_config demo.launch rviz_tutorial:=true
    如果您愿意,可以按照MoveIt基础教程进行操作。
  3. 然后,您可以直接下载我们预处理完成的ROS2 workspace,其中包括URDF文件和MoveIt2配置包。
  4. 创建配置包后,进入您的工作空间并编译:
    cd ~/ros2_ws
    colcon build
    source install/setup.bash
  5. 启动MoveIt2配置:
    ros2 launch my_robot_moveit_config demo.launch.py
  6. 在ROS2中,我们使用micro-ROS替代了ROS1中的rosserial。ESP32运行micro-ROS客户端,与ROS2节点进行通信。micro-ROS节点订阅/joint_states话题,将关节角度从弧度转换为度,并通过PWM控制舵机。有关micro-ROS的更多信息,请参考micro-ROS教程
  7. 通过USB物理连接机械臂:
    ros2 launch my_robot_moveit_config demo.launch.py
    sudo chmod 666 /dev/ttyUSB0
    ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyUSB0 -b 115200
  8. 现在您可以在RViz2中使用交互式标记控制机械臂,规划并执行运动。

Windows环境配置

  1. 配置ROS2环境。在Windows系统下,我们使用Chocolatey包管理器来安装ROS2。
  2. 打开拥有管理员权限的命令提示符并输入以下命令来通过Chocolatey安装Python:
    choco install -y python --version 3.8.3

    注意:Chocolatey会将Python安装在C:\Python38目录下,后续安装步骤都假定Python安装在该位置。如果您将Python安装在其他位置,必须将其复制或链接到此位置。

  3. 安装Visual C++运行时库。打开命令提示符并输入以下命令通过Chocolatey安装:
    choco install -y vcredist2013 vcredist140
  4. 安装OpenSSL:
    1. 从OpenSSL官网下载Win64 OpenSSL v1.1.1t安装包。请注意不要下载Win32或Light版本,也不要下载v3.X.Y版本的安装包。
    2. OpenSSL官网已经不再支持预编译的1.1.1版本。您可在OpenSSL releases下载源码,或使用Chocolatey包管理器(推荐)安装OpenSSL 1.1.1:
      choco install openssl --version=1.1.1.1400
    3. 打开命令提示符,运行以下命令设置环境变量:
      setx /m OPENSSL_CONF "C:\Program Files\OpenSSL-Win64\bin\openssl.cfg"
    4. 将OpenSSL添加到系统PATH:
      • 点击Windows图标,输入"Environment Variables"
      • 点击"编辑系统环境变量"
      • 在弹出的对话框中点击"环境变量"
      • 在下方窗格中选择"Path"变量并点击"编辑"
      • 添加以下路径:C:\Program Files\OpenSSL-Win64\bin\
  5. 安装Visual Studio 2019:
    1. 如果您已经安装了Visual Studio 2019的付费版本(Professional或Enterprise),可以跳过此步骤。
    2. Microsoft提供免费的VS 2019 Community版本。您可以通过官方链接下载安装程序。
    3. 确保安装Visual C++功能:
      • 在安装过程中选择"使用C++的桌面开发"工作流
      • 在安装组件列表中取消选择所有C++ CMake工具
  6. 安装OpenCV:
    1. 下载预编译的OpenCV 3.4.6版本:
      • 此链接下载OpenCV 3.4.6
      • 将下载的文件解压到C:\opencv目录
    2. 以管理员权限打开命令提示符,运行以下命令设置环境变量:
      setx /m OpenCV_DIR C:\opencv
    3. 将OpenCV添加到系统环境变量PATH。添加以下路径:C:\opencv\x64\vc16\bin
  7. 安装CMake和其他依赖项:
    1. 使用Chocolatey安装CMake:
      choco install -y cmake
    2. 将CMake添加到系统环境变量PATH。添加以下路径:C:\Program Files\CMake\bin
    3. ROS2 Chocolatey包发布页面下载以下包:
      • asio.1.12.1.nupkg
      • bullet.3.17.nupkg
      • cunit.2.1.3.nupkg
      • eigen.3.3.4.nupkg
      • tinyxml-usestl.2.6.2.nupkg
      • tinyxml2.6.0.0.nupkg
    4. 以管理员权限打开命令提示符,运行以下命令安装这些包(请将 <PATH\TO\DOWNLOADS> 替换为您下载包的实际路径):
      choco install -y -s <PATH\TO\DOWNLOADS> asio cunit eigen tinyxml-usestl tinyxml2 bullet
    5. 升级pip和setuptools:
      python -m pip install -U pip setuptools==59.6.0
    6. 安装ROS2所需的Python依赖:
      python -m pip install -U catkin_pkg cryptography empy importlib-metadata jsonschema lark==1.1.1 lxml matplotlib netifaces numpy opencv-python PyQt5 pillow psutil pycairo pydot pyparsing==2.4.7 pyyaml rosdistro
    7. 安装xmllint:
      1. https://www.zlatkovic.com/projects/libxml/ 下载以下64位二进制文件:
        • iconv
        • libxml2
        • zlib
      2. 将所有文件解压到 C:\xmllint 目录
      3. 将xmllint添加到系统环境变量PATH,添加以下路径:C:\xmllint\bin
    8. 安装Qt:
      1. Qt官网下载Qt 5.12.X离线安装包
      2. 运行安装程序,在Qt -> Qt 5.12.12目录下选择MSVC 2017 64-bit组件
      3. 以管理员权限打开命令提示符,设置以下环境变量(假设Qt安装在默认位置C:\Qt):
        setx /m Qt5_DIR C:\Qt\Qt5.12.12\5.12.12\msvc2017_64
        setx /m QT_QPA_PLATFORM_PLUGIN_PATH C:\Qt\Qt5.12.12\5.12.12\msvc2017_64\plugins\platforms

        注意:根据实际安装的MSVC版本、Qt安装目录和Qt版本,以上路径可能需要调整。

    9. 安装Graphviz:
      1. Graphviz官网下载Windows安装包
      2. 运行安装程序,在安装过程中选择将Graphviz添加到系统PATH(可以选择"当前用户"或"所有用户")
      3. 注意:Graphviz是运行rqt_graph所必需的依赖项。

    10. 下载并安装ROS2:
      1. 访问ROS2发布页面
      2. 下载最新的Windows安装包(例如:ros2-package-windows-AMD64.zip)

        注意:可能会有多个二进制下载选项,文件名可能会有所不同。

      3. 将下载的zip文件解压到指定目录(例如:C:\dev\ros2_humble)
    11. 设置ROS2环境:
      1. 打开命令提示符,运行以下命令来设置ROS2工作空间:
        call C:\dev\ros2_iron\local_setup.bat

        注意:如果命令执行后出现一次"系统找不到指定的路径"的提示是正常现象,只要没有其他错误即可。

      2. 若您仍然遇到问题请尝试运行这个脚本修复环境和安装确实的依赖


Noman-app

Noman-app是一个轻量级、跨平台的机械臂用户界面。它为路径规划、碰撞避免和自动化提供了易用的解决方案。同时,后端结合了路径规划与自动化功能,如PTP、LIN和CIRC运动,这些功能通常出现在KRL和RoboDK等工业级应用中。

GitHub: https://github.com/NoManRobotics/noman-app

Noman-app包含以下主要功能模块:

  • 机器人配置 - 机器人描述和配置管理, 用于添加和配置第三方机械臂
  • Controller控制器 - 核心控制模块,提供基础的机械臂控制功能
  • Anytroller通用控制器 - 提供任意机械臂的控制接口
  • ROS接口 - 与ROS系统的集成接口
  • 仿真器(Simulator) - 基于PyBullet的3D仿真环境
  • Majordomo - LLM助手
  • 运动学模块 - 处理机械臂正逆运动学计算,路径规划和工作区域分析
  • 专业指令模块 - 撰写并编译专业机械臂指令用于自动化应用
  • 固件管理 - 机械臂固件的更新与管理

Robot Profile

Robot Profile是Noman-app的机器人描述和配置管理系统,用于添加和配置第三方机械臂。

配置步骤

  1. 增加配置 - 点击左上角加号添加配置,需要用户导入机械臂的URDF/Xacro描述文件进行配置。注意,描述文件中的mesh推荐使用STL格式。
  2. 配置关节组 - 默认Group A为机械臂的main group,并对每个关节进行组分配。增加组以分配诸如末端工具等关节类型。
  3. 归零位姿 - 点击需要设置的main group后会在右侧显示所有该组关节,拖动滑块以设置机械臂默认的归零关节角度以及关节极限角度。
  4. 配置末端 - 当一个组不属于需要正逆求解的连续关节,我们将它分配为工具组。一般工具组中的关节类型不为Revolute。同时我们可以设置工具坐标偏移,以正确反映工具的预期到达点位姿。

Controller 控制器

Controller是Noman-app的核心控制模块,提供直观的图形界面来控制机械臂。

连接控制

功能 描述 参数
Connect 连接到机械臂
  • 串口: COM1-COM99
  • 波特率: 115200
Disconnect 安全断开连接
Refresh 刷新可用串口列表

运动控制

功能 描述 参数范围
电位器开关 切换控制模式 ON/OFF
关节滑块 控制各关节角度 -180° ~ +180°
末端执行器 控制夹爪开合 OPEN/CLOSE
归零按钮 使机械臂回到初始位置 -
执行按钮 执行当前设定的动作 -
注意事项:
  • 首次使用请进行Home位置校准
  • 切换模式前确保机械臂处于安全位置
  • 注意工作空间限制

Anytroller

Anytroller是一个通用机械臂控制接口,支持1-8个关节的自定义机械臂配置和控制。

初始化配置

参数 描述 取值范围
关节数量 设置机械臂的关节数 1-8个
初始位置 各关节的起始角度 -180° ~ +180°
运动范围 各关节的最大运动范围 可自定义限位角度

控制功能

功能 描述 参数
关节控制 独立控制每个关节
  • 角度: -180° ~ +180°
  • 速度: 0-100%
同步运动 多关节协同运动 支持自定义运动序列
Home位置 返回预设的初始位置 可自定义Home位置
使用注意:
  • 首次使用前必须完成初始化配置
  • 确保所有关节参数设置正确,避免碰撞
  • 建议先在低速模式下测试运动
  • 保存配置后可导出为配置文件供后续使用

ROS接口

ROS接口模块提供了与ROS1和ROS2系统的集成功能,让用户能够通过ROS生态系统来控制和开发Minima机械臂应用。

ROS配置

功能 描述 参数
System Check 检查ROS环境配置
  • ROS版本检测
  • 依赖包检查
  • 工作空间验证
Switch Mode 切换到ROS控制模式
  • ROS1模式
  • ROS2模式
URDF配置 机械臂模型配置
  • ROS1 URDF
  • ROS2 URDF
  • 自定义URDF导入
Workspace 工作空间配置
  • catkin_ws (ROS1)
  • colcon_ws (ROS2)
  • 包管理
MoveIt配置 运动规划配置
  • MoveIt Setup Assistant
  • 规划组配置
  • 控制器配置
使用说明:
  • 首次使用请先运行System Check确保环境正确置
  • 切换ROS模式前请确保已完成相应版本的配置
  • URDF修改后需要重新运行MoveIt配置
  • 建议参考ROS Wiki了解更多使用细节

运动学模块

运动学模块提供了完整的机械臂运动学解算和路径规划功能,支持多种算法和应用场景。

功能 说明 参数设置
URDF配置 机械臂模型加载
  • 加载URDF文件
  • 导入URDF (默认: Minima)
  • URDF预览
求解器参数 运动学求解器配置
  • 逆解算器选择:
    • PyBullet求解器
    • Levenberg-Marquardt求解器
  • 规划器选择:
    • Linear规划器
    • RRT规划器
    • CHOMP规划器
  • 求解参数:
    • 残差阈值 (Residual Threshold)
    • 最大迭代次数 (Max Iterations)
    • Lambda参数 (仅LM算法)
运动学计算 正逆运动学求解
  • 正运动学:
    • 关节角度输入
    • 末端位姿计算
  • 逆运动学:
    • 目标位置(XYZ)输入
    • 路径点设置
    • 规划器启用选项
    • 路径点数量设置
控制模式 机械臂控制方式
  • 位姿控制 (摄像头)
  • G-code控制
  • 工作空间分析器
注意事项:
  • 使用高级规划功能前请确保已正确配置关依赖
  • 建议在仿真环境中测试复杂轨迹
  • 进行工作空间分析时注意机械臂的物理限制

固件管理

固件管理模块提供Minima机械臂的固件更新功能。请确保更新过程中电源稳定。

基本配置

配置项 参数说明
串口连接
  • 端口选择: COM1-COM99
  • 自动检测可用串口
开发板选择
  • ESP32
  • Arduino

烧录参数

开发板 参数设置
ESP32参数
  • 波特率 (Baud Rate): 115200
  • Flash模式 (Flash Mode): QIO
  • Flash频率 (Flash Frequency): 40m
Arduino参数
  • 开发板型号 (Board Type): Uno
  • 波特率 (Baud Rate): 115200

固件更新

更新方式 说明
自定义固件 上传本地.bin文件进行更新
远程固件 在线更新官方最新固件
注意事项:
  • 更新前请确认选择了正确的开发板类型
  • 烧录过程中请勿断开设备连接

Change Log

  • 版本 1.2 (2024-10-21)
    • 新增运动学模块,支持机械臂的正向和逆向运动学计算
    • UI界面优化
  • 版本 1.1 (2023-09-21)
    • 新增Anytroller模块, 支持自定义机械臂控制
    • 新增固件管理界面
    • 优化机械臂控制模式和ROS模式间的切换
  • 版本 1.0 (2024-09-10)
    • Noman-app软件正式版发布
    • 新增ROS集成功能
    • 优化了Controller的用户界面
    • 修复了一些已知的稳定性问题
  • 版本 1.0-beta (2024-09-01)
    • Noman-app软件测试板发布
    • 包含Controller基本功能