Minima
Minima是一款五轴舵机机械臂,它的制造相对于工业机械臂来说成本较低。但是作为教育级用途, 我们希望能够通过Minima让大家快速上手并了解机械臂的完整工作流程。
工业机械臂平台架构主要包括机械臂本体、电源供应、控制器、传感器和中央处理器(电脑)。我们的教育机械臂展现了工业机械臂的核心组成部分,但采用了更经济实惠的替代方案:
系统组成 | 工业机械臂 | Minima教育机械臂 |
---|---|---|
电源系统 | 三相高压电源(380V/220V)驱动大功率伺服电机 | 6V直流电源驱动舵机 |
通讯协议 | CAN总线或EtherCAT等工业级通讯协议 | I2C协议 |
控制系统 | 专业的PLC或工控机 | ESP32微控制器 |
驱动系统 | 伺服电机、减速器和专业驱动器 | 集成驱动电路的数字舵机 |
计算机系统 | 专业优化的操作系统 | 普通家用电脑 |
本页面将指导您完成从环境准备到实际操作Minima的各项流程。
快速导航:
用户手册
1. 产品参数
- 精度: ±0.1mm
- 工作电压: 6V DC
- 自由度: 5轴
- 主要材料: ABS (FDM)
- 通讯方式: USB串口/支持wifi,蓝牙拓展
- 电机: 高精度金属舵机
- 最大负载: 500g
- 工作范围: 半径约150mm
2. 装配
请安装详细装配图对机械臂进行安装:下载装配图
请根据电路图对内部电路进行确认和维护: 下载电路图
3. 注意事项
- 使用前请仔细阅读说明书,确保正确连接所有部件。
- 首次使用时,请使用我们的软件进行校准,并确保所有关节运动正常。
- 请勿超过最大负载限制,以免损坏电机或机械结构。
- 在进行任何维护或调整之前,请务必断开电源。
- 使用过程中如遇到异常情况,请先尝试重启机械臂(包括断电重启和软件内重启)。
- 请将机械臂放置在平稳的表面上使用,避免意外跌落。
- 本产品面向青少年和成人,儿童使用时需有成人监督。
如需更多详细信息或技术支持,请联系我们的客户服务团队。
软件下载
如果您不使用电位器控制器,可以下载我们提供的示教器软件来控制 Minima 机械臂。我们为不同操作系统提供了相应的软件版本。
上位机软件下载
- Windows: 下载 Windows 版本
- macOS: 下载 macOS 版本
- Linux: 下载 Linux 版本
使用说明
下载并安装适合您操作系统的版本后,请参考软件内的使用说明进行操作。如遇到任何问题,请查看我们的常见问题解答或联系我们的技术支持。
机械臂主控固件
注意:机械臂主控固件已预先安装在您的机械臂中,用户通常无需自行下载或安装。如果您需要重新安装固件或进行手动更新,可以从以下链接下载最新版本的固件:下载 Minima 机械臂固件
我们建议通过示教器软件自动烧录固件。只需在示教器软件中找到"固件"选项,然后按照提示进行操作烧录最新固件。
ROS
Step 1: 准备您的环境
ROS版本对应固定的Ubuntu版本。本机械臂在Ubuntu 20.04 LTS环境下使用ROS noetic开发,以下说明和教程安装均在ROS noetic下完成。您可以在虚拟机(VirtualBox, Vmware Workstation Pro等)或者物理Ubuntu系统下安装镜像文件。
通常情况下,安装物理的Ubuntu系统是更好的选择,因为在虚拟机中,3D加速和USB设备的支持会受到限制。
注意:您可以在树莓派上安装ROS,但不幸的是,它的性能不足以运行Rviz中的模拟,更不用说Gazebo了。
- 配置ROS环境。请按照这个快速安装指南在对应Ubuntu版本上安装ROS。您需要依照每一步骤在终端下完成安装。
- MoveIt!是ROS中用于移动操作的软件包。检查MoveIt!是否正常工作。运行以下命令:
如果您愿意,可以按照MoveIt基础教程进行操作。roslaunch panda_moveit_config demo.launch rviz_tutorial:=true
然后,您可以直接下载我们预处理完成的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环境配置
- 配置ROS2环境。请按照这个快速安装指南在对应Ubuntu版本上安装ROS2。您需要依照每一步骤在终端下完成安装。
- MoveIt!是ROS中用于移动操作的软件包。检查MoveIt!是否配置成功。运行以下命令:
如果您愿意,可以按照MoveIt基础教程进行操作。roslaunch panda_moveit_config demo.launch rviz_tutorial:=true
- 然后,您可以直接下载我们预处理完成的ROS2 workspace,其中包括URDF文件和MoveIt2配置包。
- 创建配置包后,进入您的工作空间并编译:
cd ~/ros2_ws colcon build source install/setup.bash
- 启动MoveIt2配置:
ros2 launch my_robot_moveit_config demo.launch.py
- 在ROS2中,我们使用micro-ROS替代了ROS1中的rosserial。ESP32运行micro-ROS客户端,与ROS2节点进行通信。micro-ROS节点订阅
/joint_states
话题,将关节角度从弧度转换为度,并通过PWM控制舵机。有关micro-ROS的更多信息,请参考micro-ROS教程。 - 通过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
- 现在您可以在RViz2中使用交互式标记控制机械臂,规划并执行运动。
Windows环境配置
- 配置ROS2环境。在Windows系统下,我们使用Chocolatey包管理器来安装ROS2。
- 打开拥有管理员权限的命令提示符并输入以下命令来通过Chocolatey安装Python:
choco install -y python --version 3.8.3
注意:Chocolatey会将Python安装在C:\Python38目录下,后续安装步骤都假定Python安装在该位置。如果您将Python安装在其他位置,必须将其复制或链接到此位置。
- 安装Visual C++运行时库。打开命令提示符并输入以下命令通过Chocolatey安装:
choco install -y vcredist2013 vcredist140
- 安装OpenSSL:
- 从OpenSSL官网下载Win64 OpenSSL v1.1.1t安装包。请注意不要下载Win32或Light版本,也不要下载v3.X.Y版本的安装包。
- OpenSSL官网已经不再支持预编译的1.1.1版本。您可在OpenSSL releases下载源码,或使用Chocolatey包管理器(推荐)安装OpenSSL 1.1.1:
choco install openssl --version=1.1.1.1400
- 打开命令提示符,运行以下命令设置环境变量:
setx /m OPENSSL_CONF "C:\Program Files\OpenSSL-Win64\bin\openssl.cfg"
- 将OpenSSL添加到系统PATH:
- 点击Windows图标,输入"Environment Variables"
- 点击"编辑系统环境变量"
- 在弹出的对话框中点击"环境变量"
- 在下方窗格中选择"Path"变量并点击"编辑"
- 添加以下路径:
C:\Program Files\OpenSSL-Win64\bin\
- 安装Visual Studio 2019:
- 如果您已经安装了Visual Studio 2019的付费版本(Professional或Enterprise),可以跳过此步骤。
- Microsoft提供免费的VS 2019 Community版本。您可以通过官方链接下载安装程序。
- 确保安装Visual C++功能:
- 在安装过程中选择"使用C++的桌面开发"工作流
- 在安装组件列表中取消选择所有C++ CMake工具
- 安装OpenCV:
- 下载预编译的OpenCV 3.4.6版本:
- 从此链接下载OpenCV 3.4.6
- 将下载的文件解压到
C:\opencv
目录
- 以管理员权限打开命令提示符,运行以下命令设置环境变量:
setx /m OpenCV_DIR C:\opencv
- 将OpenCV添加到系统环境变量PATH。添加以下路径:
C:\opencv\x64\vc16\bin
- 下载预编译的OpenCV 3.4.6版本:
- 安装CMake和其他依赖项:
- 使用Chocolatey安装CMake:
choco install -y cmake
- 将CMake添加到系统环境变量PATH。添加以下路径:
C:\Program Files\CMake\bin
- 从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
- 以管理员权限打开命令提示符,运行以下命令安装这些包(请将 <PATH\TO\DOWNLOADS> 替换为您下载包的实际路径):
choco install -y -s <PATH\TO\DOWNLOADS> asio cunit eigen tinyxml-usestl tinyxml2 bullet
- 升级pip和setuptools:
python -m pip install -U pip setuptools==59.6.0
- 安装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
- 使用Chocolatey安装CMake:
- 安装xmllint:
- 从 https://www.zlatkovic.com/projects/libxml/ 下载以下64位二进制文件:
- iconv
- libxml2
- zlib
- 将所有文件解压到
C:\xmllint
目录 - 将xmllint添加到系统环境变量PATH,添加以下路径:
C:\xmllint\bin
- 从 https://www.zlatkovic.com/projects/libxml/ 下载以下64位二进制文件:
- 安装Qt:
- 从Qt官网下载Qt 5.12.X离线安装包
- 运行安装程序,在Qt -> Qt 5.12.12目录下选择MSVC 2017 64-bit组件
- 以管理员权限打开命令提示符,设置以下环境变量(假设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版本,以上路径可能需要调整。
- 安装Graphviz:
- 从Graphviz官网下载Windows安装包
- 运行安装程序,在安装过程中选择将Graphviz添加到系统PATH(可以选择"当前用户"或"所有用户")
注意:Graphviz是运行rqt_graph所必需的依赖项。
- 下载并安装ROS2:
- 访问ROS2发布页面
- 下载最新的Windows安装包(例如:ros2-package-windows-AMD64.zip)
注意:可能会有多个二进制下载选项,文件名可能会有所不同。
- 将下载的zip文件解压到指定目录(例如:C:\dev\ros2_humble)
- 设置ROS2环境:
- 打开命令提示符,运行以下命令来设置ROS2工作空间:
call C:\dev\ros2_iron\local_setup.bat
注意:如果命令执行后出现一次"系统找不到指定的路径"的提示是正常现象,只要没有其他错误即可。
若您仍然遇到问题请尝试运行这个脚本修复环境和安装确实的依赖
- 打开命令提示符,运行以下命令来设置ROS2工作空间:
Minima示教器
Minima示教器是Minima机械臂的配套软件,提供直观的图形界面来控制机械臂。它包含以下主要功能模块:
- Controller控制器 - 核心控制模块,提供基础的机械臂控制功能
- Anytroller通用控制器 - 提供任意机械臂的控制接口
- ROS接口 - 与ROS系统的集成接口
- 运动学模块 - 处理机械臂正逆运动学计算和扩展应用
- 固件管理 - 机械臂固件的更新与管理
Controller 控制器
Controller是Minima示教器的核心控制模块,提供直观的图形界面来控制机械臂。
连接控制
功能 | 描述 | 参数 |
---|---|---|
Connect | 连接到机械臂 |
|
Disconnect | 安全断开连接 | 无 |
Refresh | 刷新可用串口列表 | 无 |
运动控制
功能 | 描述 | 参数范围 |
---|---|---|
电位器开关 | 切换控制模式 | ON/OFF |
关节滑块 | 控制各关节角度 | -180° ~ +180° |
末端执行器 | 控制夹爪开合 | OPEN/CLOSE |
归零按钮 | 使机械臂回到初始位置 | - |
执行按钮 | 执行当前设定的动作 | - |
注意事项:
- 首次使用请进行Home位置校准
- 切换模式前确保机械臂处于安全位置
- 注意工作空间限制
Anytroller
Anytroller是一个通用机械臂控制接口,支持1-8个关节的自定义机械臂配置和控制。
初始化配置
参数 | 描述 | 取值范围 |
---|---|---|
关节数量 | 设置机械臂的关节数 | 1-8个 |
初始位置 | 各关节的起始角度 | -180° ~ +180° |
运动范围 | 各关节的最大运动范围 | 可自定义限位角度 |
控制功能
功能 | 描述 | 参数 |
---|---|---|
关节控制 | 独立控制每个关节 |
|
同步运动 | 多关节协同运动 | 支持自定义运动序列 |
Home位置 | 返回预设的初始位置 | 可自定义Home位置 |
使用注意:
- 首次使用前必须完成初始化配置
- 确保所有关节参数设置正确,避免碰撞
- 建议先在低速模式下测试运动
- 保存配置后可导出为配置文件供后续使用
ROS接口
ROS接口模块提供了与ROS1和ROS2系统的集成功能,让用户能够通过ROS生态系统来控制和开发Minima机械臂应用。
ROS配置
功能 | 描述 | 参数 |
---|---|---|
System Check | 检查ROS环境配置 |
|
Switch Mode | 切换到ROS控制模式 |
|
URDF配置 | 机械臂模型配置 |
|
Workspace | 工作空间配置 |
|
MoveIt配置 | 运动规划配置 |
|
使用说明:
- 首次使用请先运行System Check确保环境正确置
- 切换ROS模式前请确保已完成相应版本的配置
- URDF修改后需要重新运行MoveIt配置
- 建议参考ROS Wiki了解更多使用细节
运动学模块
运动学模块提供了完整的机械臂运动学解算和路径规划功能,支持多种算法和应用场景。
功能 | 说明 | 参数设置 |
---|---|---|
URDF配置 | 机械臂模型加载 |
|
求解器参数 | 运动学求解器配置 |
|
运动学计算 | 正逆运动学求解 |
|
控制模式 | 机械臂控制方式 |
|
注意事项:
- 使用高级规划功能前请确保已正确配置关依赖
- 建议在仿真环境中测试复杂轨迹
- 进行工作空间分析时注意机械臂的物理限制
固件管理
固件管理模块提供Minima机械臂的固件更新功能。请确保更新过程中电源稳定。
基本配置
配置项 | 参数说明 |
---|---|
串口连接 |
|
开发板选择 |
|
烧录参数
开发板 | 参数设置 |
---|---|
ESP32参数 |
|
Arduino参数 |
|
固件更新
更新方式 | 说明 |
---|---|
自定义固件 | 上传本地.bin文件进行更新 |
远程固件 | 在线更新官方最新固件 |
注意事项:
- 更新前请确认选择了正确的开发板类型
- 烧录过程中请勿断开设备连接
Change Log
-
版本 1.2 (2024-10-21)
- 新增运动学模块,支持机械臂的正向和逆向运动学计算
- UI界面优化
-
版本 1.1 (2023-09-21)
- 新增Anytroller模块, 支持自定义机械臂控制
- 新增固件管理界面
- 优化机械臂控制模式和ROS模式间的切换
-
版本 1.0 (2024-09-10)
- Minima示教器软件正式版发布
- 新增ROS集成功能
- 优化了Controller的用户界面
- 修复了一些已知的稳定性问题
-
版本 1.0-beta (2024-09-01)
- Minima示教器软件测试板发布
- 包含Controller基本功能