Germany
Asked — Edited

The VR Rover - VR Robot For Meta Quest 2

My project is now ready to present it to you.

The VR Rover

User-inserted image

VR Rover with 3D stereo camera, live voice chat, exchangeable battery system, onboard PC and Meta Quest VR App.

I wanted a platform to test and get familiar with ARC/EZB/VR. Unity was also new to me, my distant goal is to convert my inMoov to ARC/EZB/VR.

VR Rover hardware

The basis is the Rover Roli from ez-robot, I have changed/installed everything:

Exchangeable battery system 18V/5.2 Ah, more information here: Rover-Roli-on-steroids-battery-extension

User-inserted image

3 x step down converters (18V to 7.5V ECB, 18V to 12V PC, 18V to 5V Stereopi and Fan) Voltage divider (EZB analog port) for battery monitoring 2x USB relay to turn on/off EZB and Stereopi via batch script Link

User-inserted image

onboard PC (SBC) Chuwi Larkbox with  docking station Link

User-inserted image

User-inserted image

2 buttons (EZB analog ports), one to switch off the system, one reserve, 2 USB 4 port hub

live voice chat with conference microphone/speaker eMeet Link

User-inserted image

StereoPi V2 with HDMI to USB Capture, I still had this lying around Link Stereopi Link Capture

and most importantly -> lips

User-inserted image

However, 2 USB cameras are also possible

User-inserted image

VR Rover software

The basis is the skill Dual-Camera-Servo-Server

I created the VR Meta Quest app myself, it can work with both stereo streams, SideBySide (e.g. StereoPi) or 2 USB cameras, this can be set in the app setup.

User-inserted image

I also created a Windows program for the live voice chat function, this runs parallel to ARC on the MiniPC (SBC), it can be used to communicate in real time via the VR Rover and the Meta Quest (requires Visual Studio 2019 Redist).

User-inserted image

In SideBySide mode I still have the second video stream free, here I transfer the radar skill for a picture in a picture If you use the mode with 2 USB cameras and only one USB camera transmits, you can also display a picture with the second video stream.

User-inserted image

For transferring ARC skill content, DJ created two new skills, thank you very much! Robot-Skill-to-Camera Screen-To-Camera

The HUD overlays can be placed and scaled freely, the video screens can be resized. The digital clone of the VR Rover can also be displayed and freely scaled and rotated (SideBySide only).

Previous experiences/insights

PC Chuwi Larkbox, this little guy is really powerful for its size, disadvantages are the price and the fact that you can only turn it on with the button. There is no way to switch it on, e.g. when there is a power supply (bios).

The Rock Pi was far too weak to meet my needs.

Rover Roli, a good platform with plenty of space for your own ideas, the chain drive is a disadvantage for me, he doesn't like carpet at all, wheels might be better here.

What's next?

Lidar, I already have it here... Integrate arms, control via controller ... Animate the digital clone of the VR Rover in the app to the current servo positions, I still have to see how I can get the current servo positions to Unity.

Here you can download the VR app and the chat program:

-  VR Rover APP and VR Rover Windows Chat

STL files: https://synthiam.com/Community/3DParts/Miscellaneous/Adapter_plate_Einhell_battery--5d506d23-a6d6-423e-ae1f-d883eec71eee https://synthiam.com/Community/3DParts/Miscellaneous/Ventilation_grille_front_Rover--57350c9b-7963-4fc3-b300-e6a986710063 https://synthiam.com/Community/3DParts/Miscellaneous/PC_Dock--dbe0390e-fcd7-4342-9564-49f29311727c https://synthiam.com/Community/3DParts/Miscellaneous/SpeakerHolder--772c0077-b79e-403f-aa69-6edf847e35e7 https://synthiam.com/Community/3DParts/Sensors-Cameras/StereoPi--edb28a31-28ff-451d-bedc-6f9624a74acc https://synthiam.com/Community/3DParts/Sensors-Cameras/Stereocamera_rig--f0adc1f0-9df2-4d50-8588-e9670093b89b https://synthiam.com/Community/3DParts/Miscellaneous/Lips--e2f6f647-aaf2-4829-8fb4-122f0ab73c50

UweP

I was trying to make it a robot project, but sorry, that sucks. I did everything twice, but I couldn't save it in the end, the selected start image was always deleted ...


ARC Pro

Upgrade to ARC Pro

Discover the limitless potential of robot programming with Synthiam ARC Pro – where innovation and creativity meet seamlessly.

#1  

Wow, what a great presentation! You have done some wonderful work here. It's a pleasure to see and watch. So much to be excited about.

I knew you were going to try the Rock Pi X and grateful you placed your experience with it here. With everything you are demanding from the computer I can see how you would need a more powerful platform. I'm currently using the Rock Pi X in my robot but haven't gotten to the point in my rebuild/upgrades where I can really load it down to see how it handles my scripts flying at it. The first thing I found that I dislikes was it's very long bootup time into windows and then into ARC. It takes at least 2.25 minutes for the robot to start running the INT script. It looks like your startup time using the Chuwi Larkbox is much faster. Could you share how long it takes from power on to when ARC can start running scripts?

You state you can only start up the Chuwi Larkbox by pressing it's power button. I had the same issue with the Rock Pi X. I overcame this issue by using time delay relays wired to the Rock Pi X's power button circuit. Is there a way to replace that power button on the Chuwi Larkbox with timer relays?

PRO
Germany
#2   — Edited

Hello Dave,

thank you, yes I invested a lot of time.

I have created a video for you, switch it on and start EZB immediately, via autostart (1:10 minutes):

The Rock Pi starts as soon as it gets power, unfortunately the Chuwi doesn't do that. Yes there is a problem with turning on the Chuwi but there is no solution.

I disassembled it to see if I could solder a cable directly to the switch. But then I had the idea to attach it to the outside because I had no more space inside the Rover. And then I had the idea to create a Docking Station so I can quickly switch it for other projects. Of course it would be possible to solder a cable directly to the switch, it's just very, very small.

The internet is full of questions on this topic, but there are no solutions, and the manufacturer is not responding either.

Here's another creative idea :-)

https://forum.chuwi.com/t/larkbox-automatic-boot-on-power/16585/11

.

#3   — Edited

Thanks for taking the time to show this and answer my questions. Very interesting.

Your boot up to run time is about half of what my Rock Pi does.

I don't understand your creative idea. Sorry. Are you just plugging it in? EDIT: Oh, I see. The servo rotated and turns it on . LOL. Got it.

PRO
Germany
#4  

the video with the servo as a switch is not mine, I found it on the internet...

PRO
Germany
#5   — Edited

I've had enough for today, but it's already working quite well...

:- )

.

PRO
Synthiam
#6  

It's super great seeing your robot! This is wonderful :D. I'll pass a note to the web dev team about the robot profile. I'll make sure your credit is applied to the account. I'm a huge fan of videos so it's great that you posted a number of them - thanks!

#7  

Wait, what are analog ezb ports? I thought all the ports were digital

#8  

Wait, i remembered, but what were they for? And why didnt many of the ezb kits use them?

#9  

Ohhh, its an analog to digital converter, that makes a bit more sense.

PRO
Germany
#10   — Edited

Hi Winterrrrrrrrrr,

the EZB 4 has also analog Ports:

The ADC Analog Ports are labelled A0 through A7, and run down the right side. https://www.ez-robot.com/learn-robotics-ezb-smart-robot-controller-overview.html

@ DJ thanks ....

#11   — Edited

Hi Winterrrrrrrrrr, To add to what you found out and what UwrP said;

The analog ports signal pin reads voltage. It can be used to watch voltage changes in devices and switches. Personally send a voltage feed from a power pin on the ADC port (regulated by the EZB to 3.3 volts) through switches (open or closed) and back to a signal ADC pin . When I activate the switch, the signal pin reads the voltage change. I have scripts that watch that ADC port and will run when they see the change.

The only problem I've had was when a switch is normally open, there is a voltage build up (static) and the reading will float high. To solve this I install a10k Pull Down resistor between the signal pin and the ground pin near the ADC port I'm using.

Here's a link to the very hard to find EZB-4 datasheet located deep in the EZ Robot website. I don't know why but it's always been hard for me to find. It has lots of very good info that is good to know about the EZB: EZB - 4 Datasheet on EZ Robot website

Very cool stuff. Have fun!!

PRO
Germany
#12  

oh yes, I also had to search for a long time to get all the information together. On the one hand i use the analog ports to monitor my 18V battery, on the other hand for the buttons.

These two threads helped me a lot:

voltage divider: https://synthiam.com/Community/Questions/Automatic-Battery-Charger-Docking-6103/comments Post #95

button: https://synthiam.com/Community/Questions/Pull-Down-Resistor-3472

Dave, I didn't know that link either, thank you very much, very helpful ...

PRO
Synthiam
#13   — Edited

@dave, you can also view the datasheet and stuff on the Hardware page on Synthiam. All the supported hardware is listed nicely on the left menu in the support section. Here's a direct link: https://synthiam.com/Support/Hardware/EZ-B-v4

User-inserted image

#14  

@DJ, Thanks. Your site is set up a lot better to find stuff then EZ Robot's.