模块化机械臂上位机设计及下位机通信


前言

本周完成机械臂上位机界面各模块程序编写,并借用师兄图像识别代码完成机械臂位置控制,此外本周还进行了srtp结题材料准备,撰写研究报告等


一、上位机功能介绍

(由于博客不能放视频,用图片替代)

1、上、下位机通讯,选择端口号和波特率

在这里插入图片描述

2、机械臂位姿初始化及机械爪的状态控制(由于机械爪在实验过程中不小心损坏,这里不贴图了)

在这里插入图片描述

3、三维空间目标点定位

4、机械臂点动控制

在这里插入图片描述

二、上位机程序设计及所解决问题

1.串口通信

代码如下:

private void SearchAndAddSerialToComboBox(SerialPort MyPort, ComboBox MyBox)
        {
            string[] MyString = new string[20];
            string Buffer;
            MyBox.Items.Clear();
            int count = 0;

            for (int i = 1; i < 20; i++)
            {
                try//扫描
                {
                    Buffer = "COM" + i.ToString();
                    MyPort.PortName = Buffer;
                    MyPort.Open();
                    MyString[count] = Buffer;
                    MyBox.Items.Add(Buffer);
                    MyPort.Close();
                    count++;
                }
                catch{}
                MyBox.Text = MyString[0];
            }
        }

思路为轮流打开前20个端口号,如果端口号可以打开,记录该端口号于ComboBox中以供选择,关闭端口号。

需要注意的是创建端口最好使用以下代码,其可以在多窗口使用,而工具箱控件创建的端口不能被其他窗口调用

public static SerialPort serialPort1 = new SerialPort();

2.C#调用matlab函数

参考此篇博客
1.首先配置环境。

Matlab Runtime (MCR)一定要和你的C#项目平台一致。

c#项目平台如下图,可以点击箭头→配置管理器→活动解决方案平台→新建→选择需要的项目平台。
在这里插入图片描述
而Matlab Runtime的配置可以在系统的环境变量中查找,具体步骤:我的电脑右键属性→高级系

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值