I have this idea of a hexapod robot, that can use their front legs to grab things and carry them around.
They should react to voice commands and be able to visually identify the different tools I want them to bring to me.
Basically I want them to be a bit like R2D2 mixed with Dum-E and U. The robot itself "only" needs to be able to navigate the workshop, identify things and carry them around.
There will be a bodyless personal assistant voice-AI to directly communicate with. This is for easier separation of concerns and also to give Kevin a character that makes them likeable, even though they'll be really flawed in the beginning, or later...
The main goal of this project is for me to get into using existing AIs as well as robotics.
I don't expect it to ever have a usable result or be useable by others. It's just for the fun of learning new things and giving it a form.
Components
1×
Jetson Nano 2GB Developer Kit
SBC with AI accelerator cores. Got mine for cheap on the bay. Also this might turn out to be way to under-powered.
1×
64GB SanDisk Extreme microSDXC UHS-I/U3/A2 SD Card
Mass-Storage for the Jetson Nano
1×
Pibiger IMX219 Camera Module for Raspberry PI
8MP camera with manual focus and a FOV of about 62°
I stumbled upon a video by RoTechnic, who built a 6DF robot arm to hold a camera for them. And they did something amazing! Such a simple concept, that it blew my mind! And now I'm considering using this idea for Kevin's legs.
They're using fishing line inside bowden tubes to transfer the torque from the motors to the joint.
This makes it possible to place larger and heavier motors (and gears) where they're not negatively impacting the robots motion (as much).
In my case I would place the motors driving the outer two joints of each leg inside the robots body, saving a lot of weight in the legs, which makes them move faster and needing less torque.
So I also put the devkit in it's case and kinda installed the camera. It does not fit the mount because the screw holes are spaced differently. Well, I fastened it with just one screw for now. Kevin will not be keeping this case anyway, so it doesn't matter too much.
Next step will be some AI based face recognition. Or object recognition. Or cat recognition. Let's see if I can get my cat's support.
I found out that the OV5647 cameras I bought are not supported using the Jetson Nano. Or any Jetson for that matter.
Although those cameras should be supported by the Raspberry Pi and it's Raspberry Pi OS, they are not supported out of the box on the Jetson Nano.
Now, there are drivers available to use them, but the developer of the driver charges around $ 10,000.- for it. So, no, that's not an option.
So I just ordered a camera module with a supported chipset, Sony's IMX219, for about 12.- €. It should be arriving tomorrow and I'll see if this will work.
After some more tries and checking the SD Cards twice, I tried using an older image of JetPack. Version 4.5.1 to be exact. This version installs correctly and after some minutes of install-duties it greeted me with a working LXDE desktop!
"So, what's next", I thought. "Surely it should be easy to connect one of my two Raspi-Cameras to the CSI-port and just have that displayed."
Connecting it was relatively easy but when starting the capture command it just spat out a lot of command line information and then an error message telling me that there seems to be no camera.
I will have to see why that is, but for now it's off to bed.
I talked to a guy who already built a hexapod or two, and also watched some more videos on robot kinematics and I have some thoughts about moving the legs:
Most people out there use servo motors for robots with legs. I suppose it looks like a logical choice, because they are easy to use and available in a relativ wide choice of sizes and strengths and don't need much additional hardware to work.
But there seem to be problems with them, too.
For one, they can be quite jittery, as Aecert points out in one of his videos.
Then, they usually have a working radius of at least 60°, but especially in hexapods, only a fraction of that is used, which wastes potential and resolution. This can, of course, be mitigated with some kind of transmission, but few builds seem to do this.
And finally, they do not absorb shocks very well, which i learned from James Bruton in his latest video.
This made me think that it might be best to use brushless motors with a very high transmission ratio (maybe a cycloidal gear?) and encoders for the actual positions. This way I can have reliable movement and by using back-driveable mechanisms absorb shocks and loads way better.
I also might be able to put all the motors in the central body of the robot, which would make the legs potentially lighter and/or more stable,
Turns out, that getting an old Jetson Nano 2GB Dev Kit might not have been the smartest idea. There are still tutorials and how-tos out there, but it seems the image for the SD Card following nvidia's quick setup guide is not working correctly. Or at least for me it's not.
I followed the instructions found on nvidia's getting started page, just to be greeted with an error message on the first boot, saying that something went wrong (nope, no further explanation or logs to be found, yet) and that the system will now restart in a special mode so i could log in and examine the problem. Except that I do not have the credentials to log into said system.
I tried reflashing the SD Card twice on another notebook, because my stationary PC is quite old, does not have a built-in SD Card reader and the only reader i have lying around for USB 2.0 (because I do not have Type-C connectors on it) is a very cheap one I don't really trust. Same results.
Funny thing: After writing the image to the SD Card i could no longer use it with the cheap reader on my PC, because it would just spam Windows with new devices, which in turn Windows warned me needed to be formatted in order to be used.
So I will have to figure out what's wrong there, maybe try another image with just JetPack on it.
But I didn't have anymore time because I was leaving for a few days to visit relatives in the UK.
BTW: This is the SD Card I'm using. I got two of them, so if it turns out to be a problem with the card, i have a spare one.