🤯 MINDBLOWN! Racing real cars from 1000s of miles away…

🤯 MINDBLOWN! Racing real cars from 1000s of miles away…


*crazy hooten and holleren* So I have these six RC race cars I also
have this really cool RC racetrack but the problem is all my friends are
either at work or school and thus I’m stuck playing with these six cars by myself. *a crying boy* And even if they wanted to race against me during the day these
controllers don’t exactly work at a long distance and even if they did they
wouldn’t exactly see what they’re doing “did I win?” Now of course, there’s no way
that we can hook these cars to the internet somehow allowing you or anybody
in the world to drive them. And then, putting all of that together into some
sort of a leaderboard so we can see who’s the fastest racing driver in the
world or can we? *synthwave style intro music playing* So starting with the cars these are
actually pretty cool so they have a light sensor on the bottom that affects
your gameplay while you’re driving when it goes over the green on the track it
slows down like you’re on grass when it goes over a yellow color it speeds up
like a boost and when it goes over blue it starts to steer out of control like
you just ran over a puddle so because of this we didn’t want to rip out the cars
factory circuit board and add our own so we instead hacked the controller’s
themselves and then manipulated the buttons to our own Wi-Fi board we had it
running and driving just fine individually but after a lot of issues
we found out that these controllers just don’t keep a very good connection with
this many cars on sometimes you’ll click to go forward and it’ll end up pushing
other cars for it as well or the cars will just disconnect on their own which
is not very reliable for us to leave these online all day or all week so what
we did instead was to rip out the factory circuit boards in the cars and
replace them with an ESP8266 board called “Wemos” which includes a motor
shield to control two motors one being our steering and one being our drive
motor with this board we’re able to use the factory light sensor with our own
code and then we made our own connecting
board which uses the connector the car already had and then we’re able to steer
the cars with keyboards, phones, or whatever we want and we don’t have any
issues with disconnecting now the battery that comes with these cars
allows them to drive for about 30 minutes on one charge it then takes
about 60 minutes to do a full recharge that would mean if we want to have these
cars driving for every hour of the day we would need to somehow swap out the
cars that’s low on battery take them off the track hook it up to charging replace
it with a fully charged car about three times per hour so that we never end up
in the situation where the cars go dead in the middle of the track that would
mean we need 12 cars in the charging area while six cars are on the racetrack
instead what we decided to do was to upgrade the battery packs on the cars
allowing them to last up to 45 minutes then we only charged them every 30
minutes for 30 minutes allowing us to only use 12 cars total these cars have a
nice empty space above the chassis where we can fit a new battery and then
everything fits together on the outside just like they did in the original now
that we have cars that can last a really long time we need to figure out how to
charge them and we don’t want to be doing this manually because then someone
needs to sit next to the track all day plugging them in so what we’ve decided
to do is to create a wireless charging pad like you have with wireless charging
phones where the car can drive to the station and then automatically start
charging without needing any wires so what we did is we created one of these
wireless charging boards and we put it right in the middle of the wheels of the
car it looks pretty slick and I like the idea of magically sending power through
the air to the car the only problem is since in the beginning we decided to use
these RC controllers as a way to control the cars as soon as they drive onto the
wireless charging stations though they’re uncontrollable reason being that
these cars radio frequency week gets jammed when they’re on the wireless
charging station now you might not say that’s a big deal just let the car
charge and then reconnect to it afterwards but the problem is each one
of these controllers connects to the first car it sees available so say car “B”
is finished charging first controller “A” might accidentally connect to it first
and then say car “A” is finished second controller “C” might connect to that and
so on this can make it incredibly hard to figure out which car is being
controlled by which controller which is pretty confusing when the next race
starts and it says you’re the red car but somehow you’re controlling the white
car so we decided to create our own board that uses a spring contact instead
for charging in this case the car just drives onto the springs and it
immediately charges with no interference in the radio signal that allows all the
controllers to stay connected to the same car as they were before it started
charging it’s a simple solution without getting too in-depth with switches or
computing inside of the cars of course since we later changed from an RC
controller to a Wi-Fi enabled board we could use these wireless charging
stations since they don’t interfere with the Wi-Fi but since we already made all
of our cars with this solution and they work pretty nicely I think we’re gonna
keep them now we have cars that are controllable they can last a really long
time with big batteries and now they have charging stations they can recharge
at. Now we want to figure out when someone finishes a lap their time and
placement is recorded and then when they finish the race their position is shown
as well and then when the race is over the cars will reset themselves to the
starting line and if they have low battery drive themselves to the charging
stations to get recharged so we don’t want to hook up any sensors or cameras
to the cars because then we would need a bigger computer on board so for the laps
we’ve decided to create our own image recognition setup that can use a
top-down camera on the ceiling to recognize the color of each car so we
assign a tag to each colored car with their own name and then we can recognize
when that color car passes a certain checkpoint on the track this is really
helpful so that no one can cheat in the game and just pass the finish line back
and forth in order to win then when the cars have finished their last lap we see
who is won and then we can record that person standing log it in our
leaderboard online and then read out the message of being the winner to the winner
then for the self-driving of the cars we tried a few different strategies after a
lot of experimentation we found the best results from feeding camera frames to a
deep neural network that’s normally made for first-person cameras on cars the way
that we did this was by distorting the video feed from the ceiling to make the
computer think that the car actually has a camera on top of it and then we’re
able to make these cars follow this fake path line in order to get to the
starting point or to a charging station and now for the final piece of the
puzzle we wanted a really great camera that we could show to our players so
they could see the cars when they’re racing now we wanted something that had
low latency first and foremost but also something that shot in HD quality which
is very important we went through testing a lot of different camera setups
but to keep things short we decided on this game to use the GoPro7 Black
paired with an Elgato generation one capture card which takes the GoPros HDMI
output and converts it to USB so that our computer can accept the video feed
and stream it to all the players we really like the lens that the GoPro has
as well as the default colors and the quality that it outputs and that is
everything we have the entire game ready and now it is time to test it we’re in a
cafe in downtown Helsinki far away from the racetrack so let’s go inside and
have a race *much excitement man* if you want to play this game yourself
you can go to the link below it is free to drive and if you liked the game feel free
to subscribe and if you want to get the latest updates on our next games go to
our discord and the link below as well and if you have any game ideas feel free
to let us know and maybe we’ll fly you out to Finland and you can make the next
video with us. Until next time, see you later! www.surrogate.tv