** 方案介绍 **
无人车,无人机械通过树莓派链接的4g/5G网卡或手机热点连接公共网络,控制端通过办公室宽带电脑接收实时图像,并通过键盘控制,电脑接收的优势是:不用另外配置接收设备,同时显示也是大屏,相比手机的小屏幕能到达更好的效果,更适用于工业控制。无人车/无人机械由树莓派gpio接现成的电机控制模块(小车的话单个模块成本都是10元左右)。
那么图传的延迟怎么样?经过我们多次测试,在wifi环境下,采用800*600,25帧/秒的情况下,并使用csi摄像头(有些usb摄像本身延迟大),视频最低延迟达到0.12秒。视频传输可以选择h264模式,不需要很大带宽。
所需硬件:(为方便介绍,以无人小车为例,如果是大车或机械区别主要在第4点,需要选购大功率驱动模块或者固态继电器)
1.无人车/无人机械,这个无人车本省不需要支持遥控功能,比如电动童车即可。
2. 树莓派一个(装在小车上),zero W,zero 2w,3B+,4B都行,推荐使用zero 2w<功耗小,算力强>(以下是以4B为例,其他版本略作更改);没有wifi功能的树莓派缺少直接wifi遥控功能,如果需要则另配wifi模块。注意:树莓派系统必须是buster版本,bullseye版本不支持。
3. 摄像头一个,可以树莓派专用的csi摄像头,或则usb摄像头;这两种摄像头区别是:csi摄像头是树莓派专用的摄像头,支持各种模式:mjgp模式,h264模式以及灰图视频;usb摄像头目前市场上选择比较多,普通摄像头只支持mjgp模式,那么就需要很大带宽,5g/wifi下可以使用,但4G下不建议。如果用usb摄像头希望达到好的效果,建议选择大厂出品的高速摄像头并支持h264模式。
4. l298N两个:一个控制无人车前进后退,转向;另一个控制摄像头水平转动;如果不需要摄像头转动,那么只需一个即可,如果有更多外设,根据需要增加。淘宝11元左右一个。
5. 5v低波纹降压模块3A以上一个,需要可以和输入端共地,建议是有两个usb输出,给树莓派和音箱供电,有usb的话主要方便不用焊线;市场价15-30元的样子。
6.4g/5g网卡(需要支持ipv6)或者支持4/5g开热点的手机一个。如果您只在wifi下使用(这个wifi接入互联网,主控端也可以在另一个城市),并且类似4B本身具有wifi模块,则这个网卡可以不配。
7. usb声卡一个30元左右(5元的那种噪音太大),usb小音箱一个,远距离拾音话筒一个。这三个配件是选配,如果不需要声音功能不需要配置.
8. 母对母优质杜邦线10cm和50cm(根据接线长度选择),20条左右,0.3A电线若干,焊锡若干。
制作步骤:
1.电脑端接入ipv6宽带
目前三大运营商在绝大部分地区启用了ipv6,绝大部分新路由器也都支持ipv6。如果您路由器支持ipv6那么在路由器上设置开启ipv6;如果您路由器不支持但宽带支持,那么可以电脑直接连接光猫(不用购买新路由器,电脑上宽带拨号)。各项设置好后,查看自己电脑情况:在dos界面打入ipconfig,出现类似如下界面时就代表ipv6宽带启用了:
2.接线
树莓派摄像头接线介绍的很多,这里不再赘述,如果是usb摄像头,直接接入树莓派的usb端口即可。声卡(选配),楼主用的是绿联的声卡:
一端直接接入树莓派usb;另一个端分别插入麦克风和usb音箱的信号输入端。树莓派gpio接线看如下图(3b或4B,其他型号排列位置不同,接线端口号相同):
我们用到的是gpio.6,gpio.21-gpio.29(看需要接,不一定全部接,全部接需要三个l298n看下文表述)。gpio.6是扩展功能,如果您无人车上有其他设备,可以用这个来控制。gpio.21与22控制无人车转向;gpio.23,gpio.24控制无人车前进与后退;gpio.25,gpio.26控制摄像头左右转(如果有),gpio.27,28控制摄像头上下转(如果有)。树莓派gpio.6,gpio.21-29分别通过杜邦线引出并接入l298n的信号输入端。l298n使能端给与跳线"能“的状态,不需要额外接线。l298n接线的介绍文章很多这里不赘述。如果您不清楚,或找不到资料,进群交流(群号:615075318)。gpio.29是控制灯,也是看需要配置和接线。
这里说的控制的电机都是指直流电机,比如转向电机也是普通直流电机,不是舵机(舵机需要更多信号线),这里需要提醒一点:直流电机因为转向幅度不可预知,所以功率大的转向电机或者摄像头转向电机需要加限位器,到底了就切断一个方向电路,防止堵转烧坏。如果不知道具体怎么做,咨询群里)
3.安装软件
树莓派端:用户目录下:
wget http://www.jxymz.top/download/client.tar.gz --下载文件,下载后解压
tar zxvf client.tar.gz --解压后生成一个client目录,
进入client, 复制文件到库文件目录,依次执行以下命令并最后运行encode程序:
cd client
sudo cp -af ./* /usr/local/lib
cd …
wget http://www.jxymz.top/download/faac-1.29.9.2.tar.gz
tar zxvf faac-1.29.9.2.tar.gz
cd faac-1.29.9.2
./configure
sudo make install
把gpio更新到最新:
cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
加链接库信息:
cd /etc
sudo nano faac.conf
在编辑窗口输入:
/user/local/lib
ctrl+x退出保存
sudo ldconfig
cd
cd client
./encode
运行后会生成一个num.a的文件,勿删除。
然后若需要加入开机启动:
sudo nano /etc/rc.local
在rc.local中的exit前加入一行:exec /home/pi/client/client_start.sh;保存退出。树莓派端的主程序是client。以上步骤都做好后,运行一下client测试:
pi@raspberrypi:~/client $ sudo ./client
出现如下界面即代表运行正常:
注意:设置了开机启动,树莓派重启后就自动启动了,不能再手工启动(会报错).
若提示缺少什么库文件,群内索取 群号:615075318。
主控端pc安装:
文件下载地址为:www.jxymz.top/download
因为该软件是通过键盘操控,所以运行时需要在底层实时接收键盘信息;但这往往会被杀毒软件和win10自带的安全中心认为是病毒而屏蔽。因此下载前需要先关闭他们或让他们放行下载的软件。
下载了congrol.rar后直接解压到当前文件夹:生成两个快捷键和一个文件夹。这时再把树莓派安装时生成的num.a复制到control文件夹内即可。遥控时双击快捷文件server_programme即可。
特别提醒:在调试时,特别是大车或机械,一定要让它们处于”无害“状态:比如车子后轮悬空。主要防止接线错误或其他异常导致车子冲出去撞人或机械设备砸到人。
到这里全部安装已经结束了,软件的操控见:
操作帮助 www.jxymz.top
任何问题可在qq群内交流:615075318