Hi Mel,
I looked over your code and I like the way that you broke the logic up into three subroutines: read the sensors, avoid obstacles (determine wheel speeds) and set motor speeds. Good stuff. I can’t help but think that there might be a simpler way to set wheels speeds in the setMotors subroutine…
Anyway, in the spirit of constructive comments I’d like to bring up two points.
1) along with using print statements in your code to debug calculations I would like to suggest that you also find some way for BB1 to indicate externally what it is doing. For example, when the left sonar finds an obstacle then light up an LED or make some distinctive sound to help you debug the behavior of your robot. I’ve found this helpful when things don’t seem to be working as expected.
2) adopt the subsumption architecture for your programs. I know that it has been around since the 1980s but roboticists are still using it and you are really close with this code.
I picked up Robot Programming: A Practical Guide to Behavior-Based Robotics by Joe Jones used for $7 US and I’m still referring to it. It’s not a book of academic first principles but more a bag of tricks for programming robots.
Tom
To err is human.
To really foul up, use a computer.
Hi Tom,
Thanks for the feedback, I agree that the motor speed code needs looking at, a process I’m now engaged in.
My original design had 16 Ultrasonic sensors around the robot, with RGB leds that signalled their condition. They were set as pairs on each corner, base and upper deck, with a controller for each pair connected to the main controller by i2c.
I found this design was too complicated for a starter robot and required a lot of programming skill that I did not have, hence the rebuild and simplified version.
I shall take a look at subsumption architecture and have just purchased the book you mentioned via EBAY in the UK.
Thanks again for you constructive feedback!
Regards,
Mel.
I shall take a look at subsumption architecture and have just purchased the book you mentioned via EBAY in the UK.
Awesome!
To err is human.
To really foul up, use a computer.
As I have progressed a little in my abilities I will be changing my approach to how the whole control of the base is programmed.
Toms suggestions about the strategy and application of the code caused me to look at different ways of going about the basic control of the robot. Once I have re jigged the code and it does an adequate job of guiding the robot without running into things, then I will be moving on to higher level systems of control.
I have a Jetson Nano to play with, which will be the next level controller.
as always, your input is greatly appreciated.
mel.
Hi Mel,
I'm curious about what levels of control you're planning to implement? Do you some objectives that you can share?
Tom
To err is human.
To really foul up, use a computer.
I’m currently working through Paul McWhorters AI on the Jetson Nano series of videos.
It is looking more than likely that I will be utilising some sort of vision driven control along with a 6DOF arm that i built a couple of months back that will be mounted on the front of BB1.
mel
As I have progressed a little in my abilities I will be changing my approach to how the whole control of the base is programmed.
That's ok. I was just responding to your request,
Comments on my poor coding will be gratefully received
Once you have worked your way through Paul McWhorters AI on the Jetson Nano series of videos you will be way ahead of me. I am just a low level roll your own programmer from the past.
Autonomous Robot that navigates a course by marker recognition and thru passages - I will attempt
I have built robots with GPS attributes , ESP 32 cam, robots with grippers, Pixy2 CMU cam, light , sonic navigation, built the first phase of the dronebot stopped when Bill stopped watched Bill's stuff , watching Paul ( Top Tech Boy.com) stuff and others
Would like to combine what I learned into a autonomous vehicle with the above attributes -looking for resource ( video , systems ,schematics, codes all in one package ) that i can go to school on.
Don't want a " canned vehicle " won't learn anything off of it
Technology is changing to fast - any input from you guys who work with this stuff day in and day out would be appreciated
Mr Owl,
I’m finding it difficult to frame a response to your request. I am sure that after following Bill down the ‘Real’ Robot rabbit hole you and others are feeling like you’ve been left out in the cold. So maybe searching for another ‘all in one resource’ might not be the most expeditious way to use your time. I don’t know about you but I’ve only got so many projects left in these hands so I’m trying to choose wisely…
For what it’s worth Reddit is having another Robotics Showcase this year and these are the areas that they showcase. You’ll probably have more luck finding resources if you take on one of these areas to work on.
- Autonomous Ground Vehicle (AGV – Mobile Robots)
- Unmanned Aerial Vehicle (UAV – Drones)
- Autonomous Underwater Vehicle (AUV – Submarines, Sailboats)
- Legged Robots (Bipeds, Quadrupeds, Hexapods)
- Manipulation (Robot Arms, Grippers, Hands)
- Simulation (Physical, Virtual, AI)
- Multi-Agent & Swarm Robotics
- Navigation, Path Planning, & Motion Planning
- Localisation & Mapping
- Perception & Machine Vision
- Artificial Intelligence, Machine Learning, Deep Learning
- Social Robots & Human Robot Interaction
- Domestic & Consumer Robots
- Commercial & Industrial Robotics
- Search & Rescue
On another note: Happy Pi Day! After all, where would Robotics be without Mathematics.
Here's my contribution. Quiche is a pie, right?
Tom
To err is human.
To really foul up, use a computer.
Thanks Tom
I'll look into reddit
Some universities were offering robotic course with a robot -U of W looked interesting
One that would be on line would be Nice
There are organization that offer the same to STEM instructors but the ones I found are rather low end
or not specific to my interest
I'll keep looking I do have time
I'll look into reddit
Hey Mr Owl,
I noticed that the Reddit Robotics Showcase is coming up July 30 and 31. Here's a link to the event. It might be fun to listen in. I watched it last year and it was a combination of academic, shameless business self promotion and hobbyists.
https://robohub.org/the-reddit-robotics-showcase-2022/
Tom
To err is human.
To really foul up, use a computer.
Hi Mel,
I’ve been meaning to ask you about your progress with the Robot Programming book by Joe Jones. It occurred to me that since you’re from the UK you might not get his Boston behavior allusion, the one that causes the robot to swerve randomly. Now that I type this out its probably obvious, but he’s taking a potshot at the way people drive in Boston Massachusetts USA. Anyway, it still cracks me up. I implemented it for a laugh on my Lewis and Clark robot and it was pretty easy to spot. LOL.
Tom
To err is human.
To really foul up, use a computer.
Hi Tom,
The robot is on a bit of a back burner at the moment, I have been renovating my daughters new property with her for the past few months. That is nearly finished now, so I hope to be able get back to my hobbies soon!
Mel.