కంట్రోలర్లుగా రియల్ గన్స్: VR లో ప్రతిదీ ఎలా పొందాలి

నేను క్రిస్టోఫర్ ఓ హగన్, ain కైనోసాఫ్ట్వేర్ వద్ద సాఫ్ట్‌వేర్ ఇంజనీర్ మరియు నేను అప్లైడ్ ఇన్నోవేషన్ విభాగంలో పని చేస్తున్నాను. లీనమయ్యే టెక్నాలజీలపై దృష్టి పెట్టండి. ఈ బ్లాగ్ మేము ఇటీవల పూర్తిగా పనిచేసే రైఫిల్‌ను వర్చువల్ రియాలిటీ కంట్రోలర్‌గా ఎలా మార్చాము మరియు దానితో వచ్చిన సమస్యలను మేము ఎలా పరిష్కరించాము.

వారి ఆర్కేడ్ కోసం ఆకర్షణగా వాస్తవిక షూటర్‌ను నిర్మించడంలో సహాయం కోసం వెతుకుతున్న కెనడియన్ కస్టమర్ మమ్మల్ని ఇటీవల సంప్రదించారు. ఎస్కేప్ రూములు మరియు రోలర్ కోస్టర్స్ వంటి ఆన్-సైట్ వినోద వ్యాపారాల కోసం VR వంటి లీనమయ్యే సాంకేతిక పరిజ్ఞానాలు ఉపయోగించబడుతున్నందున ఇది మేము పెరుగుతున్న ధోరణిలో భాగం. ఈ కంపెనీలు అందించే అధిక ట్రాఫిక్ మరియు నవల వాతావరణాల కారణంగా పరికరాలు మరియు సెటప్ ఖరీదైనవి. ఆన్-సైట్ వినోదానికి మంచి ఉదాహరణ ది వాయిడ్ వంటి సంస్థలు తయారుచేసిన వర్చువల్ పెయింట్ బాల్.

మేము సహాయం చేసిన లీనమయ్యే షూటర్‌కి మా పెద్ద సవాలు నిజమైన తుపాకీని నిర్మించడం మరియు ఉపయోగించడం ... లేదా కనీసం ఏదో ఒకటి అనిపించింది.

నియంత్రిక పొందండి

నియంత్రికను పొందడం కష్టమని మేము మొదట భావించాము. మేము స్థానిక మృదువైన ఆయుధ సరఫరాదారు గేర్ ఆఫ్ వార్ వద్దకు చేరుకున్నాము. మా అవసరాలు:

  • నిజమైన రైఫిల్ లాగా కనిపించే, అనుభూతి చెందిన మరియు బరువున్న గాలి-మృదువైన రైఫిల్
  • కాల్చినప్పుడు, వాస్తవిక పున o స్థితిని ఉత్పత్తి చేసే ఆయుధం
  • ట్రిగ్గర్ మరియు సెక్యూరిటీ వైర్డు, తద్వారా వాటిని మా అనుకరణకు ఇన్‌పుట్‌ల కోసం ఉపయోగించవచ్చు

ఇది చాలా అడుగుతుందని మేము అనుకున్నాము కాని ఇది వారికి సాధారణమైనదిగా అనిపించినందుకు ఆశ్చర్యపోయాము. వారు టీవీ మరియు చలన చిత్రాల కోసం చాలా ఆధారాలు చేశారు, కాబట్టి వారికి అపరిచితుల అభ్యర్థనలు ఉన్నాయి. VR లో తుపాకీని ట్రాక్ చేయడానికి మేము మౌంట్ చేసిన వివే ట్రాకర్‌ను ఉపయోగించాము.

నియంత్రికను ఏర్పాటు చేస్తోంది

ఇక్కడే మేము మా ప్రధాన సమస్య, వైబ్రేషన్‌ను అనుభవించాము: మా ఆయుధం యొక్క వాస్తవిక పున o స్థితి కారణంగా సమస్య సంభవించింది. ఎందుకంటే వైవ్ ట్రాకర్ అధిక పౌన frequency పున్యంలో ట్రాకింగ్ కోసం IMU లను (జడత్వ కదలిక యూనిట్లు) మరియు తక్కువ పౌన frequency పున్యంలో ట్రాక్ చేయడానికి మరియు డ్రిఫ్ట్ దిద్దుబాటు కోసం వైవ్ లైట్హౌస్ వ్యవస్థను ఉపయోగిస్తుంది. ప్రతి అక్షంలో త్వరణాన్ని కొలవడం ద్వారా మరియు ఆ కొలత నుండి స్థానభ్రంశాన్ని లెక్కించడం ద్వారా IMU లు పనిచేస్తాయి. IMU లు దూకుడుగా కంపించేటప్పుడు, ఉదా. B. వాటిని వాస్తవికంగా కాల్చే ఆయుధంపై అమర్చినట్లయితే, అవి ఖచ్చితంగా ట్రాక్ చేయలేవు. అది ఒక సమస్య.

మేము వైబ్రేషన్‌లో నిపుణులు కానందున, మేము సమస్యను పరిష్కరించడానికి కొన్ని ప్రయత్నాలు చేసాము, కాని కొంచెం పురోగతి సాధించాము. అప్పుడు మేము r / Vive కు రెడ్డిట్ పోస్ట్ పంపాలని నిర్ణయించుకున్నాము. సంఘం ప్రతిస్పందన సహాయకారిగా ఉంది. మేము పట్టించుకోని కొన్ని సాధారణ విషయాలను పరిష్కరించాము, ట్రాకర్ రైలులో చాలా దూరంలో ఉంది. మా ఆశ్చర్యానికి, హెచ్‌టిసి ఈ ప్రాజెక్ట్‌తో సంబంధాలు పెట్టుకుంది మరియు మేము ఏమి చేయాలనుకుంటున్నామో దానిపై ఆసక్తి చూపించింది. వారు మాకు ఇచ్చిన IMU కోసం తక్కువ పాస్ ఫిల్టర్‌ను రూపొందించడంలో సహాయపడే వివే ట్రాకర్ ఫర్మ్‌వేర్ యొక్క బీటా వెర్షన్‌ను కలిగి ఉన్నారు.

తక్కువ పాస్ ఫిల్టర్ ఉపయోగించిన తర్వాత సాధారణ ఇన్పుట్ మరియు ఇన్పుట్ యొక్క గ్రాఫ్

తక్కువ-పాస్ ఫిల్టర్‌ను USB-HID ఇంటర్ఫేస్ ద్వారా కాన్ఫిగర్ చేయవచ్చు. ఉపయోగంలో ఉన్న పరికరం గురించి ప్రాథమిక సమాచారాన్ని పంపే 0xB3 నివేదికలను, అలాగే మాక్‌బుక్ నుండి ట్రాకర్‌కు తక్కువ పాస్ కాన్ఫిగరేషన్‌ను పంపగలిగాము మరియు కంపనాలను తగినంతగా తగ్గించడానికి సరైన సెట్టింగులను కలిగి ఉన్నాము. తదుపరి దశ ఫంక్షనల్ రిపోర్ట్ పంపడం, ఇది తుపాకీ యొక్క గుళికలో సరిపోయే ఏదో మాకు అవసరం కనుక సెట్టింగులకు మార్పులు మరియు రాస్ప్బెర్రీ పై నుండి ట్రాకర్కు HID పరికరాల నియంత్రణను అనుమతిస్తుంది. వినియోగదారు వైరింగ్ చూడలేకపోయారు.

తక్కువ పాస్ ఫిల్టర్

ఈ రకమైన ప్రాజెక్ట్ కోసం రాస్ప్బెర్రీ పైని ఏర్పాటు చేయడానికి ఇవి దశలు

  • రాస్ప్బెర్రీ పై పై రాస్ప్బెర్రీని ఇన్స్టాల్ చేయండి
  • "Node.js" యొక్క పై సంస్కరణను నవీకరించండి
  • నిర్దిష్ట సూచనల కోసం మీ ప్రాజెక్ట్‌లో "నోడ్-హిడ్" లైబ్రరీని ఇన్‌స్టాల్ చేయండి
  • Udev లో, ఈ పంక్తితో "60-HTC-Vive-perms.rules" అనే ఫైల్‌ను జోడించండి
KERNEL == "hidraw *", SUBSYSTEM == "hidraw", ATTRS {idVendor} == "28de", ATTRS {idProduct} == "2022", TAG + = "uaccess"

సంభావ్య సమస్య ఏమిటంటే నోడ్-హిడ్ ద్వారా తప్పు ఇండెక్స్ విలువ ఉపయోగించబడుతోంది. ఈ సందర్భంలో సూచిక ఇంటర్ఫేస్ను గుర్తించడానికి లేదా నివేదికను పంపడానికి ఉపయోగించబడుతుంది. USB అభ్యర్ధనలతో మిమ్మల్ని పరిచయం చేసుకోవడానికి ఇక్కడ ఏదో ఉంది. మీరు "నోడ్-హిడ్" తో ఇంటర్ఫేస్ను పేర్కొనలేరు. అదృష్టవశాత్తూ, కనెక్ట్ చేయబడిన అన్ని HID పరికరాలను ప్రదర్శించే "నోడ్-హిడ్" లైబ్రరీతో వచ్చిన "show-devices.js" ఫైల్ ప్రతి ఇంటర్‌ఫేస్‌కు వేర్వేరు మార్గాలను కలిగి ఉంది.

నోడ్-హిడ్ లైబ్రరీతో వచ్చే show-devices.js ఫైల్‌ని ఉపయోగించండి. మీ కోడ్ భిన్నంగా కనిపిస్తే మీరు ఉపయోగించాల్సిన మార్గాన్ని కనుగొనవచ్చు

మీకు స్క్రిప్ట్‌తో ఇతర సమస్యలు ఉంటే, 'usbmon' రాస్‌పియన్‌తో వస్తుంది మరియు చేస్తున్న USB అభ్యర్ధనలను చూడటానికి మిమ్మల్ని అనుమతిస్తుంది. ఈ అవసరాలను అర్థంచేసుకోవడానికి మీరు ఉపయోగించగల ఉపయోగకరమైన లింక్ ఇక్కడ ఉంది. (15 వ పేజీలో ప్రారంభమవుతుంది)

ముగింపు

తుపాకీని VR కంట్రోలర్‌గా ఉపయోగించడం అంత సులభం కాదు. తుపాకీ షాట్ నుండి వచ్చే ప్రకంపనలు IMU యొక్క సామర్థ్యాన్ని ఖచ్చితంగా ట్రాక్ చేయగల సామర్థ్యాన్ని జోక్యం చేసుకునేంత బలంగా ఉన్నాయి. ట్రాకర్ యొక్క తక్కువ పాస్ ఫిల్టర్ మరియు అంతర్నిర్మిత రాస్ప్బెర్రీ పైని ఉపయోగించి, మేము ట్రాకింగ్ లేదా తుపాకీ కంపించే శక్తిని ప్రభావితం చేయకుండా ఈ సమస్యను పరిష్కరించగలిగాము.

@ Cohagan154 చదివినందుకు ధన్యవాదాలు