开发环境建设

1 设置二次开发环境的说明

1.1 支持系统

box_connect_PC

myCobot 280 M5 是在PC机上开发和使用的。机械臂中没有内置系统,因此在使用过程中需要机械臂和PC的组合,因此请在使用前准备一台PC。

1 Windows

微软操作系统(Microsoft system)是微软在美国开发的Windows系列操作系统。服务器最新版本为Windows server 2022,个人最新版本为Windows 11。由于用户版简单易操作,它一直是个人用户的最大卖家。

2.1.6.4-1-001

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系统的详细安装介绍, 单击此处查看

2.1.6.4-1-001

3 Mac

Macintosh(简称Mac)是由苹果公司(Apple Inc.)开发的个人消费电脑。 自1984年以来,包括iMac、Mac mini、Macbook Air、Macbook Pro、Macbook和Mac Pro等电脑都使用独立的macOS系统。最新的macOS系列基于NeXT系统开发,不支持兼容性。它是一个完整而独立的操作系统。

应当注意,在安装驱动程序和更新设备固件之前, 确保系统 "偏好->安全和隐私->通用" 并允许App Store和经批准的开发人员提供应用程序。

2.1.6.4-1-001

1.2 支持的软件环境

  • 基于 C++ 开发使用。C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。使用c++语言,您可以通过我们公司开发的c++动态库,进行自由开发(坐标控制、角度控制、io控制、夹爪控制等),控制我们公司已经研发出来的部分机器人。用户在 安装C++环境 后,可直接查看 使用案例

    c++

  • 基于 C# 开发使用。C#是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言。使用c#语言,您可以通过我们公司提供的c#动态库,进行自由开发(坐标控制、角度控制、io控制、夹爪控制等),控制我们公司已经研发出来的部分机器人。用户在 安装C#环境 后,可以直接查看 使用案例

    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简单使用相关接口

    arduino

  • 基于JavaScript的开发. JavaScript是一种在客户端应用程序上运行的脚本语言,不需要编译。 js解释器用于在运行过程中逐一解释和执行代码。 我们的一些机器人可以通过我们公司的JavaScript语言生态库进行控制。安装JavaScript环境后 , 请到 用例 获取更多信息.

    javascript

  • 基于ROS开发. ROS 是开源的,是用于机器人控制的一种后操作系统,或者说次级操作系统。通过ROS,我们能够在虚拟环境中实现对机械臂的仿真控制。我们将通过 rviz 平台实现对机械臂的可视化,并使用多种方式对我们的机械臂进行操作;通过moveit 平台进行机械臂行动路径的规划和执行,达到自由控制机械臂的效果。安装ROS开发环境后,具体可查看 使用案例moveit的使用

    ros

1.3 设备功能设置

2 基于Python 开发使用

我们的机器人支持Python,Python API库的开发也越来越完善。 可以通过Python控制机器人的关节角度、坐标、夹持器等方面。 参考安装python环境获取更多信息。

python

3 基于Blockly 开发使用

myBlockly是一款完全可视化的模块化编程软件,属于图形化编程语言。

blockly

4 基于ROS开发

ROS 是开源的,是用于机器人控制的一种后操作系统,或者说次级操作系统。通过ROS,我们能够在虚拟环境中实现对机械臂的仿真控制。我们将通过 rviz 平台实现对机械臂的可视化,并使用多种方式对我们的机械臂进行操作;通过moveit 平台进行机械臂行动路径的规划和执行,达到自由控制机械臂的效果。安装ROS开发环境后,具体可查看 使用案例moveit的使用

Ros的出现解决了机器人各个部件的通信问题。 后来,越来越多的机器人算法被集成到ROS中。 ROS2继承了ROS,比ROS更强大更好。 与仅支持Linux系统的ROS相比,ROS2还支持windowsmac,甚至RTOS平台。安装ROS2开发环境 后, 具体可查看 ROS2 使用案例

ros

5 基于 C++ 开发使用

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。使用c++语言,您可以通过我们公司开发的c++动态库,进行自由开发(坐标控制、角度控制、io控制、夹爪控制等),控制我们公司已经研发出来的部分机器人。用户在 安装C++环境 后,可直接查看 使用案例相关接口

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

  1. 打开您的设备
  2. 依次选择Transponder -> Bluetooth,然后点击OK,会进入一个页面,里面有当前设备的一些信息和Bluetooth的Mac地址

    如果您使用的是MyCobot PI设备,请按照以下步骤操作

    1. github克隆pymycobot源代码到你的桌面
    2. 进入demo文件夹下的mycobot_pi_bluetooth,打开命令行,运行sudo systemctl restart bluetooth
    3. 接下来运行python uart_peripheral_serial.py
    4. 然后就可以找到你的PI设备了,如果你的设备没有出现在列表中,请重新执行第三步

接下来启动MyCobot Controller app,点击蓝牙开关,请允许软件所需的所有权限,否则可能无法扫描您的设备。然后等待设备扫描完成,列表将更新所有扫描到的设备,然后确认mac 您要连接的设备的地址,然后单击“连接”。

注意:连接PI设备时,点击连接后手机和设备需要进行配对,否则蓝牙会断开。

连接蓝牙后,需要点击开机按钮,即可控制机械臂的运动。

7 手柄控制

可通过手柄控制机器的移动,通过夹爪或者吸泵实现对物体的抓取。 handle

results matching ""

    No results matching ""