Hi Everyone, I hope everyone has had a good New Year so far!
I am a lifelong builder / tinker. Career-wise I was a software engineer up until about 3 years ago, and lived 2 sub-lives as a full stack web developer and a more hardware focused one prototyping on micro controllers to solve all sorts of problems. I decided to shift into a teaching role 3 years ago and now teach Computer Science.
Although I have only had a formal CS education, and did not come from an Engineering background, my favorite place to be is building both hardware and software. To me, writing software is only truly challenging when you have the real world to contend with. There is much I still have to learn and I hope I can also help, I love communities like this, some of which have had a defining impact on my life. Around 2001-2005 I was a member of a now defunct forum called mp3Car.com. It was a gathering of individuals who wanted to put computers in their cars. Over the years as our nerdy efforts became more refined and ambitious and many members of that forum ended up in roles at major auto makers building the "infotainment" systems of today. Here are a few photos of my build:
Connecting to the internet with my "pre-smart" phone
I have also built a lot of robots over the years and I love working on making them as autonomous and graceful as possible in a small and low cost form factor. For example, while I have an RPLIDAR unit I very rarely use it. I much prefer to build little units with ultrasonic sensors and the challenge that comes with it. About 10 years ago now I tried creating a "mini-SLAM" robot that could map it's environment with 1 servo mounted US sensor. Admittedly, this had limited (but some!) success.
Some robots:
Recent - Potential fields goal / avoidance
Anyway I could reminisce forever (must be why they let me teach 🙂 ) Looking forward to talking with everyone!
Brian
/Brian
Yes, I can. Once I get oriented here I might start a build or project thread.
The short answer is that it localizes in 2d space by using the wheel encoders mainly but also some sensor fusion can be used with the accelerometer, gyroscope and compass. Use the encoders you can figure out how far you travel and at what angle, using this information you can position x, y in cartesian space. If you set goal coordinates you can then find your error to the goal, and use the difference of your current angle as the error. I then obstacles into the mix as well using the vector (angle, distance) of each. Summing all the "forces" (push for obstacles, pull for goal) in this way is known as the potential fields algorithm. I find it to be a very efficient and graceful controller for mobile robots.
I teach robotics this semester and plan on creating material online for this and will share when it is out.
The robot is a Pololu product (the 3pi+) I have used many of their robots over the years and like them a lot.
Best,
Brian
/Brian