开发环境建设
1 设置二次开发环境的说明
1.1 支持系统
myCobot 280 M5 是在PC机上开发和使用的。机械臂中没有内置系统,因此在使用过程中需要机械臂和PC的组合,因此请在使用前准备一台PC。
1 Windows
微软操作系统(Microsoft system)是微软在美国开发的Windows系列操作系统。服务器最新版本为Windows server 2022,个人最新版本为Windows 11。由于用户版简单易操作,它一直是个人用户的最大卖家。
2 linux
Linux内核最初是Finn Linus Torvalds在赫尔辛基大学读书时作为业余爱好编写的。
Linux是一套可以自由使用和传播的类Unix操作系统。它是一个基于POSIX和UNIX的多用户、多任务、多线程和多CPU操作系统。
Linux可以运行主要的UNIX实用程序软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为中心的设计理念,是一个性能稳定的多用户网络操作系统。
如果您想在PC上使用linux环境,可以安装虚拟机和ubuntu系统
由于Python2已从Ubuntu 20.04 LTS中删除,因此默认安装python3。建议在此处使用20.04系统
对于虚拟机和Ubuntu系统的详细安装介绍, 单击此处查看
3 Mac
Macintosh(简称Mac)是由苹果公司(Apple Inc.)开发的个人消费电脑。 自1984年以来,包括iMac、Mac mini、Macbook Air、Macbook Pro、Macbook和Mac Pro等电脑都使用独立的macOS系统。最新的macOS系列基于NeXT系统开发,不支持兼容性。它是一个完整而独立的操作系统。
应当注意,在安装驱动程序和更新设备固件之前, 确保系统 "偏好->安全和隐私->通用" 并允许App Store和经批准的开发人员提供应用程序。
1.2 支持的软件环境
基于 myBlockly 和 UIFlow 开发使用, 它们既是图形化编程软件又是可视化工具。 用户可以拖拽模块创建程序,这个过程非常类似于搭积木。 安装 myblockly 和 UIFlow , 参考 myblockly use cases 和 UIFlow use cases.
基于Python 开发使用. 我们的机器人支持Python,Python API库的开发也越来越完善。 可以通过Python控制机器人的关节角度、坐标、夹持器等方面。 参考安装python环境获取更多信息。
基于 C++ 开发使用。C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。使用c++语言,您可以通过我们公司开发的c++动态库,进行自由开发(坐标控制、角度控制、io控制、夹爪控制等),控制我们公司已经研发出来的部分机器人。用户在 安装C++环境 后,可直接查看 使用案例。
基于 C# 开发使用。C#是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言。使用c#语言,您可以通过我们公司提供的c#动态库,进行自由开发(坐标控制、角度控制、io控制、夹爪控制等),控制我们公司已经研发出来的部分机器人。用户在 安装C#环境 后,可以直接查看 使用案例。
基于 Arduino 开发使用。Arduino 是一款简单易用、便于上手的开源电子原型平台,包含硬件部分(各种符合 Arduino 规范的开发板)和软件部分( Arduino IDE 和相关的开发包)。 硬件部分(或称开发板)由微控制器(MCU)、闪存(Flash)以及一组通用输入/输出接口(GPIO)等构成,你可以将它理解为是一块微型电脑主板。 软件部分则主要由PC端的 Arduino IDE 以及相关的板级支持包(BSP)和丰富的第三方函数库组成。使用者可以借由 Arduino IDE 轻松地下载你所持有的开发板相关的BSP和需要的函数库,用于编写你的程序。同时,在github上,我们有一个开源程序MyCobotBasic,example下面有很多示例程序,比如SetRGB.ino和ControlRobot.ino,当使用者想单独对末端led等进行控制时,可以使用SetRGB.ino,坐标控制可以使用ControlRobot.ino,也可以根据自身需要,进行修改。用户安装Arduino环境 后,可以直接查看 Arduino简单使用和 相关接口。
基于JavaScript的开发. JavaScript是一种在客户端应用程序上运行的脚本语言,不需要编译。 js解释器用于在运行过程中逐一解释和执行代码。 我们的一些机器人可以通过我们公司的JavaScript语言生态库进行控制。安装JavaScript环境后 , 请到 用例 获取更多信息.
基于ROS开发. ROS 是开源的,是用于机器人控制的一种后操作系统,或者说次级操作系统。通过ROS,我们能够在虚拟环境中实现对机械臂的仿真控制。我们将通过 rviz 平台实现对机械臂的可视化,并使用多种方式对我们的机械臂进行操作;通过moveit 平台进行机械臂行动路径的规划和执行,达到自由控制机械臂的效果。安装ROS开发环境后,具体可查看 使用案例 和moveit的使用。
myCobot 280 M5的基本固件和Atom固件的更新需要通过myStudio进行更新。
有关myStudio的更多信息,请访问以下地址:
1.3 设备功能设置
2 基于Python 开发使用
我们的机器人支持Python,Python API库的开发也越来越完善。 可以通过Python控制机器人的关节角度、坐标、夹持器等方面。 参考安装python环境获取更多信息。
3 基于Blockly 开发使用
myBlockly是一款完全可视化的模块化编程软件,属于图形化编程语言。
4 基于ROS开发
ROS 是开源的,是用于机器人控制的一种后操作系统,或者说次级操作系统。通过ROS,我们能够在虚拟环境中实现对机械臂的仿真控制。我们将通过 rviz 平台实现对机械臂的可视化,并使用多种方式对我们的机械臂进行操作;通过moveit 平台进行机械臂行动路径的规划和执行,达到自由控制机械臂的效果。安装ROS开发环境后,具体可查看 使用案例 和moveit的使用。
Ros的出现解决了机器人各个部件的通信问题。 后来,越来越多的机器人算法被集成到ROS中。 ROS2继承了ROS,比ROS更强大更好。 与仅支持Linux系统的ROS相比,ROS2还支持windows、mac,甚至RTOS平台。安装ROS2开发环境 后, 具体可查看 ROS2 使用案例 。
5 基于 C++ 开发使用
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。使用c++语言,您可以通过我们公司开发的c++动态库,进行自由开发(坐标控制、角度控制、io控制、夹爪控制等),控制我们公司已经研发出来的部分机器人。用户在 安装C++环境 后,可直接查看 使用案例和相关接口。
6 MyCobot Controller
6.1 MyCobot Controller是什么
MyCobot Controller是一款通过蓝牙控制MyCobot系列机械臂的APP。 您可以使用手机移动机械臂。
6.2 如何安装 MyCobot Controller
如果您是安卓用户,请前往Google Play Store to download.
如果您是IOS用户,请等待软件发布后再搜索下载。
6.3 app介绍
1 点击跳转到角度控制
2 蓝牙开关,如果您没有连接设备,点击按钮搜索蓝牙设备,否则会显示您当前连接的设备
3 开机和关机按钮,请在点击前连接您的设备,否则设备无法开机或关机。 单击按钮时,背景变为黄色,机械臂将通电。 再次点击后恢复原色,机械臂断电。
4 关节归零按钮,点击该按钮机械臂将归零,请连接蓝牙并开机后使用
5 软件资料
6 点击跳转到坐标控制
7 操作页面,如果选择关节控制,该页面会显示所有关节,否则显示所有坐标
8 坐标信息
6.4 如何使用 MyCobot Controller
在您开始使用之前,请先将MyCobot Controller App下载到您的手机上
然后按照以下步骤连接您的设备
如果您使用的是MyCobot M5
设备,请为您的设备烧录minirobot v2.2
- 打开您的设备
依次选择Transponder -> Bluetooth,然后点击OK,会进入一个页面,里面有当前设备的一些信息和Bluetooth的Mac地址
如果您使用的是
MyCobot PI
设备,请按照以下步骤操作- 从github克隆pymycobot源代码到你的桌面
- 进入
demo
文件夹下的mycobot_pi_bluetooth
,打开命令行,运行sudo systemctl restart bluetooth
- 接下来运行
python uart_peripheral_serial.py
- 然后就可以找到你的PI设备了,如果你的设备没有出现在列表中,请重新执行第三步
接下来启动MyCobot Controller app,点击蓝牙开关,请允许软件所需的所有权限,否则可能无法扫描您的设备。然后等待设备扫描完成,列表将更新所有扫描到的设备,然后确认mac 您要连接的设备的地址,然后单击“连接”。
注意:
连接PI设备时,点击连接后手机和设备需要进行配对,否则蓝牙会断开。
连接蓝牙后,需要点击开机按钮,即可控制机械臂的运动。
7 手柄控制
可通过手柄控制机器的移动,通过夹爪或者吸泵实现对物体的抓取。