k210-arduino深度学习视觉机械臂抓取

一、arduino对机械臂的基础控制

       1、首先实现arduino对机械臂的控制(点动和自动),六个轴分别定义为xyzjkl。

点动:点动方式为按一下对应按键使对应轴正转或反转3度,此方式能够使机械臂快速移动到目标位置,到达目标位置可以在串口输入“o”返回当前各轴角度。

自动:在串口输入指定轴目标角度,arduino控制机械臂该轴自动运行到目标位置。

此外,添加了减速程序,防止机械臂运动过快出现抖动;还有一键恢复abs点。

以上程序根据b站太极创客meArm4轴机械臂控制教程结合我自己的机械臂编写:【太极创客】零基础入门学用Arduino 第二部分 meArm机械臂 合辑_哔哩哔哩_bilibili

二、maixpy串口发送中心点部分程序说明

三、arduino接收k210通过串口发来的位置

建立通信协议,接收k210发来的字符串并提取出有用的中心X,Y坐标

四、坐标系互换和运动学求逆解

由于需要识别的物体大小不同,k210上识别出来的坐标和框图大小不一定,坐标系互换比价复杂,所以还在研究。现在用的是比较简单的视觉识别物体发送中心点给机械臂然后求逆解控制运动的方法。

部分求逆解程序:

五、把k210和机械臂连起来

k210识别物体并发送中心点位置给arduino

arduino接收位置并求逆解以及求正解验算

效果展示:K210机械臂视觉抓取_哔哩哔哩_bilibili

  • 25
    点赞
  • 199
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
要实现K210Arduino之间的串口通信,需要做以下几个步骤: 1. 选择合适的串口模块 K210内部有多个串口模块可供选择,要根据实际需要选择合适的串口模块。一般来说,可以选择UART0或UART1。 2. 连接硬件 将K210的串口模块的TX引脚连接到Arduino的RX引脚,将K210的RX引脚连接到Arduino的TX引脚,同时将两个设备的地线连接在一起。 3. 配置串口参数 在K210的代码中,需要配置串口的波特率、数据位、停止位、校验位等参数,确保与Arduino的串口参数一致。 4. 编写代码 可以使用Arduino的Serial库或K210的UART库来实现串口通信。在K210的代码中,需要使用uart_send_data()函数将数据发送到串口,使用uart_receive_data()函数接收串口数据。 下面是一个简单的示例代码: K210代码: ```c #include "uart.h" void main() { uart_init(UART_DEVICE_1, 115200); while(1) { uart_send_data(UART_DEVICE_1, "Hello, Arduino!\n", strlen("Hello, Arduino!\n")); uint8_t buf[1024]; size_t len = uart_receive_data(UART_DEVICE_1, buf, sizeof(buf)); if(len > 0) { buf[len] = '\0'; printf("Received: %s\n", buf); } } } ``` Arduino代码: ```c void setup() { Serial.begin(115200); } void loop() { if(Serial.available() > 0) { String data = Serial.readString(); Serial.print("Received: "); Serial.println(data); Serial.print("Echo: "); Serial.println(data); } delay(1000); } ``` 这个示例程序实现了K210Arduino发送数据,并接收Arduino的回复,同时Arduino也会将接收到的数据原样回传给K210

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值