The two cool features in this project; maneuverable 3d viewing of the robot's vista and a bluetooth controller with wifi range. I am just tickled how this turned out.
Perky is a robot head that can be transplanted onto different vehicles. Those vehicle units are controlled by a webserver that incorporates a gamepad api so that a bluetooth game controller can control speed and steering. The same controller can move Perky’s head side to side and turn on/off headset lights.
Perky’s head has a StereoPi 3d camera and a servo that allows a 180 degree range of motion for viewing one's surroundings remotely. A wireless compute module 4 handles the video feed for the two cameras. This application has had the Stereopi video and picture taking recording buttons removed from the view, but they can easily be replaced. At this point in the project the only task for the StereoPi is to broadcast the video feed, which will change with more development.
Perky has many rides. Currently three are up and running. A tracked version that can be adapted to the many types of vehicles requiring caterpillar features, a Mecanum version that is useful for flat areas with minimum obstacles but with maneuverability beyond belief and a large narrow wheeled speedy version for road work. Two more are also in development, an agricultural tractor version with a differential and castor steering and a long range goal is a canine version as well. Currently Tracked, Mecanum and Road Warrior based vehicle software is usable, and available on github. The road warrior and others continue in their development. Speed control is available but full power is the only option for the tracked and mecanum units at this time. Road Warrior as two forward and two reverse speeds, use the joystick to change speeds, on bump for slow two for fast, one bumps down toggles between slow, stop, reverse and reverse fast.
To take advantage of the speed control you can use the cellphone control version of the software. Changes to this are foreseeable.
Due to browser security issues with having bluetooth messing around whilst a html is in full display mode using <iframes> on one cell phone, currently, two cell phones are required. The first to handle the esp32 connection and another to receive the StereoPi output in the VR viewer. The bluetooth controller must remain within the bluetooth range of the accessory (old android, probably have one laying around) cell phone. Though it is not wise to move around with a VR viewer on, if one must, remember to take both phones, the viewer’s and the connector phone. Teen-ager tested.
Each ride uses similar but different software. The ESP-Rider series of control software uses a cellphone over either a regular or access point type of connection. Earlier versions were all access point oriented. Perky breaks the mold and uses station wifi for the first two types, the tracked and mecanum version. For those two versions, it's all systems go. The road version will have to wait for the snow to clear for it to get its full development., but it is driveable with the software provided.
The bluetooth joystick is set up as a bumper type. Bump it once to go in that direction, do not hold it. My own lack of dexterity and the strength of the return spring made the joystick more useful as a toggle/bumper rather than as a slider. Stop is the lower front button. The top front button changes from driving to head control. To move the head hold the top front button and use the left to right joystick. Release the top button to return to body movement. On the Mecanum unit the Lower four buttons are, clockwise from noon, light on, sidle right, light off, sidle left.
Perky’s head can be detached with one bolt and nut and two servo connections. An ESP32 is mounted in each of the units as each is flashed...
Read more »