Robot Base - new bu...
 
Notifications
Clear all

Robot Base - new build

126 Posts
7 Users
18 Reactions
4,828 Views
robotBuilder
(@robotbuilder)
Member
Joined: 6 years ago
Posts: 2334
Topic starter  

Five years ago when I signed up to this forum I was all excited about building a medium sized working robot but it sort of all died away apart from the occasional spurts of activity now and then.

My intention was to replace the K8055 board with an Arduino board programmed to work as an advanced version of said K8055 board. The idea is you can program the robot behaviors entirely in a higher language of choice just as you can with the K8055 board.

https://forum.dronebotworkshop.com/user-robot-projects/k8055-robot/#post-4101

Over the last 5 years during occasional spurts of activity I did learn a lot about using the Arduino board with various sensors, stepper and servo motors and some Arduino C++ programming. I also learned some things about using and programming the RPi board with Linux as that seemed a cheap smaller alternative to a Windows based laptop.

Although the Arduino board can be used as a stand alone controller I believe it is much easier to use the familiar tools provided by a Windows PC or Linux RPi to develop software for the high level control of a robot particularly if you are using vision. I bought this RPI3 and the touch screen before covid but apart from reading buttons and leds haven't used it yet.

RPiAndTouchScreen
RPiBack

This weekend I had another spurt of activity after a long hiatus and built this new robot base and spent some time testing the motor programs. It is 17.5 inches high (309cm), 15 x 15 inches square (308cm x 308cm). The frame is much nicer to work with than my other builds and light and easy to carry around and work on.

The reason for wood is I don't have a 3d printer or any tools apart from a hand held wood saw, measuring tape and hand held drill.

Doing a motor test run ...

motorTestRun

 

Camera setup for some vision software testing.

Cameras can look up, down or straight ahead or some other angle. The idea is to have the orientation of the cameras under software control using two stepper motors ...

The laptop fits inside the base on the second shelf.

cameraTest

There will be 16 bumper switches and a frame to push them on contact with an obstacle. The top bumper and bottom bumper will be connected to detect any hit between the top and bottom of the robot base. I have to order some more switches to complete the job.

bumperButtons
bumperButtons2

 

This is the encoder with the disc removed so I could trace the wiring to figure out the connections.

It seems to be producing clean signals and consistent encoder counts.

encoder2

Hopefully next weekend I can move the sensors from my other robot base plus add some more sensors including a gyroscope and accelerometer. The hard, time consuming, part is the never ending tweaking and trying out software solutions.

 


   
THRandell and Lee G reacted
Quote
byron
(@byron)
No Title
Joined: 6 years ago
Posts: 1214
 

@robotbuilder

Back to having a go at your old bot (mk 2), there must be something in the air, as I too recently (well about 3 months ago) dusted off my old bot to have another delve into getting it to move and shake.   

My poor old bot is undergoing some major surgery.   Its an outdoor bot and I had an Arduino with a motor driver shield and some sensors attached, and it was commanded by a rpi which used serial comms to the Arduino.  I had experimented with openCV on the rpi, plus GPS for some crude navigation, and was sort of waiting to see if Dronebots was going to do a piece on RTK GPS which I though was in the pipeline a couple of years back which then gave me a feeble excuse for my bot neglect.  Here it is by my workbench.

I've replaced the onboard arrangements and have now put Yukon robot driver board (made by Pimoroni) on the bot. This board has an RP2040 chip and can take batteries up to 17v.  Nice thing is I can program it from the usual computer usb to board usb port whilst the batteries are attached and driving the motors.  Great for prototyping.   I've also been experimenting with an on bot ESP32 board that can be linked to the Yukon via UART and to the outside via ESP NOW or wifi.   However progress on all this will be quite slow as I usually just have a play around for a a couple of hours probably only for one evening in a week.  Right now I'm trying to drive the motors by the RP2040's PIO state machines and thus far have not succeeded though I can drive the motors well enough via PWM output.

Have you seen the new rpi AI camera.  It a bit stupid to call all these things 'AI' just because of a bit more processing power and provided learning algorithms but thats marketing for you.  Anyway it seem to be ideal for robotics as its sort of like a camera with openCV build in and should prove interesting to use as a navigation and/or an obstacle recognition aid.   When they become available again I will grab a couple for my bot.   I may also have a look at the RTK GPS to see what is the latest on that, but also have a look at Ultra Wide Band chips as navigation beacons.

Navigation utilising UWB may also be of interest for you indoor bot navigation.  I give you a link to an interesting article on this in case its of interest to you.

https://iosoft.blog/category/real-time-location-rtls/

Its good to see you are also creating a new bot.  It will be interesting to see what you may do with those camera's you are attaching.  Maybe for obstacle avoidance or navigation, and maybe for both.  It a good idea to have those bumper switches for emergency action, but I hope your camera's will mean those emergencies are infrequent.  I expect your wife may give you a clip on the ear if she suffers from a small wooden object clobbering her legs too many times.  I expect those new rpi AI camera's could recognise when its SWIMBO in the vicinity, enabling a hasty retreat to hide and quiver behind your armchair.

I hope to read about further progress on your bot 👍 


   
Lee G reacted
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 6 years ago
Posts: 2334
Topic starter  

@byron 

I would have thought GPS would be ideal for an outdoor hobby robot, they have used it in robot lawn mowers and tractors in broad acre farms. Very accurate. Still need bumpers and other sensors for an unexpected obstacle. I can see a large wheeled r/c car would be ideal as a cheap hobby built robot base. The steering and propulsion functions are separate so it makes going in a particular direction much easier than the use of differential steering required when using two fixed motorised wheels using encoders.

Vision controlled robots has interested me for a long time.

https://forum.dronebotworkshop.com/ai/robot-vision/

I hope to read about further progress on your bot 👍

That gives me some motivation to keep at it. There doesn't appear to be anyone here interested in building the same kind of robot base that I am using.


   
byron reacted
ReplyQuote
byron
(@byron)
No Title
Joined: 6 years ago
Posts: 1214
 

@robotbuilder

GPS is good, but not quite good enough for navigating around the property paths as the accuracy in only in the 3 - 5 meter range.  RTK GPS gets the range down to the 10 - 20 cm range.    

As I'm thinking of using a rpi AI camera to aid obstacle avoidance I'm currently thinking along the lines of using GPS to indicate the general area, but then using the camera to pick up visual clues like some discrete coloured round disks.  I'm hoping I will be able to identify their relative position to the bot and distance between the disks. (or something along those lines) to get an accurate position indication without going to the expense of RTK GPS (though I have seen some real cheapo ones on Ali Express when I looked yesterday).  The bot may yet get to navigate through the gate posts without collision to either post, and even recognise if the blooming gate is still closed.

I do agree that a large wheeled RC model would make the better base for my outdoor bot.  The bot I showed was the first one I bought, and I did later get a RC model car, though before I got to doing much with it one of my nephews kids took a liking to it and I  gave it away.   I will use the current base to see how far I get with some of the fundamentals especially the camera vision stuff and get another model with ackermann steering if all proves to be progressing well.

The bot I have has encoders on two of the four motors and I can see how the wheel rotations differ for identical PWM inputs when the bot is on its stand.  But in use outdoors, with its other two non-encoder motors, plus the constant uneven surface and different surfaces such as grass, paved and  gravel tossing the bot off track somewhat meant the data was not much use in correctly repositioning the bot.  But if I move on to a model car bot I will look at the encoder data to supplement the navigation feedback again.

Whist you may not find may folk left on this forum who may wish to hurtle a wooden stool around their lounge, I expect your forays into the navigation and command of your bot may well be of interest to a bunch more, especially if you code it all in Arduino C/C++ or, even better,  in python.  Those ESP32's you now have and your old raspberry pi may well be put to good use.   Keep the updates coming.

PS As I was writing this I see @lee-g is joining this nascent robotics clique, I thought there would be others interested in your wooden stalls progress.  Lee, likewise interested to hear of your bots progress as well. 


   
ReplyQuote
byron
(@byron)
No Title
Joined: 6 years ago
Posts: 1214
 

@lee-g

Whats happened to your post, I cant see it anymore 😯 


   
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 6 years ago
Posts: 2334
Topic starter  

@byron 

If your robot is navigating paths rather than free range then you can mark the paths in various ways?

It depends on what tasks you want your robot to perform.

A vertical color stripe (posts) would be more accurate than a disc where you have to compute the disc's vertical center point.

Encoders are useful for controlling the speed of a motor but if used for navigation they are fairly useless due to a number of factors including a build up of small errors into a large error.

Are you calling my robot base a "wooden stool" 🙂

I intend to make it look like a cute robot as that appeals to everyone.

Example of a cute indoor robot is Astro.

astro

Well I can code in Python or C++. I used to use C++ a lot 10+ years ago. Also any code that works on the PC will work on a RPi.

As for not seeing my post I have seen posts not appear in the right side listing but are still there if you click another visible post in the same thread.


   
ReplyQuote
Lee G
(@lee-g)
Member
Joined: 4 years ago
Posts: 81
 

@byron, @robotBuilder

I deleted it, you guys are way ahead of me. I'm starting to build my FIRST robot. It's based on Bill's mecanum wheels robot car.

Since I'm a novice at this, it'll be an undertaking. I plan to base it on a Raspberry Pi Pico (I'm better versed in micropython than C). I have lots of ideas: FPV, GPS, solar power. But that's a long ways off. I may be hitting you guys up if I get stuck, hope you won't mind. Good luck with your (re)builds.  Regards, Lee

 


   
THRandell reacted
ReplyQuote
byron
(@byron)
No Title
Joined: 6 years ago
Posts: 1214
 

@lee-g

So that's where the post went. 😀   Mecanum wheeled bot, that rings a bell, I made a short post on that subject a while back (blimey more than a year ago) but a short search finds a link so in case its of any use here it is:

https://forum.dronebotworkshop.com/postid/40164/

With you on using micropython instead of C as I find project progress is much faster.  No more waiting for compiles to finish etc.,  and more readable code especially if you are as lax as I am in commenting the code.  I had to look up what FPV meant. Ug, I don't like those things, I tried one on and it made be feel giddy.  I hope your bot ventures go well and happy to help, for what my limited abilities may provide, if you do get stuck. 

 


   
Lee G reacted
ReplyQuote
THRandell
(@thrandell)
Brain Donor
Joined: 4 years ago
Posts: 277
 

@robotbuilder

It looks as if your "wooden stool" is re-purposing the motorized wheels and encoders from a robot vacuum cleaner.  Did you ever figure out your problem with getting 800 clicks per wheel rotation?

Tom

To err is human.
To really foul up, use a computer.


   
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 6 years ago
Posts: 2334
Topic starter  

@thrandell 

It looks as if your "wooden stool" is re-purposing the motorized wheels and encoders from a robot vacuum cleaner.

I am really going to have to name the little robot (wall-e is a box) and make it look more robot like!

You could buy all these things separately but it saves me a lot of money and time to use the components out of a robot vacuum cleaner.

Did you ever figure out your problem with getting 800 clicks per wheel rotation?

Not really I gave up on those motors as I couldn't get consistent encoder readings but the encoders on the motorized wheels I am now using seem to be working perfectly. The motor speeds of both motors (number of encoder reading per unit of time) for a given PWM value are also close.

 


   
THRandell reacted
ReplyQuote
THRandell
(@thrandell)
Brain Donor
Joined: 4 years ago
Posts: 277
 

Posted by: @robotbuilder

I am really going to have to name the little robot (wall-e is a box) and make it look more robot like!

You could solicit robot names from the Droning Lot membership.  I'm sure @byron could think of a few.   Here’s are my suggestions:

OakenShield

EverGreen

Stool-e

To err is human.
To really foul up, use a computer.


   
ReplyQuote
byron
(@byron)
No Title
Joined: 6 years ago
Posts: 1214
 

Posted by: @thrandell

You could solicit robot names from the Droning Lot membership

😀 very good.  But I can't top Stool-e thats gets my vote.

Maybe, once the wooden wonder stool is tarted up to look cute it could be called the WoodenTartedFantasia.bot - too much of a mouthful but could shorten WTF.bot 

LegBasher,  Wood-e-worm  or cockney rhyming slang of AprilFool-e

Nope its Stool-e 😎 


   
THRandell reacted
ReplyQuote
THRandell
(@thrandell)
Brain Donor
Joined: 4 years ago
Posts: 277
 

Posted by: @byron

Maybe, once the wooden wonder stool is tarted up to look cute it could be called the WoodenTartedFantasia.bot - too much of a mouthful but could shorten WTF.bot 

LOL

To err is human.
To really foul up, use a computer.


   
ReplyQuote
(@mike-parsons)
Member
Joined: 1 year ago
Posts: 26
 

@thrandell I don't know how many Brits are on this site, but it's very dangerous to ask British people to name anything, coz you'll just end up with Stooly McStoolface.


   
AndyD reacted
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 6 years ago
Posts: 2334
Topic starter  

@thrandell
@byron

It is only a test base for software and sensors. At the moment I am concentrating on motor control using the encoders. I will post any progress but will resist saying what I will be doing until I do it and have the working code to post. I am on a bit of a roll at the moment.

Encoders can also be used for estimating where the robot is by dead reckoning.


   
AndyD and Lee G reacted
ReplyQuote
Page 1 / 9