Open-source 3D printed ground vehicle controlled over mobile internet for observation / transportation / development
leave a star for no reason
demo video documentation discord 3D-model vehicle 3D-model electronics 3D-model print
- programs for access the vehicle over mobile internet
- program for controlling motors
- program for videostreaming
- open-source software, all programs written in python (focus on easy to understand)
- programs using udp for low latency
- opencv for taking video and displaying them, good for future AI
- all programs can as well be used for standard rc-cars, airplanes or boats
with PWM input and even for stationary surveillance cameras.
- open-source hardware, hole vehicle 3D-printable
- 3D-printed ball bearing (printable in one piece without any support)
- 3D-printed flexible tires (airless, filaflex 82A)
- insertable metal springs on all axes
- assembly with only M3-screws and threaded brass inserts
- support structures rarely required, low part count, easy assemply
- two individual servomotors to steer the front wheels
- two individual brushless motors directly integrated into the rear wheels (inwheel, hubmotor)
- raspberry pi
- blheli32 ESC's (will soon change to B-G431B-ESC1)
- 18650 li-ion cells with bms (25.2V)
- low cost
- low torque cause of direct drive hub motor (will increase with planetary gear)
- low torque cause of sensorless ESC (will increase with current sensing ESC)
- video stream consumes too much data
get started just write the following (for detailed info see guide):
python3 main.py
import cv2
cap = cv2.VideoCapture(0)
img = cap.read()[1] #capturing image
cv2.imshow('stream',img) #1st argument = windows name
cv2.waitKey(1)
#start GPIO deamon first: sudo pigpiod (preinstalled on RPI)
import pigpio #importing gpio library
output = pigpio.pi().set_servo_pulsewidth #just shorting that long name
output(15,1500)#gpio 15, pwm=1500ms
import socket
address_server =('your ip here',3274)
soc = socket.socket(family = socket.AF_INET, type = socket.SOCK_DGRAM) #internet protocol parameters
soc.sendto(b'your message',address_server)
feel free to contact for any problem: [email protected], also consider donating or get a video call with devs