Robot Base - new bu...
 
Notifications
Clear all

Robot Base - new build

66 Posts
6 Users
15 Reactions
1,652 Views
byron
(@byron)
No Title
Joined: 6 years ago
Posts: 1194
 

@robotbuilder

Thanks for your thoughts on how to be the scourge of the bunnies.

The original gem of an idea was to have a bot to chase the bunnies, but it never got to that stage.  The bot started off being controlled by an arduino R3 with a motor controller attached and then mutated into being controlled by a Rpi, still linked to the arduino and motor controller.  GPS was used for guidance, but it was just at an experimental stage and not a proper autonomous bot, and rather wayward in its navigation abilities.   Way back Bill was going to do an article on GPS RTK and I put things on hold, but various events of course meant that article never got done and my bot also sat forlornly on the self.  

The bunnies then had a bumper year it seems and my wife got rather annoyed with them chomping her flowers and scrapping their little holes in our garden so I had to cull them a bit by shooting some.   I did get a Dji mini drone that is both good for surveying the property surrounds and indeed giving the bunnies a scare, but they come back and I keep them in check with my air rifle.

But there on the shelf sat the old bot, and I whilst it would not be really of much use for bunny chasing I thought I would have a go and getting an autonomous bot working just for the challenge of it and to finish off what I started.   So I got a nice new motor controller, thought I might have a go with one of the new AI camera's mounted on it to have a play with, and started out anew.   But I found myself dabbling at this task here and there and though that unless I found the time to have a decent amount of time to spend on it, it would not get anywhere very fast so I've temporarily put it to one side until I can dedicate  a good two or three of weeks dedicated to making a decent start on this project. 

But until then I do a bit of planning in idle moments on how the project should go.  The first thing is not to get too ambitious  at first and to do the project in easy (!?) steps.   As I mentioned I've decided its back to GPS RTK for finding out where in the world the bot currently is and to set its next target position.  The plan is then to proceed with the first small step to aim to make the current skid chassis bot do some accurate 'patrol' routes.  Just that, it wont be a proper bot to start with.  Then I probably start over again with a bot chassis that has Ackerman steering and adapted from one of these remote controlled model cars.  After that augment the bot with the obstacle avoidance and communication abilities etc and progress along the path of producing a proper autonomous bot. I'm not expecting all that will be done in 2 or 3 weeks of course.

So there you are, probably more than you wanted to know about the future plans for an ex bunny chasing bot, it will become just another purposeless bot.  Oh now I remember, I also want to give the bot the ability to fire a squirt of water,  why, because it gives me a child like delight. 😎 


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

@byron 

In Australia they build rabbit proof fences.


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

@thrandell  FYI @byron

Hi Tom,

The robot base is back on the bench and I am ready to mess about with it again.

You asked in another thread about sharing code for going straight. I did have some ad hoc experiments but not a robust working solution worth sharing.

The idea was to use odometry to monitor the position and direction of the robot and apply action to bring it to some goal position which can be a position along a straight line?

https://forum.dronebotworkshop.com/user-robot-projects/encoder-odometry-test/#post-49622

It was actually your posts earlier that piqued my interest in playing with odometry code.

https://forum.dronebotworkshop.com/user-robot-projects/hide-and-seek-robots-request-for-comments/#post-21093

However as I have oft written I am interested in using visual navigation and will be concentrating on that for a while. A robot base can visually align with edges between the floor and walls and look for clear areas in front of the robot.

floorView
floorWall

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

@thrandell  FYI @byron

Looking back through this thread I see I did post code on going straight where you start with the same PWM value for both motors and using the encoders the PWM value is adjusted automatically to match the same speed as the other motor. In my case I set them at PWM = 200 and the other PWM adjusted to a value of 210. Thus with PWM1 set to 200 PWM2 will end up with a value of 210 to maintain a straight path.

https://forum.dronebotworkshop.com/user-robot-projects/robot-base-new-build/paged/2/

However the logical method would be a speed control function using PID. That way you can simply set the speed of each motor to be the same and the PID control will make it so. There are examples on the internet on how to do this including I think in these forum. Maybe as you suggested there is a PID library for the Arduino. In general I avoid libraries if I can write my own but it may work for you if you need it in your swarm bots. It is something I need to find time to use myself 🙂

 

This post was modified 1 week ago 3 times by robotBuilder

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

Hi @robotbuilder

I’m glad to hear that your project is back on the workbench.  Due to the carelessness of a neighbor my garage ceiling was flooded, so I’ve temporarily lost the use of my workspace…

I guess that I miss-understood your idea of using encoder output to steer a robot. I had a hard time trying to figure out how you planned to do it.  At first I thought that it might work along the lines of a proportional controller, with the difference in the encoder outputs used to steer the motors in a straight line.  Then I started to think about how you could use that controller to turn and I couldn’t quite puzzle out how to do it. 

I’ve been using odometry with my robots to control turns and distance travelled.  When I want to turn I determine the direction and the rotation in radians (the amount is fixed) and then monitor the change in theta.  After the turn is made I read the sensors again to see if the robot has cleared the obstacle and if need be do it all over again.  I guess in your case, if you can determine via the camera your target ’s offset from your robot’s centerline then you could do the same thing.  Do you count pixels to determine where your target lies on the picture frame?

With my swarm bots I’m also trying to get my robots to identify an object and move toward it.  It’s a whole different ball game from obstacle avoidance.  To get good turning precision I’d need a ton of sensors or maybe just two that move via servos, but at this point I’m happy with what I’ve got to work with.

 

Tom

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


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

@thrandell

Do you count pixels to determine where your target lies on the picture frame?

Not really. Perhaps I will start a thread showing how vision can be used to locate and navigate a robot. Encoders are not required because the robot can see where it is and the direction it is pointing. If it was a swarm bot it could see where other bots are located and their orientation. Vision is rich in information and you can pick and choose what bits to use.

 


   
ReplyQuote
Page 5 / 5