Irrbloss 4G Rover

I have built a new rover, the last one (Squidscout) was to big, no fun working on it...
This new rover is small and weighs about 11kg with the batteries.
The base chassis is made from Servocity 6WD Mantis but with larger wheels. And it is reinforced to withstand the weight.

It is controlled by 4G or WiFi from a new control station.
So I can drive everywhere where there is 4G coverage.

Both the rover and control station uses a Raspberry Pi 3 as brain.

All the logic (code) is in two Steelsquid Kiss OS modules.
But the modules depends on all the logic inside Steelsquid Kiss OS.

Contents
1. Pictures and videos
2. Chassis, wheels and motors
3. FPV (Audio and video)
4. Control station and telemetry
5. Drive and steer
6. Communicate with spectators
7. Lighting
8. GPS
9. Motion detection
10. Electronics and wiring

1. Pictures and videos






2. Chassis, wheels and motors

The base chassis is made from Servocity 6WD Mantis but with larger wheels. 
And it is reinforced with transverse bars on suspension to withstand the weight.
I also change the to thicker oil in the shocks, and also stiffer springs.
Did even add more springs between the arms of the suspension to make it even more stiff.

I use the 313 RPM HD Premium Planetary Gear Motor but planning to change it to the 612 rpm version for grater speed.
I have 4A/8A PTC fuse on every motor, i do not want them to stall at there max 20A (The main fuse is at 60A).

I replaced the small Mantis wheels with LOUISE MT-PIONEER 1/8 Scale Traxxas Style Bead 3.8



3. FPV (Audio and video)

I use Quanum FY Mini 3D PROS 3 Axis Gimbal to control the camera and get i steady video stream.
And a Raspberry Pi NoIR module as camera. The camera has a wide angle lens.
Tilt and pan of the camera can be controlled from the remote by the left joystick.
If you twist the joystick top left and right it will look left/right or center.

The video is transmitted over TCP or UDP with Gstreamer (Can change with button on the control station).
The audio is transmitted over UDP with Gstreamer.
The default FPV resolution is 800x480 20fps, i can increase it but that will increase the lag.
The video lag over 4G about 150ms and the audio i think is 500ms.
I made a simple wrapper for gstreamer.
This is the code: https://github.com/steelsquid/steelsquid-kiss-os/blob/master/steelsquid_gstreamer.py

By pressing buttons on the control station you can start and stop the video/audio feed and also save it to disk.
Three file swill be created: Video, audio and hud.
Video and audio is separate, can not get them to mux without getting video lag...
The hud is the Google map view where you can see where the rover is and also some telemetry.

You can also change the video bitrate by pressing F1 to F10 on the keyboard. 0.2 Mbps to 2.4 Mbps.
The video will have a short interruption...

If the rover loses connection it will enter low bandwidth mode (0.2Mbps video and no audio)



4. Control station and telemetry

 
  






5. Drive and steer

Drive and steer the rover is controlled by the right joystick.
If moved left/right or twist joystick top the rover will turn on spot.

Turn on spot
If you twist the right joystick the rover will turn on the spot.
But if you are off-road that do not work that well and in snow you will dig down.
So by pressing special turn button and twist the left or right that rover will drive forward och short bit and then backward a bit.
Example if you twist right it will drive about meter forward to the right then about a meter backward to the left...over and over again until you reach the selected angle.

Cruise control
Every time you press cruse control button it will increase the speed by 10%.
If you double press it will decrease by 10%.
By twisting the top of the joystick when in cruise control mode it will turn left or right.

Drive strait
If you drive straight (no more that 4% diff between left and right wheels) the Adafruit BNO055 Absolute Orientation Sensor will kick in and make it go straight.
Every time you stop steer (not move joystick left or right) the heading from BNO055 is set to zero. And then if a bump in the road make it go left or right the motors will compensate for that and make it go back to the previous heading.
If speed is over 20%
  • If rover pulling right, the left side motors will slow down.
  • If rover pulling left, the right side motors slow down.
If speed is under 20%
  • If rover pulling right, the right side motors speed up.
  • If rover pulling left, the e side motors speed up.


6. Communicate with spectators

Text to speech
By writing a text on the keyboard and then press enter, that text will be heard on the rover.
I use espeak as text to speech.

Mood
You can send 4 "mood" to the rover.
  1. A smile on the LED matrix and a pling from the speakers.
  2. A waving stick man on the LED matrix and a car horn from the speakers.
  3. A pounding heart on the LED matrix and a wolf whistle from the speakers.
  4. A angry fave on the LED matrix and a monster roar from the speakers
Connection lost
If the rover looses connection to the control station it will flash and say: Connection lost, if im in the way move me...

Driver away
If i must leave the control station and the rover is far away i can press the "Away button".
The rover light will flash and if movements is detected from the PIR sensors the rover will say:
The driver is temporarily away, please do not touch the rover.
A alarm will also sound on the control station.




7. Lighting

The rover has headlight and high beam.
The headlight is two 300 lumen white lights to the front.
Four yellow light to left and right.
And two red light to the rear.

The high beam has one 4800 lumen work lite to front.
Two 1000 lumen eagle eye about 20 degrees to the sides.
Three 1000 lumen led stripes to right, left and back.
And two 800 lumen work light about 20 degrees to the sides.

Lots of light :-) will use about 6A together.



8. GPS

The GPS position is transmitted from the rover to the control station and marked on google maps.
You can also select home position on the map and see the distance from home.
See Control station and telemetry




9. Motion detection

If i must leave the control station and the rover is far away i can press the "Away button".
The rover light will flash and if movements is detected from the PIR sensors the rover will say:
The driver is temporarily away, please do not touch the rover.
A alarm will also sound on the control station.




10. Electronics and wiring