Prowlerbot: The Return.

Posted on 08/09/2014 by photomankc
Modified on: 13/09/2018
Introduction
This is an automatic import from our previous community platform. Some things can look imperfect.

If you are the original author, please access your User Control Panel and update it.

Prowlerbot is designed around a BeagleBone Black as the primary behavior control system and several sub controllers to handle hard real-time work. The Beagle's ARM7 handles all the decision making and complex programming. The concept was started a couple of years ago. The initial purpose was to create a home sentry robot that would patrol the house like a roving security motion sensor and sound the Alarm if motion is detected in it's range of view. Prowlerbot is mostly scratch constructed using ...


Prowlerbot: The Return.

Prowlerbot is designed around a BeagleBone Black as the primary behavior control system and several sub controllers to handle hard real-time work. The Beagle's ARM7 handles all the decision making and complex programming. The concept was started a couple of years ago. The initial purpose was to create a home sentry robot that would patrol the house like a roving security motion sensor and sound the Alarm if motion is detected in it's range of view.

Prowlerbot is mostly scratch constructed using AL for the structure. I use my home CNC system to create the milled metal parts and a manual lathe for the cylindrical parts. The locomotion system is based on two 68oz/in NEMA 17 stepper motors I got on sale for $10 each. To allow for largish wheels (3.625" diameter) I included a belt drive system to raise the torque from the shaft at the expense of wheel speed. The results are impressive. The bot can climb substantial inclines and has no issue moving it's now 9lb weight.

The steppers are driven from two L6470 driver chips configured to provide 1A of current to the motor coils. The L6470 handles motion control and acceleration so the main processor does not have to attend to the stepper motors at all. Movement is 'fire-and-forget'.

A number of custom PCBs have been fabricated for the robot. The BeagleBone Black is plugged into a custom logic board that adds buffers and protection for GPIO, a few user LEDs, an RTC, and headers for connection to satellite boards. Power control PCBs were constructed to provide battery voltage sensing using an I2C ADC as well as an interface for allowing the BeagleBone to control power to the entire robot. A PCB was created using a PICAXE to handle the power switching with large MOSFET controlling power to the whole robot. This works in cooperation with a process on the Linux side to allow the robot to monitor it's power and shutdown when batteries are low.

The robot is powered by LiPO 11.1V 4000mah batteries. Duration is not yet determined but it appears that 6-9 hours should be possible with the low duty cycle that the robot's mission provides. The BeagleBone is the largest battery consumer after the motors. The entire robot is powered from the single battery. Stepper motors do not place the kinds of surge loads seen with conventional DC motors on the power supply and little effect is seen on the 3.3V and 5.0V supply rails when the motors are running.

Currently only sonar and IR proximity sensors are connected to the robot.Future plans include the addition of two PIR sensors to detect motion, temperature sensors, to monitor operating temperature, and light sensors to determine when to begin patrolling.

Prowlerbot uses the behavior-based or subsumption model for performing its mission. Programming is done using C++. Each behavior is an object and is added to an arbitration system. Each behavior gets a turn in order of priority to evaluate the sensors and determine if it needs to take action. The first behavior to signal it's need to control wins. Any previous behavior is stopped and the new behavior is passed control of the robot. This allows complex activity to be built up from simple to define behaviors.

Prowlerbot is multi-process. Sensors are read by the pbsense program. They are updated at a rate of about 25 times per second. The data from the sensors is placed into shared memory. The pbotmain program handles the behavior of the robot and attaches to the shared memory to access sensor data. Data is always the most recent available when the behaviors are evaluating it. Behavior arbitration occurs 20 times per second.

Plans for this year are to finish the upper deck platform. Create professional PCBs for: Proximity IR sensors, PIR sensors, light sensors. PCB for Aurduino I2C sonar controller. Custom dual L6470 PCB to simplify connections to motor controllers. Better fusing (than none right now) for safety concerns.

 

===================================================================================================

 

UPDATE 09/27/2014:

Finished the hub side of the new vex wheel hubs:

 

===================================================================================================

UPDATE 09/12/2014:

New VEX 4" Omni's have arrived to replace the goofy grey/green 2.75" wheels.  The new wheels allow for a nice hub to be machined that will better work with the rest of the robots metalic look.

 

VEX-Wheel and Hub

 

 

 

Build photos:

Pulley system parts

 

Adding wheel lug screw holes:

 

Assembeled drive unit:

 

Milling rear wheel bracket:

 

Rear wheel bearings:

 

Miling the wheel rims:

 

Power Control PCBs (oshpark):

 

Main PCB w/BeagleBone and Power:

 

 

Flag this post

Thanks for helping to keep our community civil!


Notify staff privately
It's Spam
This post is an advertisement, or vandalism. It is not useful or relevant to the current topic.

You flagged this as spam. Undo flag.Flag Post