精华内容
下载资源
问答
  • 解决个别电脑打不开上位机软件,是由于串口插件MSCOMM32.OCX没有注册导致。
  • 用于控制舵机组,因为某些未知品牌的舵机并没有相关的机器人调试软件,所以自己仿照市面上的软件自己做了一款上位机,功能如下: 串口控制,将角度速度等参数明文显示出来并存于文本 将动作分为动作组与动作帧,...
    用于控制舵机组,因为某些未知品牌的舵机并没有相关的机器人调试软件,所以自己仿照市面上的软件自己做了一款上位机,功能如下:
    1. 串口控制,将角度速度等参数明文显示出来并存于文本
    2. 将动作分为动作组与动作帧,并且可以编辑调整
    3. 参数命令写死了(懒),在代码中,需要换通讯协议时要修改代码emmm

    内嵌通讯协议(部分)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    上位机截图

    在这里插入图片描述

    csdn 下载链接

    展开全文
  • 这个是本人在做机器手开发的上位机软件和大家分享
  • 机器人调试软件上位机机器人调试软件上位机机器人调试软件上位机机器人调试软件上位机
  • 目录前言项目启动配置安装环境机器人连接 前言 项目启动 配置安装环境 首先去ABB机器人的二次开发中心 https://developercenter.robotstudio.com ...此时,当软件需要转移到其他设备上时,同样需要安装PC

    前言

    ABB机器人相比于其他几个友商,硬件开放的水平较高,但仍然存在一定的问题,以我的理解,ABB机器人在ROS环境下才有最大的干涉权限。不过在Windows环境下,开发简单的上位控制系统的条件也是具备的。在此提供一套开发windows控制器的流程。具体操作流程为:

    1. RobotStudio创造对应硬件设备的虚拟机,配置好环境;
    2. 使用SDK提供的网络通信,与虚拟机建立Socket通信(TCP/IP协议);
    3. 网络通信读取机器人当前信息,并加以区分、显示;
    4. 网络通信读取日志,并整合进现有日志框架中
    5. 对机器人实现基本运动控制(三种移动方式);
    6. 对机器人实现坐标控制,包含:坐标系设置、标定信息设置、速度设置;
    7. 对机器人程序进行控制,包含程序下载上载,RAPID程序启动和停止、程序指针设置、信号状态设置;
    8. 将实现内容整合入现有框架当中;
    9. 将机器人坐标系设置信息整合进现有程序之中;
    10. 与虚拟机器人进行联调;
    11. 与实际机器人进行联调。

    通过这组文章,目的是提供一个比原版官方文档更简单易懂而且好用地,贴近于工程应用实践的C# 傻瓜式应用范例,并提供最基础的启动代码。此处需要指出的是,这份档案只需要应用于一个机器人,所以很多地方想当然地觉得全世界只有这么一个机器人;多个机器人的复杂协作需要修改不少内容。(如需有偿人工帮助请联系)

    1. 项目启动

    配置安装环境

    首先去ABB机器人的二次开发中心 https://developercenter.robotstudio.com
    下载PC SDK版本,在此示例当中使用的版本为PC SDK 6.08 ,同时需要安装Robot Studio(网络上资源很多,在此随便提供一个链接供参考 http://college.irobot-edu.com/community/ShowTopic-373.htm )。此时,当软件需要转移到其他设备上时,同样需要安装PC SDK。
    ABB机器人SDK的语言框架是.NET框架,需要提前安装Visual Studio的C#支持库,在此使用的版本是Visual Studio 2019 Community版本和.NET 4.7.2版本。个人以为.Net 4.0以上框架均可,SDK会包含一个最低框架的说明,对于最新版 2020.1 Vesion,必须是4.8以上。
    ABB机器人的上位机通讯主要有两种方式,PC SDK与Web Service。PC SDK可通过ABB官网下载,Web Service使用HTTP GET/POST获取数据。这两种通讯无论使用哪一种,均需要机器人控制器具有616-1 PC Interface选项,选项可通过示教器系统信息查看。

    机器人硬件连接

    使用Robot Studio虚拟机无须任何操作,直接打开就行,但要注意RS端需要打开PC-Interface端,具体的操作方法如链接所示:
    使用实际机器人操作时,具体操作参见最后一个章节的实操部分。

    虚拟机的配置

    虚拟机的操作对于熟悉RobotStudio的朋友是很简单的,如果这一点不太会请自行补课。创建一个打开的虚拟示教器即可。简要流程为:创建一个机器人→创建一个控制器→连接控制器→打开示教器→完工OK。可以参考链接
    在这里插入图片描述

    2. 开始编程:与机器人连接

    接下来进入项目的启动环境,首先确保程序调用了需要的内容,在此预先罗列了一部分内容:

    using ABB.Robotics.Controllers;
    using ABB.Robotics.Controllers.FileSystemDomain;
    using ABB.Robotics.Controllers.RapidDomain;
    using ABB.Robotics.Controllers.MotionDomain;
    using ABB.Robotics.Controllers.Discovery;
    using System.Windows.Forms;
    using System.Collections;
    using ABB.Robotics.Controllers.EventLogDomain;
    

    建议一个专门的类,用于储存机器人控制的方法(全部是静态变量,还不知道静态类的朋友需要补课了),我管他叫RC - Robot Controller

        class RC
        {
            //仅限单个机器人的操作
            static Controller controller;
            static ABB.Robotics.Controllers.RapidDomain.Task task = null;
    

    就像这样提供两个静态变量就行。

    扫描环境内的机器人

    非常基本的内容,实现起来也很简单,阅读起来也很简单。调试模式下单独用这段程序跑一下,infos应该已经被赋值啦。

                NetworkScanner scanner = new NetworkScanner();
                try
                {
                    scanner.Scan();
    
                }
                catch (ControllerNotFoundException e)
                {
                    MessageBox.Show(e.Message);
                }
                ControllerInfoCollection infos = scanner.Controllers;
    

    如果这一步没有什么结果,说明你当前环境完全没有配置好。请确保RobotStudio已经打开,并且虚拟示教器已经配置完毕。
    这一步的结果比较复杂,但是大部分内容都是可以忽略的,ControllerInfoCollection 是一个数组,其每项中信息可能有用的是如下几类:

    1. IP地址
    2. 系统名称
    3. 控制器名称
    4. 版本
    5. 标识码
    6. 是否为虚拟机

    在这里插入图片描述

    大概扫描的结果如下图所示,删除了很多不必要的信息(其实显示也不太重要,大部分情况下,都没几个机器人选项,记住每个机器人标识码就行了)
    在这里插入图片描述

    一行代码完成连接

    并不需要了解这些究竟是什么,如果你的控制器只有单独一个小可爱,甚至不需要显示这些杂七杂八的内容,盘他!选择一个控制器,不需要知道任何事情,直接连接就可以,像这样不需要挑挑拣拣:

    controller = new Controller(infos[0]);
    controller.Logon(UserInfo.DefaultUser);
    

    好吧确实比较简单,我理解大家比较想看完整代码,如下:

            static public void Connect(ControllerInfo info)//连接函数,创建静态类需要优先调用
            {
                try
                {
                    controller = new Controller(info);
                    controller.Logon(UserInfo.DefaultUser);
                    task = controller.Rapid.GetTask("T_ROB1");
                }
                catch (Exception e)
                {
                    string T = e.Message;
                    MessageBox.Show(T);
                }
            }
    

    好的同样比较简单,至此第二步也就结束了,机器人连接上之后,下一步就是机器人状态的采集和操作了,还有问题吗?没有了?好的下章见。

    展开全文
  • Visual C++ 机器人控制 上位机串口控制软件 串口
  • visual C++机器人控制 上位机串口控制软件 PC控制端V2.0
  • Primary & Secondary 接口在接收到上位机发送的脚本指令(脚本指令下载) 字符 串后会立即中断当前执行程序(如果机器人正在运行), 然后运行接收到的脚本指令。 值得提醒的是,一些具有返回值的脚本指令,其...

    一、通信socket

    socket()函数

    Python 中,我们用 socket()函数来创建套接字,语法格式如下:

    socket.socket([family[, type[, proto]]])

    参数

    family: 套接字家族可以使AF_UNIX或者AF_INET

    type: 套接字类型可以根据是面向连接的还是非连接分为SOCK_STREAM或SOCK_DGRAM

    protocol: 一般不填默认为0.

    二、ur接口(30001&30002)

    Primary & Secondary 接口由机器人控制进程维护和执行的端口。 开机后,机器人

    一直从这两个端口以 10Hz 频率对外发送机器人的状态信息(机器人位置, IO,运行状

    态等), 除此之外 Primary 端口还会发送一些全局变量更新等信息。因此如果需要编写

    上位机在线编程以及运行监视, 例如编写一个类似示教器界面的上位机程序时可以使

    用 Primary 端口(当然对于加载程序,运行程序等操作需要使用 Dashboard(29999)

    接口)。

    Primary & Secondary 接口在接收到上位机发送的脚本指令(脚本指令下载) 字符

    串后会立即中断当前执行程序(如果机器人正在运行), 然后运行接收到的脚本指令。

    值得提醒的是,一些具有返回值的脚本指令,其返回值并不会通过这两个端口返回,因

    为脚本的执行是在机器人控制进程中,其返回值只传递给该进程中的变量。

    如果想一次性发送一段程序给机器人,需要将发送的程序按照如下格式发送:

    _________________________________________

    def functionName():

    脚本指令

    脚本指令

    脚本指令

    #对于函数或者 while 等结构语句

    #需注意同层次具有相同缩进

    脚本指令

    ……

    end

    **********************************************************

    sec functionName():

    非运动脚本指令

    非运动脚本指令

    非运动脚本指令

    #对于函数或者 while 等结构语句

    #需注意同层次具有相同缩进

    非运动脚本指令

    ……

    end

    _______________________________________________

    实际发送字符串(缩进用空格,换行用 ):

    “def functionName(): 脚本指令 脚本指令 …… end “

    “sec functionName(): 脚本指令 脚本指令 …… end “

    ________________________________________________

    三、move 命令

    移动命令分为moveJ、movel等,这两个是比较常见的,只是移动方式不同,J是指移动两点之间时按最快原则,路线不一定是直线,而L的话,则两点间移动必须是直线的;命令内部,带p关键字的是坐标移动,输入的内容为坐标值:

    movej(p[239.7/1000, -54/1000, 336/1000, 2.18, -2.235, 0], a = 0.1, v = 0.1)

    由于其xyz单位为米,所以如果输入示教器相同的数据时,需要除以1000转换成米。

    不带p时候,表示为轴移动,控制的是各个轴的角度:

    movej([d2r(-14),d2r(-64),d2r(-114),d2r(-94),d2r(87),d2r(158)],a=0.5, v=0.5)

    其中d2r()为ur的脚本,把输入角度转换为弧度,因为这个接口的参数是弧度。

    四、发送指令控制机器人

    importsocket

    target_ip= ("169.254.5.2" , 30001)print("start")

    sk=socket.socket()

    sk.connect(target_ip)

    send_data1= "def svt(): movej(p[0.4,0.4,0.4,3.14,-1.57,1.57],a=1.4, v=1.05, t=0, r=0) end "sk.send(send_data1.encode("utf8"))print("end")

    sk.close()

    展开全文
  • 在 OpenGL 和 Visual C++环境下,开发了一套上位机控制软件,主要实现 了两种功能,第一,能够在 PC 机上模拟该机器人的关节运动,直观的显示出 该机器人的技术参数;第二,实现了对本已由于各种原因不能动作的 ...
  • 机器人技术——基于DELPHI的数据采集类上位机软件的编写 在机器人系统中往往会有大量的传感器连接到系统中来,在系统设计或者调试的过程中,经常需要采集各个传感器的数据进行分析,通常的做法是在PC端使用串口调试...

    机器人技术——基于DELPHI的数据采集类上位机软件的编写

    在机器人系统中往往会有大量的传感器连接到系统中来,在系统设计或者调试的过程中,经常需要采集各个传感器的数据进行分析,通常的做法是在PC端使用串口调试助手,将数据log下来然后再进行离线分析,但是,如果需要动态的实时采集各个传感器的数据并进行在线分析,串口调试助手就无能为力了,有人会说可以使用数据采集卡呀!好吧!我只能说你是土豪!另外并非所有的传感器信号都能使用模拟信号输出,数据采集卡的PC端软件也不是那么的灵活,本文将给大家讲讲如何使用DELPHI7,快速编写数据采集类上位机软件(别问博主为什么要使用老掉牙的DELPHI,而且还是n年前的版本7,我只想说博主我B格很高)。

    先来看一张博主花了20分钟弄出来的一个demo,可以通过串口接收单片机传上来的传感器数据,并将数据分别保存到图片、TXT、EXCEL、数据库中:


    如果你开始鄙视博主了,好吧,您可以离开了……

        接下来我们来看这个demo是如何一步步做出来的:

    1、 用到的控件

    l  数据通信组件

    编写数据采集上位机软件就得让上位机能否接收到下位机传输上来的数据,大家比较熟悉的接口就是串口,所以本文就使用串口连接上位机和下位机(电脑上没有串口的可以使用USB转串口,比较常用的有FT232、CP2102、PL2303等,FT232最稳定,但是比较贵,本文使用相对便宜和稳定的CP2102),DELPHI上比较常用的串口组件有spcommCPortv3.0,spcomm只能通过时间来区分不同数据包,在波特率比较高的时候非常的不方便,所以本文使用CPort,CPort可以设置数据头、数据尾、包长,而且这些是通过控件自己去处理,不需要编写任何代码,非常方便。

    ComPort组件+ComDataPacket组件配合使用:

      

    l  曲线绘制组件

    本文使用DELPHI自带的chart组件,功能简单但是比较稳定,如果需要实现更强大的功能,推荐大家使用第三方组件TeeChart,功能非常丰富,另外推荐一本关于TeeChart的参考书:屈景辉著的《TeeChart应用技术详解—快速图标制作工具》。

     

    l  按钮组件

    l  Edit组件

    l  OpenDialog组件

    l  数据库组件

     

    l  放置好组件的界面如下:

    2、 控件设置及代码编写

    l  数据通信组件

    ComDataPacket组件的ComPort属性设置成ComPort1,这样ComPort组件与ComDataPacket就建立了链接。

    假设单片机上传上来的数据格式是:

    设置ComDataPacket以下属性:

    在“打开串口”Button中添加如下代码:

     ComPort1.ShowSetupDialog;

    form1.ComPort1.Open;

     if form1.ComPort1.Connected = true then

     begin

     form1.Shape1.Brush.Color:=clgreen;

     end;

    这样在程序运行时,鼠标单击“打开串口”Button时就会以下对话框,就可以完成对串口的设置:

    l  曲线绘制组件

    双击Chart组件,添加5条曲线sensor1- sensor5:

    l  数据库组件

    双击控件,在弹出的对话框中选择Jet 4.0 OLE,点击下一步,在Build中选择要保存的数据库文件(此处只支持Microsoft Access2007),点击OK,在弹出的对话框中点击测试连接,当出现测试连接成功的时候表明数据库连接成功。

     

    将控件的Connection属性设置为ADOConnection,这样就建立了连接,方便通过ADO组件对数据库进行“增加”、“删减”等操作。

    l  保存为图片

    在保存按钮中添加如下代码,即可将波形截图,并保存为.bmp文件:

    form1.Chart1.SaveToBitmapFile(form1.Edit1.Text);

    l  保存到TXT

        AssignFile(F, form1.Edit3.Text);

        Append(F);

        Writeln(F, data) ;

        Closefile(F) ;

    l  保存到EXCEL   

        ExcelApp := CreateOleObject('Excel.Application' );

        ExcelApp.WorkBooks.Open(form1.Edit3.Text);

        ExcelApp.workbooks[1].sheets[1].name:='数据采集demo';

       ExcelApp.workbooks[1].sheets[1].CELLS[1,2]:='DATA';

        ExcelApp.workbooks[1].sheets[1].CELLS[1,3]:='TIME';

       ExcelApp.workbooks[1].sheets[1].CELLS[1,4]:='sensor1';

       ExcelApp.workbooks[1].sheets[1].CELLS[1,5]:='sensor2';

       ExcelApp.workbooks[1].sheets[1].CELLS[1,6]:='sensor3';

       ExcelApp.workbooks[1].sheets[1].CELLS[1,7]:='sensor4';

        ExcelApp.workbooks[1].sheets[1].CELLS[1,8]:='sensor5';

        ExcelApp.ActiveSheet.Rows[2].Insert ;

       ExcelApp.workbooks[1].sheets[1].CELLS[2,2]:=datetostr(now);

       ExcelApp.workbooks[1].sheets[1].CELLS[2,3]:=timetostr(now);

        ExcelApp.workbooks[1].sheets[1].CELLS[2,4]:=sensor1;

       ExcelApp.workbooks[1].sheets[1].CELLS[2,5]:=sensor2;

       ExcelApp.workbooks[1].sheets[1].CELLS[2,6]:=sensor3;

       ExcelApp.workbooks[1].sheets[1].CELLS[2,7]:=sensor4;

        ExcelApp.workbooks[1].sheets[1].CELLS[2,8]:=sensor5;

        ExcelApp.workbooks[1].SAVE;

    ExcelApp.QUIT;

    l  绘制曲线

    form1.Series1.Add(sensor1);

    form1.Series2.Add(sensor2);

    form1.Series3.Add(sensor3);

    form1.Series4.Add(sensor4);

    form1.Series5.Add(sensor5);

    l  完整串口中断函数

    在ComDataPacket控件的OnPacketEvents中添加如下代码:

    procedureTForm1.ComDataPacket1Packet(Sender: TObject; const Str: String);

    var

    a:byte;

    rev:array[1..25]ofuchar;

    DateTime:TDateTime;

    F:Textfile;

    sensor1,sensor2,sensor3,sensor4,sensor5:integer;

    ExcelApp:Variant;

     

    begin

        move(Str[1],rev,20);

        sensor1:=rev[3]*256+rev[4];//在这里只取了16位有效数据,如果想传输浮点数需要4个字节,读者可以思考一下处理的方法

        sensor2:=rev[7]*256+rev[8];

        sensor3:=rev[11]*256+rev[12];

        sensor4:=rev[15]*256+rev[16];

    sensor5:=rev[19]*256+rev[20];

    form1.Series1.Add(sensor1);

    form1.Series2.Add(sensor2);

    form1.Series3.Add(sensor3);

    form1.Series4.Add(sensor4);

    form1.Series5.Add(sensor5);

     

        ExcelApp := CreateOleObject('Excel.Application' );

        ExcelApp.WorkBooks.Open(form1.Edit3.Text);

        ExcelApp.workbooks[1].sheets[1].name:='数据采集demo';

        ExcelApp.workbooks[1].sheets[1].CELLS[1,2]:='DATA';

       ExcelApp.workbooks[1].sheets[1].CELLS[1,3]:='TIME';

       ExcelApp.workbooks[1].sheets[1].CELLS[1,4]:='sensor1';

       ExcelApp.workbooks[1].sheets[1].CELLS[1,5]:='sensor2';

        ExcelApp.workbooks[1].sheets[1].CELLS[1,6]:='sensor3';

       ExcelApp.workbooks[1].sheets[1].CELLS[1,7]:='sensor4';

        ExcelApp.workbooks[1].sheets[1].CELLS[1,8]:='sensor5';

        ExcelApp.ActiveSheet.Rows[2].Insert ;

       ExcelApp.workbooks[1].sheets[1].CELLS[2,2]:=datetostr(now);

        ExcelApp.workbooks[1].sheets[1].CELLS[2,3]:=timetostr(now);

       ExcelApp.workbooks[1].sheets[1].CELLS[2,4]:=sensor1;

       ExcelApp.workbooks[1].sheets[1].CELLS[2,5]:=sensor2;

       ExcelApp.workbooks[1].sheets[1].CELLS[2,6]:=sensor3;

        ExcelApp.workbooks[1].sheets[1].CELLS[2,7]:=sensor4;

        ExcelApp.workbooks[1].sheets[1].CELLS[2,8]:=sensor5;

        ExcelApp.workbooks[1].SAVE;

        ExcelApp.QUIT;

        AssignFile(F,  form1.Edit3.Text);

        Append(F);

        Writeln(F, data) ;

        Closefile(F) ;

    end;

    6、总结

        本文介绍了一下如何用DELPHI编写数据采集类上位机软件,当然写的比较简单,也比较啰嗦,仅仅适合硬件工程师为了工作方便而编写的工具类软件,也想强调一下,作为硬件工程师如果能够掌握一种上位机编程语言会让工作得到事半功倍的效果,也是一个机器人设计工作者处理各种传感器数据时需要用到的必备技能。

    展开全文
  • 六轴机器人控制系统软件设计

    千次阅读 2019-11-17 03:47:43
    这是一款基于Window操作系统,六轴机器人上位机软件 软件功能简介 标记文本 **1. 全新的界面设计 ,将会带来全新的写作体验; 2. DH参数设置; 3. 正解逆解实时运算; 4. 强大的图形化编程界面,仿工业ABB...
  • 传奇机器人模拟软件的动态链接库,支持使用C#进行上位机开发,与KROSET进行通讯以及文件操作,比如保存和下载程序。
  • 所以本文则介绍一下使用visual studio软件,进行C#上位机软件的开发入门。以同学们常用的串口助手(简洁版)为例,来着手进行学习和入门。由于笔者知识有限,且是第一次写博客,有不足或错误之处,还...
  • 其处于自动避障模式,当你用上位机软件或遥控器控制时按任意键蛇形机器人自动切换到受控模式,爬树功能的实现是在受控模式下进行的。 蛇形机器人硬件组成: 蛇形机器人共:17个舵机,两片M8,一片nrf905无线模块,2.4G...
  • 上位机软件和下位机嵌入式程序都可开发!!! 本款ROV上位机软件是用LabVIEW编写的,运行软件需要14及以上版本,最好安装VISION插件以实现姿态2D显示(不安装不影响使用)。主要功能:控制机器人、传感器数据显示、...
  • 上位机C#通过TCP/IP和库卡机器人通讯

    万次阅读 多人点赞 2019-07-18 14:42:17
    隔了相当长的一段时间,我又来写一下上位机C#利用TCP/IP和库卡机器人通讯的文章 上位机要想和库卡机器人通讯,首先要给机器人安装“ETHERNETKRL”这个软件,对,是给机器人安装。具体软件的安装以及初步通讯测试就...
  • 对于需要多传感器应用的场合,比如移动机器人的障碍物检测、超声波定位,多传感器的并行工作室一个比较麻烦的问题,在URM04采用了RS485串行通信总线的架构以后,不但可以使得32路URM04同时在线,并且不会增加用户的...
  • 远程控制小型机器人软件设计开发,黄河,李晓,文章介绍了一个小型双足机器人的串口调试控制上位机软件以及本地服务器串口控制上位机软件与远程客户端控制软件的设计与实现。串
  • 第一次使用UR机器人,并且尝试与上位机直接通讯,进行运动控制。因此本文记录整个安装调试过程,避免后续踩坑。本文采用socket通讯方式,通过python编程,实现机器人乱序抓取。(暂且不考虑视觉部分) 1 UR机器人...
  • 基于EthernetKRL库卡机器人tcp通讯软件,利用c#编程,实现上位机和库卡机器人的tcp/ip通讯。本人CSDN博客有写相关讲解文章。 包含c#程序,机器人程序src文件,数据文件dat,xml文件
  • C#上位机通过TCP通讯与库卡机器人连接,可实时返回机器人各关节位置,返回位置可导出为.CSV文件; 通过上位机控制机器人,实现各关节单步运动及当前位置到给定坐标的点运动两种形式; 资源包括【KUKA端】、【PC端】...
  • 1、本项目使用RobotStudio内部仿真IO和TCP/UDP socket通信测试工具...且端口不能为已经被其它软件占用的端口。 4、资源包含TCP/UDP测试工具、测试说明、Socket程序代码、码垛、搬运、贴标签等机器人运行代码与配置文件
  • 魔方机器人的分上位机PC端软件以及下位机arduino软件上位机采用python编写,带有UI,用户需输入魔方各个面的颜色分布,点击solve按钮,软件就会将解魔方步骤通过串口发送给arduino。下位机arduino接受到串口命令后...
  • UR机械臂上位机开发

    千次阅读 2020-06-11 10:00:50
    为解决这一问题,我们为UR用户提供上位机开发服务,即基于PC端采用上位机软件控制机器人运动交互,取代传统的示教器。包含SDK,demo示例,以及指令列表,根据不同需求定制化模块。 • 移动模块 • 通讯模块 • ...
  • 一个电脑上位机,可以连接舵机控制板,最多可对18路舵机进行控制,可添加、删除、更新、插入动作。可以下载动作组到控制版。
  • 每个人可能都会有自己的框架,但是法无定法,万法归宗,下面小白给出自己做开发时使用的软件框架。你既可以直接拿去使用,也可以在此基础上开创属于你的框架。 下面讲述的框架,来自小白使用的机器人,是用C++语言...
  • TCP的位姿是由机器人上位机软件或API给出的,因此第一步是先想办法拿到标定板的位姿 标定板位姿:直接跑参考文献2的代码即可,我稍作了修改,代码如下: 拿到位姿之后,进一步用参考文献二中的方法,标定出手眼变换...
  • 感谢龙哥指导使用如此优秀的上位机调参软件快速实现基于pyb开发的机器人...在Micropython中打通和上位机的串口通信协议,从而实现下位机个上位机通过串口发送数据,上位机可以正确解读从而在上位机软件中实现绘图功能.
  • 视觉追踪是智能机器人的核心功能之一,... 机器人上位机软件使用Python在Linux系统下编程实现, 两者之间通过WiFi进行视频流与追踪控制命令的交互. 实测表明, 所研制智能机器人的视觉追踪功能具有良好的稳定性和性能.
  • 双足竞步机器人的设计与实现,高峰,徐楠,根据双足竞步机器人比赛规则,本文使用VB编写上位机软件,通过串口对双足竞步机器人进行调试,利用Atmega8产生PWM波来控制MG995,设计过

空空如也

空空如也

1 2 3 4 5 6
收藏数 112
精华内容 44
关键字:

机器人上位机软件