一、准备工作windows电脑端安装拳皇游戏
(因为是按键模拟,理论上只要是按键控制的游戏都可以玩,本文用mame模拟器作例子,下载mame:mamedev.org | home of the mame project)
windows可直接从该目录下载,下载完成后需先解压,解压完成即可看到启动程序。
现在,我们已经搞定了模拟器,还需要有游戏的roms才能运行,大家可以自行在网上找各种资源(相关资源点击文末链接即可获取)。
下载之后,将下载的zip文件直接放到刚才解压出来文件夹下面的roms下面。接下来,在刚才解压出来的文件夹目录下,在地址栏输入cmd,回车。
在弹出的命令行里,输入“mame -keyboardprovider win32 sfiii3nr1”,即可启动游戏。
查看操控按键的信息,可以按下按键,弹出设置界面,选择(双击或者回车)input settings,input assignments(this system),就可以看到所有的按键介绍,例如kbd up就是键盘的向上按键。修改某个按键,双击或回车,然后输入新的按键即可。
这里有一点需要注意,游戏默认的按键和代码中给的按键有部分不同,需要提前修改。可按照以下对应关系修改按键。
action2key = { 'coin_p1': '5', 'coin_p2': '6', 'p1_start': '1', 'p2_start': '2', 'p1_jpunch': 'l-ctrl', 'p2_jpunch': 'a', 'p1_right': 'right', 'p2_right': 'g', 'p1_left': 'l', 'p2_left': 'd', 'p1_down': 'down', 'p2_down': 'f', 'p1_up': 'up', 'p2_up': 'r', 'p1_skick': 'l-shift', 'p2_skick': 'w', }
windows电脑端启动信号接收程序
由于windows电脑的mame没法用脚本控制(ubuntu可以使用mametoolkit控制),所以只能用通过模拟按键的形式来控制游戏。脚本如下,启动命令为:
python3 your_python_file --ip your_ip #代码可阅读全文获取
旭日x3派运行人体检测代码
由于街头霸王游戏动作太过于激烈,所以对人体骨骼检测的实时性要求也很高,目前市面上能做到又准确、又实时、价格也便宜的,就地平线的旭日x3派,不多说,直接开搞。
首先,先确保你有一块旭日x3派,以及摄像头(最好是usb的,线比较长一点),本文也将借助地平线机器人开发平台上的手势识别算法。
机器人开发平台的手势识别算法,目前只支持mipi输入,不能使用usb相机作为输入。可以通过修改ros的config文件实现这个,打开/opt/tros/share/hand_gesture_detection/launch/hobot_hand_gesture_detection.launch.py。mipi原来的节点(如下图):
两个node节点替换为usb相机的节点即可:
代码如下:
# usb cam图片发布pkg node( package='hobot_usb_cam', executable='hobot_usb_cam', name='hobot_usb_cam', parameters=[ {frame_id: default_usb_cam}, {image_height: 480}, {image_width: 640}, {zero_copy: false}, {video_device: /dev/video8} ], arguments=['--ros-args', '--log-level', 'error'] ), # nv12图片解码&发布pkg node( package='hobot_codec', executable='hobot_codec_republish', output='screen', parameters=[ {channel: 1}, {in_mode: ros}, {in_format: jpeg}, {out_mode: shared_mem}, {out_format: nv12}, {sub_topic: /image}, {pub_topic: /hbmem_img} ], arguments=['--ros-args', '--log-level', 'error'] ),
另外,还需要将websocket的监听节点,从/image_jpeg 改成/image,就可以使用usb相机作为手势检测的输入了。
其次,安装了地平线机器人开发平台的软件包(apt install tros),能够跑起来。
最后,请将这个python文件下载到你的旭日x3派上。其中,第11行的action2key 一定要和上文安装拳皇游戏时游戏控制保持一致,否则发送的按键不被识别。
相关资源点击文末即可获取
二、使用操作具体操作步骤主要分为三步:
①在window电脑端,运行前文下载的python文件(ip查询:在cmd命令行输入ipconfig,找到你的ip地址):
python3 your_python_file --ip your_ip
②启动游戏(启动之前,一定要先设置输入法为英文模式),游戏启动命令如下:
mame -keyboardprovider win32 sfiii3nr1
③在旭日x3派上,先启动手势检测的示例,然后在另外一个终端运行人体检测的python脚本(注意:ip地址是你windows电脑的ip地址,与第一步地址一样);
python3 your_python_file --ip your_remote_computer_ip
三、手势说明
本文转自地平线开发者社区
原作者:lucky
OptiSystem模拟光检测和测距系统的使用演示
美国海军利用区块链技术来探索3D打印的潜力
[组图]集成电路管脚识别方法
浅谈4680电池绕不开的成本难题
磁性元件在开关电源中有哪些损耗
玩转X3派,健身游戏两不误
Zebra发布新款阅读器ATR7000,提供有关标签物品或人员的实时位置数据
酷比F1怎么样 值不值得买
基于RS-485总线实现智能断路器控制系统的设计
基于DSP的心电监护模块设计
企业为AI平台选择存储设备之前 必须首先考虑以下几个要素
深入探讨封装基板
Acrel-2000E/B配电室综合监控系统简介
小米Note3和荣耀V9哪个值得买?全方位对比评测
中国移动稳中求进实现高质量发展,经营业绩整体保持平稳
光纤带宽测试实验
制造业升级带来巨型蛋糕 机器人产业正当风口
苹果为Chrome浏览器推扩展程序
5G+VR的自由世界:HTC正式发布Vive Focus Plu
电池与数字负载