博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《实时控制软件设计》第四周作业
阅读量:5132 次
发布时间:2019-06-13

本文共 747 字,大约阅读时间需要 2 分钟。

1.游戏软件设计要求:

  • 冰球桌仿真环境:包含一个冰球桌面(及四周的挡板球洞),一个冰球,一个或两个击球器的模型, 类似下图所示。基于物理引擎模拟冰球与击球器和挡板的碰撞产生的实际运动。仿真可支持练习模式和对战模式。练习模式下只有一个半区有击球器,由仿真环境随机发球给击球器;对战模式下两个半区各有一个击球器。仿真环境要实时对外提供冰球和击球器的当前状态(位置和速度)。
  • 机械手控制平台:一个两轴平面直角机械手,控制击球器在桌面的半区运动,打击从对面半区发来的冰球,通过运动规划控制击球器运动,使冰球进入对方球洞得分。机械手的控制软件包括但不限于如下功能:
    1) 根据仿真环境提供的冰球当前的运动状态,制定运动策略,确定击球点。
    2)发送运动控制指令给机械手控制器,使其能在给定时间点,在预期的位置以预期的速度击打到冰球。
    3)机械手控制器解析并执行运动控制指令,并通过轨迹插补和加减速控制使运动平滑。
  • 1069203-20161220153954995-1221879537.jpg

2.游戏系统设计思路:

  • 仿真环境搭建:
    1)显示游戏的环境:可以采用qt图形用户界面应用程序开发框架来实现。
    2)碰撞运动模拟:可以用ODE开源物理引擎模拟冰球与击球器和挡板的碰撞产生的实际运动,并实时输出冰球和击球器的状态。
  • 机械手控制平台:
    1)实时输入冰球的运动状态及位置,预测冰球的运动轨迹。
    2)根据预测的轨迹计算冰球将要到达的位置,然后确定击预期球点和击球速度。
    3)在起始点和击球点之间进行轨迹插补和加减速控制是运动更加平滑。
    4)制定运动策略:运动策略包括两种即直接瞄准对方球门击球和通过挡板碰撞反弹进入对方球门。
  • 关键算法:
    1)使轨迹平滑的插补算法
    2)预计冰球位置的插值算法

转载于:https://www.cnblogs.com/syth/p/6203174.html

你可能感兴趣的文章
Java异常抛出
查看>>
[SQL Server 系] T-SQL数据库的创建与修改
查看>>
74HC164应用
查看>>
变量声明和定义的关系
查看>>
Wpf 之Canvas介绍
查看>>
linux history
查看>>
jQuery on(),live(),trigger()
查看>>
Python2.7 urlparse
查看>>
sencha touch在华为emotion ui 2.0自带浏览器中圆角溢出的bug
查看>>
【架构】Linux的架构(architecture)
查看>>
ASM 图解
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>
grafana授权公司内部邮箱登录 ldap配置
查看>>
treegrid.bootstrap使用说明
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>
javascript 浏览器类型检测
查看>>
nginx 不带www到www域名的重定向
查看>>
记录:Android中StackOverflow的问题
查看>>
导航,头部,CSS基础
查看>>