top of page
  • letsaskformore

My Pixhawk Rover Teaches Capitalism

Okay, let's do it.

Hey, I'm sorry, can I ask what this is? This is really

Interesting? This is a rover. It's called a rover. This is a rover I just created and it's a proof that capitalism works. What is so special about this rover? Nothing. It's totally unremarkable. It does all the things a regular rover would do. It has a nice looking professional remote control and it uses this autopilot and this GPS, this remote receiver unit and this telemetry module that transfers data to the computer. You can use the computer to plan missions and then the autopilot with the use of the GPS and other sensors will execute it without you needing to do anything with your remote control. So now I'm not Driving This one.

Super confident. Now I have also added a GoPro camera here and it has a module that remotely sends the signal from the camera to this screen. And these are spare parts that I have from my filmmaking and I put the camera on top of a servo here. Okay guys, so you can see here the view from the screen and I Move The GoPro camera from this control over here.

And that means that even if I don't have visual, I cannot see where this vehicle is because it has gone far away. I can use the camera and still navigate. I have also ordered a lidar that is used for obstacle avoidance, but this hasn't arrived yet. So what is really remarkable about this one is that I put it together in probably five or six hours without any prior experience. And because I used this autopilot out of the box, I got the whole software ecosystem with the maps, with the control, with all the forums and the communities where people discuss about all the little problems they have. And so I was able to find solutions quickly. Now in terms of price, this costs about a hundred dollars, this remote control and another hundred. And then the telemetry module about $50. And the GPS another 50. What was quite expensive was the lidar with about $200 itself.

So pretty much all this equipment costs about $600, excluding of course all the camera gear. Now for exactly the same price tag, I could use this control unit to control something bigger, like a bigger car or actually this is initially designed to drive drones. So it's a platform that can do many things and mission critical things. And you can see that because they have implemented safety features like fail safe, which means that if a sensor doesn't work or the remote control connection is lost or battery goes low automatically this controller tries to do something that is safe. For example, if it was a drone, it would try to land it. Also this system has logging and the telemetry module is awesome actually. It works exactly the same if you connect it with USB to your computer or by the telemetry module. This is one Gigaherz wireless system, but it could also be WiFi.

So all this for me is in an indication of capitalism really working. At the beginning, this price tag $600 might seem huge, but the thing is that capitalism guarantees that this is the efficient price for this product. It has all the features that you would never otherwise implement and they are critical and also they're implemented correctly and used in thousands of different cases. So you can have confidence in the system in contrast to something that you could implement yourself supposedly for less money. And you will ask, is there really somebody who would try to implement something like that from scratch? And the answer is yes. Actually as a Greek person, me culturally, I would really like to find one feature, one tiny feature that I think would differentiate my desires from an off the shelf product and try to implement everything from scratch. I really love to reinvent the wheel, but the truth is that I want to reinvent the wheel because I want to learn.

I think there is no better way to learn something in depth other than making it from scratch for yourself. On the other hand, if your intention is not to learn but something like for example, create a commercial product, this is a terrible habit. Trying to make things from scratch, the things I can make with the limited resources I have will be missing features that are important or they will be implemented in such a bad way that you cannot really base a company or a commercial product on top of it. Even if you manage to release it and get a few customers, actually the support cost will be huge or the complexity will be such that will not allow you to advance the product beyond a certain level or you will face a lawsuit because the system will start malfunctioning in weird ways. I'm wondering what will happen if I tell it to return home automatically.

Oh, it goes under the car. Shit it crossed the street . I think I really need a better GPS. Oh, It broke the plastic part. It's impossible to have an individual in a few years of development win over an entire community that has done a decade of development. So what one should really focus on is find the differentiating factor. What exactly makes your product different from another one and invest all your time there. Everything else, just buy them off the shelf. For example, for your specific application, you might have some really weird unit like this one. This is intentionally done in a very complicated way to demonstrate this thing. This is an encoder that tries to figure out where exactly this metal plate is. And in order to move this metal plate, we use a free running servo, but the mechanics of the system are so custom and this is where you could probably want to write some code, but again, you would like to remain as close to standards as possible.

So the standard in this case is PWM. So we can turn all the system to a very weird looking servo controller. And we can do this with some Arduino code. And I have implemented here two different control mechanisms. One is a very inefficient constant velocity control. We have to use a very low velocity because it's just a constant. So we have to go slow when we are turning. Even in that case you can see that it can become unpredictable and unstable. On the other setting, again, I use an off the shelf component, A PID controller for Arduino. And with those three controls we can control the P, I and D parameters of the PID controller. You can see that now it reacts much faster. The I and D parameters are not that useful with the encoder because it takes discrete values and not continuous. Still, you can see it gives some very interesting behaviors. So I'm so happy that this rover costed me so little time and has all those features and they work great. And it was a very fun weekend project. ArduPilot and PixHawk have thousands of parameters and you know, probably it'll take me months to master them all, but it feels like a good investment to engage with this community and this ecosystem in contrast to being a lonely inventor, trying to make all those things from scratch. I hope you find this video useful. Thanks for watching.

2 views0 comments


bottom of page