HEXA開發(fā)日志目錄
上一篇 HEXA娛樂開發(fā)日志技術(shù)點(diǎn)007——放棄標(biāo)準(zhǔn)姿勢
成果
動作也調(diào)通了,版本是101af8aa0fe7ef71f74bbd1dd792779761c5294e。
機(jī)器人身體控制
這一修改主要是把彈幕和機(jī)器人的運(yùn)動結(jié)合起來,沒什么復(fù)雜的,這里簡單介紹一下如何控制機(jī)器人運(yùn)動。
首先定義機(jī)器人的前,是攝像頭對著的方向,反方向?yàn)?strong>后。
我增加了以下命令:
-
w
前進(jìn)命令,彈幕上發(fā)w,機(jī)器人會前進(jìn)一點(diǎn) -
s
回退命令,彈幕上發(fā)s,機(jī)器人會前進(jìn)一點(diǎn) -
a
左轉(zhuǎn)命令,彈幕上發(fā)a,機(jī)器人頭會左轉(zhuǎn)45度 -
d
右轉(zhuǎn)命令,彈幕上發(fā)d,機(jī)器人頭會右轉(zhuǎn)45度 -
l
向左移動命令,,彈幕上發(fā)l,機(jī)器人頭會向左移動一點(diǎn) -
r
向右移動命令,,彈幕上發(fā)r,機(jī)器人頭會向右移動一點(diǎn)
實(shí)現(xiàn)這些命令,只用了4個API,文檔
-
func Stand() error
站立,就是恢復(fù)成標(biāo)準(zhǔn)站立姿勢。 -
func Direction() (currDir float64)
方向,可以獲得機(jī)器人的頭部相對于身體前方的角度。官方文檔定義,底盤上開關(guān)的方向?yàn)?strong>底盤前方。 -
func MoveHead(degree float64, duration int) (err error)
旋轉(zhuǎn)頭部,將頭部轉(zhuǎn)動到相對于底盤前方的角度,第一個參數(shù)是從0~359°的逆時針角度。 -
func Walk(direction float64, duration int) error
行走,向特定方向行走,方向和旋轉(zhuǎn)頭部的定義一樣,也是相對于底盤前方的角度。
向前行走就是向著當(dāng)前頭部方向行走,向左右移動就是向著當(dāng)前頭部方向±90°方向移動。
總結(jié)
這個瞎搞的項(xiàng)目總體上不成功。當(dāng)然,因?yàn)橐矝]有太高期望,前期也沒有太深入研究,所以項(xiàng)目的失敗之處就是不該立項(xiàng),而應(yīng)該用它做點(diǎn)別的。再當(dāng)然,這只是從功利角度說的,從自娛自樂角度,很有意思。
應(yīng)該不會有了吧