小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 7051|回复: 4

求助,如何改用Matlab实现对小车的控制

[复制链接]
发表于 2015-12-5 18:28:51 | 显示全部楼层 |阅读模式
官方给的软件是已经做好的,但实际上就是输送16进制的指令给小车吧,比如FF 00 01 00 FF。
但是这样就比较麻烦,如果我们想持续往前,我们可以连续发送这个数据指令流给小车,因此想到改到MATLAB来控制。
我们可以看到小车的Wifi IP地址和端口,然后用Matlab打开端口,把指令打过去
按理说应该可以的?
但是结果发现并不行……
求助,有没有高手自己用MATLAB控制的?要咋弄?是不是用tcpip指令打开端口……(目前只能想到这些)
还有,有上位机的C源代码,我估计也可以实现我们的期望,但是要怎么用它呢?就是如何实现代码和小车的连接呀?
挺急的,,,万分感谢高手们赐教~T.T
回复

使用道具 举报

发表于 2015-12-6 19:42:54 | 显示全部楼层
如果IP和端口正确,不行的话只有可能你的通信协议发错了。
回复 支持 反对

使用道具 举报

发表于 2015-12-7 11:11:51 | 显示全部楼层
给小车发送16进制指令(FF 00 01 00 FF)是没有问题的,但是您说的需要连续发送才能使小车前进,这个是不对的吧,只需要给小车发送一遍FF 00 01 00 FF 小车就前进了,如果你连续发送,只能会使单片机的不断的重复解析控制指令,所以直发送一遍就好了,而且我们论坛的软件上也对控制端做了优化,控制指令不是连续发送的(你可以用串口助手测试一下)。

如果你用论坛的软件控制小车没有问题,说明小车下位机的硬件没有任何问题了,现在改用MATLAB编写的程序无法控制,原因可能有如下原因:
1、控制地址和端口是否配置正确;
2、发送控制指令是否正确,例如我们看前进的控制指令是FF000100FF看上去好像是一串字符串,实际上通过上位机发送出去的是5对16进制(hex格式)首先发送包头FF,然后发送00,然后是01,然后是00,最后包尾FF,所以一定注意我们发送的5对16进制,不是5对字符串,我估计你的问题就是这里了。
3、上位机连接路由器的通讯协议是TCP协议,这个自己百度找demo就行了,注意ip和端口不要写错。如果你用的是论坛的wifi模块,ip:192.168.1.1,端口:2001。可以用串口助手测试一下,MATLAB是否可以正常发送控制指令,如果可以,再回头第2步,如果不可以就检测tcp协议了。
最后论坛有很多开源的源码供你参考,祝您你早点完成你的大作。。。
回复 支持 反对

使用道具 举报

发表于 2015-12-11 14:11:46 | 显示全部楼层
希望可以增进学习
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-28 22:04:32 | 显示全部楼层
robotStudio 发表于 2015-12-7 11:11
给小车发送16进制指令(FF 00 01 00 FF)是没有问题的,但是您说的需要连续发送才能使小车前进,这个是不对 ...

谢谢!第2点其实不太懂如何检查,网上的demo也没有详细说明如何发送一串十六进制指令而不是字符串的,MATLAB用的不太溜好心塞,已经一个月多了还是搞不出来。。
有个问题:我用串口助手发一个前进指令,小车就会一直前进…这是为什么…按键的话按一下是动一下的…
这样就无法实现用其他上位机软件打包发送多个指令实现连续自动控制了。。请问这问题有办法解决吗?
另外最近转用VS的C#来给小车发送指令。由于对C#不了解,不知您是否知道如何用VS编写程序向小车发送指令?最好能连续控制……
谢谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-11-23 00:15 , Processed in 1.100901 second(s), 19 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

快速回复 返回顶部 返回列表