Author Topic: Lizard Brain  (Read 784 times)

0 Members and 1 Guest are viewing this topic.

Offline urthlightTopic starter

  • Beginner
  • *
  • Posts: 4
  • Helpful? 0
Lizard Brain
« on: August 12, 2013, 06:08:51 PM »
I am building a low level  Uno based Differential Steering Robot Motion Base. Everything is oversized because this is going into an Electric Wheelchair robot. I
 have:
1 Sabertooth 2 x 60 (dual motor 60 Amp)
1 Kangaroo x2 motion controller.
2 Very nice Dynopar Quadrature Encoders.
4 Sharp IR ranging units(2 long and 2 short range)
4 Scanner mounts with servos for IR units
1 IMU (compass , Roll , Tilt , Yaw)
1 Arduino Uno
2 Small 24 volt gearmotor driven O-Ring Wheels
2 Rechargable 15 Volt Battery Packs and Charger
1 Small Tail-Dragger Robot Platform.
1 Large 24 Volt Electric Wheelchair Base.

My Goals:
Monitor Battery, On low battery FIND NEST
Wander using non-contact IR bumpers
Monitor Contact Sensors
Wall Follow
Beacon Seeking (Find Nest)
Receive Motion Commands Serially from laptop(Drive, Turn, Distance, etc.)

Where Am I at:
Manually Charging Batteries
Rudimentary Driving controls.
Sabertooth run in Analog Mode.
Sabertooth run in Simple Serial
Sabertooth run in Paketized mode
Kangaroo x2 ordered.
Rudimentary Wandering code using Sharp sensors mounted on servos  to scan for obstacles.
Moving Sabertooth S1 fsrom TX pin to Pin 2 To restore serial coms to PC
IMU Examples up and running doing Telemetry back to PC
Discussion.
How to Implement Primary/Secondary relationship for motor speed.
The first question is analog or Digital motor feedback.



Offline urthlightTopic starter

  • Beginner
  • *
  • Posts: 4
  • Helpful? 0
Re: Lizard Brain
« Reply #1 on: August 27, 2013, 05:34:09 PM »
I brought  the wheelchair base into the shop and decided to cut the plugs off and start spinning the motors. Encountering locked rotor amperage and no movement I started breaking down one the motors. It was full of rust and frozen in place. After applying a liberal application of deep creep, I pulled the other motor and gave it the same treatment. One good whack with the plastic hammer and they came apart. To the wire wheel with the rotors. Then with a sandpaper wrapped broomstick the magnets were almost pristine. Four new bearings later the motors are purring. I did inspect the gearboxes and found no water in them.

The Kangaroo x2  is in. After some driver issues I got it running on my desk. The encoders are attached and coupled to the motors. It  needs improvement but it will do "for testing purposes". And the gearboxes and wheels are safely in a tote.

The original questions were indeed answered by the kangaroo x2.

The next dilemma is how to implement a two way switch to supply the packetized serial data to the kangaroo from the laptop and I have decided to use an  R/C transmitter/receiver for teach mode.....so the Arduino now has to be the Lizard Brain, Pass data from computer via USB and interpret 2 channels of R/C.

I may have to move to the Mega to accomplish all of this just from a program space considerations.

Any thoughts / discussions?

Offline jwatte

  • Supreme Robot
  • *****
  • Posts: 1,275
  • Helpful? 79
Re: Lizard Brain
« Reply #2 on: August 27, 2013, 10:08:19 PM »
Just shuttling data hither and yon does not take a lot of capacity, unless you need to significantly process it as well.

Another reason to go with the Mega, though, might be that you have more than one serial port. Using one for an Xbee, and another for the Kangaroo, would allow you to put the microcontroller on the 'bot instead of on the laptop side, which means you get faster response to things like IR sensors or whatnot.

(I'm assuming the laptop is staionary, whereas the bot is moving, when you're saying "receive commands from the laptop.")

Offline urthlightTopic starter

  • Beginner
  • *
  • Posts: 4
  • Helpful? 0
Re: Lizard Brain
« Reply #3 on: August 28, 2013, 12:21:58 PM »
No actually the laptop will be the processor for cameras and other Higher functions and as such will be on board the bot.

 So the arduino "Lizard Brain" will be standalone only when battery power is critical and all higher functions have been shut down. The responsibilities of which will be return to nest and avoid obstacles.

In the case of R/C takeover the arduino interprets the servo commands and drives the Kangaroo x2 while ignoring all higher functions but still using contact and non contact sensors to not injure people or things..

Offline jwatte

  • Supreme Robot
  • *****
  • Posts: 1,275
  • Helpful? 79
Re: Lizard Brain
« Reply #4 on: August 29, 2013, 10:20:03 AM »
Quote
The responsibilities of which will be return to nest and avoid obstacles.

In my experience, "return to nest" is as complex as any other navigation task. You probably want to predict the battery running low (measure laptop power) and navigate back before you're "critically low."
The safest "critically low" behavior is to sequence all subsystems into an orderly shutdown (make sure all wheels stop, actuators are inoperative, any extension bits are retracted, etc) and then just freeze in place, perhaps making some error noise.

Offline urthlightTopic starter

  • Beginner
  • *
  • Posts: 4
  • Helpful? 0
Re: Lizard Brain
« Reply #5 on: August 29, 2013, 04:46:17 PM »
Quote
In my experience, "return to nest" is as complex as any other navigation task. You probably want to predict the battery running low (measure laptop power) and navigate back before you're "critically low."

Absolutely, But there are other situations where the Laptop might not be available(BSoD, Hard Drive crash, etc) and in that condition the lizard brain becomes "boss" and does a return to nest behavior utilizing the sharp sensors and an IR beacon.

 


Get Your Ad Here