Jump to content


Photo

Trouble with Robotics kit

kit robotics funduino how to make your first robot

  • Please log in to reply
82 replies to this topic

#1 PatriotAce

PatriotAce

    Advanced Member

  • Members
  • PipPipPip
  • 47 posts
  • LocationLowell, MI, USA

Posted 30 December 2013 - 09:52 PM

So, I'm following the How to Make Your First Arduino Robot tutorial after getting the robotics kit for Christmas.

 

I got through the Making the Chassis section and the Electrical section (at least I think I made it through the Electrical section, that might be causing the issue, not sure.) I moved on to the programming section and completed the first exercise and it works. The problem began when I tried to complete the Servo's section.

 

I typed in the code directly as it is in on the page, I checked it multiple times, here it is:

#include <Servo.h>

//create servo objects
Servo leftMotor;
Servo rightMotor;

void setup()
{  
  leftMotor.attach(13);
  rightMotor.attach(12);
}

void loop()
{  
  leftMotor.write(180);
  rightMotor.write(180);
}

 and then uploaded it, but nothing happened.

 

I've been working at this for about 3 hours, stuck at this one section, so you can see why I might be a bit frustrated :P.

 

Here's some pictures of the wiring:

 

Diagram of power:

 

power.png

 

Pictures (I gave up on diagrams, they were taking way too long - the links are from my blog):

I really want to make this robot, it sounds like fun!

 

Thanks!


  • 0

#2 Nathan House

Nathan House

    Administrator

  • Administrators
  • 122 posts
  • LocationLynchburg, VA

Posted 30 December 2013 - 10:45 PM

Hey,

 

Thanks for the well written question and images, your post is the perfect example of the right way to ask a question!

 

From the picture you posted, I think you have the power wires for the servos backwards. Take a look at this diagram:

 

1388442826_continuous_rotation_servo_dia

 

The GND wire should be connected to the corner of the battery pack opposite where the power wires are coming out of it. So in the orientation shown above, the GND wire should be connected in the lower right hand corner of the battery pack.

 

Give that a try and let me know if anything happens!


  • 1

#3 PatriotAce

PatriotAce

    Advanced Member

  • Members
  • PipPipPip
  • 47 posts
  • LocationLowell, MI, USA

Posted 30 December 2013 - 10:58 PM

Hey,

 

Thanks for the well written question and images, your post is the perfect example of the right way to ask a question!

 

From the picture you posted, I think you have the power wires for the servos backwards. Take a look at this diagram:

 

1388442826_continuous_rotation_servo_dia

 

The GND wire should be connected to the corner of the battery pack opposite where the power wires are coming out of it. So in the orientation shown above, the GND wire should be connected in the lower right hand corner of the battery pack.

 

Give that a try and let me know if anything happens!

Thanks! This worked almost perfectly! The left side now turns, not the right...strange. Both sides turn! I looked at my wiring on the right side and realized I had plugged the command wire into the same row as the power for that side. Derrrpp.. :blink:

 

Kinda reminds me of code debugging. You can't see it forever and then someone else looks at it and you end up going "DUH!"

 

As for the kit, it's been great so far! The wiring could use a diagram, as the pictures are just slightly hard to tell where things go.  Only other thing I would recommend is better double-sided tape. The papery side tends to not peel off well and leaves stuff behind, thus killing the sticky.

 

I have both sides turning, opposite ways as stated in the tutorial!

 

Thanks!


  • 0

#4 Nathan House

Nathan House

    Administrator

  • Administrators
  • 122 posts
  • LocationLynchburg, VA

Posted 30 December 2013 - 11:20 PM

Thanks! This worked almost perfectly! The left side now turns, not the right...strange. Both sides turn! I looked at my wiring on the right side and realized I had plugged the command wire into the same row as the power for that side. Derrrpp.. :blink:

 

Kinda reminds me of code debugging. You can't see it forever and then someone else looks at it and you end up going "DUH!"

 

Great, glad to hear that was the problem! 

 

You're exactly right, I've found that when working on electrical or software projects, it's often the really simple mistakes or bugs that take the most time to figure out!

 

 

As for the kit, it's been great so far! The wiring could use a diagram, as the pictures are just slightly hard to tell where things go.  Only other thing I would recommend is better double-sided tape. The papery side tends to not peel off well and leaves stuff behind, thus killing the sticky.

 

I have both sides turning, opposite ways as stated in the tutorial!

 

Thanks!

 
Glad you like it so far! I'm working on a new tutorial for the kit that will include better pictures, and diagrams for the wiring. I'll let you know when I get it done (hopefully this week) -- I'd love to get your feedback on it.
 
Regarding the double sided tape, I see your point.. It is pretty hard to get the red backing off. I'll have to see if I can devise a good method for getting it off easily, since if you can get it off without mangling the tape up, it's really good stuff (over twice as strong as the previous tape I was using).
 
I noticed in your picture that you're using the plastic hubs that come with the servos as wheels. I included wheels in your kit, right? They should look like this:
 
2-5-8-plastic-black-wheel-883-218.jpg
 
Just want to make sure I didn't accidentally leave them out, as they work much better than the plastic hubs (they're much bigger and have rubber bands that give them great traction).

  • 0

#5 PatriotAce

PatriotAce

    Advanced Member

  • Members
  • PipPipPip
  • 47 posts
  • LocationLowell, MI, USA

Posted 31 December 2013 - 06:17 PM

Glad you like it so far! I'm working on a new tutorial for the kit that will include better pictures, and diagrams for the wiring. I'll let you know when I get it done (hopefully this week) -- I'd love to get your feedback on it.

 

Sure thing! I just finished the tutorial and I'm now tweaking the code and working on the case. One other thing I noticed is that the section in the final code is kinda hard to understand. I had to scroll down to the final code to figure out where some of the code went.

Start by adding a new function to the file, named stateMachine(), then add a call to this function inside of loop() so that it gets called every loop.

 

that might be easier to understand if you posted a short snippet right after it like this:

 

Start by adding a new function to the file, named stateMachine(), then add a call to this function inside of loop() so that it gets called every loop.

void loop()
{
    ...
}

void stateMachine()
{

}

I noticed in your picture that you're using the plastic hubs that come with the servos as wheels. I included wheels in your kit, right? They should look like this:
 
2-5-8-plastic-black-wheel-883-218.jpg
 
Just want to make sure I didn't accidentally leave them out, as they work much better than the plastic hubs (they're much bigger and have rubber bands that give them great traction).

 

No, you didn't forget them, but I can't seem to get them on. It almost looks like the inside wheel (where it connects to the servo) is too small. Not sure if this is just me failing again <_< or something with the product.

 

Otherwise, this kit is stupendous! I got the Raspberry Pi starter kit from Adafruit last year and it didn't have half of the resistors, LEDs, and general prototyping stuff that the  robotics kit has. I'm doing this as a science fair project in our homeschool group and because of that I'm doing a write-up of what I've done. If my mom says so, I'm gonna post it to my blog, if you don't mind.

 

BTW the top post in the community blog has a bad link: http://www.foxytronics.com...


  • 0

#6 PatriotAce

PatriotAce

    Advanced Member

  • Members
  • PipPipPip
  • 47 posts
  • LocationLowell, MI, USA

Posted 01 January 2014 - 02:10 AM

One more question, my robot seems to have a slight pull to the right when it's going straight. Do you have any clue why this is?

 

I suspect it has something to do with the fact that I am splitting power between the two motors by connecting the two with one wire and applying the power at one end.

Thus, because the power and ground connect closer to one motor, it gets just enough extra eletricity to make it pull more than the other.

Could this be the reason?

 

Also, just a FYI, adding a ball caster to the rear of the robot (and probably the front too) makes it roll much better than the carboard.


  • 0

#7 PatriotAce

PatriotAce

    Advanced Member

  • Members
  • PipPipPip
  • 47 posts
  • LocationLowell, MI, USA

Posted 01 January 2014 - 06:24 PM

Found another error, in the code:

 

// ultrasonic sensor pin configurations
pinMode(ultrasonic2TrigPin, OUTPUT);
pinMode(utlrasonic2EchoPin, INPUT);

 

the second ultrasonic is spelled utlrasonic. That's all!


  • 0

#8 Nathan House

Nathan House

    Administrator

  • Administrators
  • 122 posts
  • LocationLynchburg, VA

Posted 01 January 2014 - 11:53 PM

No, you didn't forget them, but I can't seem to get them on. It almost looks like the inside wheel (where it connects to the servo) is too small. Not sure if this is just me failing again <_< or something with the product.

 
They'll fit, but you have to push *really* hard to get them on. I think they are a little bit too small, actually, but they're the only nice wheels I've been able to find that fit onto servos.
 
 

I'm doing this as a science fair project in our homeschool group and because of that I'm doing a write-up of what I've done. If my mom says so, I'm gonna post it to my blog, if you don't mind.

 
Let me know when you get your writeup done, I'd like to see it!
 

One more question, my robot seems to have a slight pull to the right when it's going straight. Do you have any clue why this is?

I suspect it has something to do with the fact that I am splitting power between the two motors by connecting the two with one wire and applying the power at one end.
Thus, because the power and ground connect closer to one motor, it gets just enough extra eletricity to make it pull more than the other.
Could this be the reason?

 
The robot pulling to the right isn't a power issue. It actually doesn't really matter which servo is connected to the battery pack first -- they'll both pretty much get the same amount of power.
 
The first thing I'd check is if the servos are tuned properly. Try setting both servos to neutral in your code (the value "90" is neutral) and see if either of the servos move, or make any noise. If they do, then take a screwdriver and tune the servos by turning the potentiometers on them (if you look on the side of the servos, there's hole that gives you access to an orange potentiometer). You can probably get it driving pretty straight with this method.
 
Unfortunately, even if you get the servos perfectly tuned, it still won't drive perfectly straight. The next step, after tuning the servos, is to take note if it's veering off to one direction or the other and, if it is, try adding an "offset" to one or both of the motors. For example, if it's pulling to the right, you might make the right motor turn a little faster, and the left one turn a little slower.
 
Those are the first two things to do and should get it going pretty straight. A good future project for you would be to use either encoders or a gyroscope (my favorite) to make it drive perfectly straight  :)
 

Also, just a FYI, adding a ball caster to the rear of the robot (and probably the front too) makes it roll much better than the carboard.

 

Absolutely! The old kit didn't have real wheels (just those plastic hubs) or a caster, but the new one does and it makes a huge difference! I actually forgot to put the caster in your kit (I rushed to get it put together so that I could get it shipped out quickly for Christmas), but I shipped it separately the next day (hopefully you got it!).

 

 

Found another error, in the code:

 

the second ultrasonic is spelled utlrasonic. That's all!

 
Thanks, fixed!

 

 


  • 1

#9 PatriotAce

PatriotAce

    Advanced Member

  • Members
  • PipPipPip
  • 47 posts
  • LocationLowell, MI, USA

Posted 02 January 2014 - 01:45 AM

They'll fit, but you have to push *really* hard to get them on. I think they are a little bit too small, actually, but they're the only nice wheels I've been able to find that fit onto servos.

 

Heh, never a good thing to force stuff with electronics...but I got them on! (My thumb hurts a ton now...)

 

Let me know when you get your writeup done, I'd like to see it!

 

Sure thing! Another thing, I noticed you didn't have a tutorial for buttons or LEDS with the Arduino. I'm thought I'd make one to go with my write-up and to give me practice. Would you want it to put on the site?

 

I actually forgot to put the caster in your kit (I rushed to get it put together so that I could get it shipped out quickly for Christmas), but I shipped it separately the next day (hopefully you got it!).

 

Yes, I got it. Made a huge difference, as I mentioned earlier. Glad you got it to me :D

 

The Blog post bad link I mentioned last time isn't actually a bad link I just realized, it's because of the continuation marks (...). My bad :blink:


  • 0

#10 Nathan House

Nathan House

    Administrator

  • Administrators
  • 122 posts
  • LocationLynchburg, VA

Posted 02 January 2014 - 02:35 PM

Sure thing! Another thing, I noticed you didn't have a tutorial for buttons or LEDS with the Arduino. I'm thought I'd make one to go with my write-up and to give me practice. Would you want it to put on the site?

 

 

Absolutely! I've actually been looking for people to help write tutorials for the website, so you're welcome to put any tutorials you write on here! I haven't quite finished the tutorial system I wrote for the website, but give me a few days and I'll try to finish it and set you up as an author  :)


  • 0

#11 PatriotAce

PatriotAce

    Advanced Member

  • Members
  • PipPipPip
  • 47 posts
  • LocationLowell, MI, USA

Posted 17 January 2014 - 01:12 AM

Sorry about the late reply. I've been quite busy with school and all (being in High School isn't the best time for time consuming projects :)) and haven't had time to respond to this.

 

I read your message and once I get the code/wiring working for myself ( :)) , I'll add a tutorial on how to add a kill switch to your Arduino robot, if that's okay.

 

Regarding that, is there any chance you could look at a wiring diagram/code and see why it isn't working? I'm adding the aforementioned kill-switch so I don't have to un-plug the arduino from the power source if I want to stop it.

 

Here's the wiring (default wiring from Arduino.cc tutorial):

button.png

and the code:

// Version 2.1.1
// Major:        2 - My first robot code, copied mostly from Foxytronics, but with tweaks of my own, like the kill button
// Minor:        1 - Minor change is the adding of the custom functions for adding of kill button
// Micro:        1 - Micro change is the adding of the custom functions for adding of kill button

#include <Servo.h>

// create servo objects
Servo leftMotor;
Servo rightMotor;

// define the states
#define DRIVE_FORWARD            0
#define TURN_LEFT                1

int state = DRIVE_FORWARD;        // 0 = drive forward (DEFAULT), 1 = turn left

const int serialPeriod = 250;    // only print to the serial console every 1/4 second
unsigned long timeSerialDelay  = 0;

const int loopPeriod = 20;      // a period of 20ms = a frequency of 50Hz
unsigned long timeLoopDelay    = 0;

// specify the trig and echo pins used for the ultrasonic sensors
const int ultrasonic2TrigPin = 9;
const int ultrasonic2EchoPin = 8;

// set the pin numbers for the button
const int buttonPin = 2;

// state recorder for the button
int buttonState = 0;

int ultrasonic2Distance;
int ultrasonic2Duration;

void setup()
{
  Serial.begin(9600);
 
  // ultrasonic sensor pin configurations
  pinMode(ultrasonic2TrigPin, OUTPUT);
  pinMode(ultrasonic2EchoPin, INPUT);
 
  // attach the servos
  leftMotor.attach(13);
  rightMotor.attach(12);
 
  // Set up the button pin
  pinMode(buttonPin, INPUT);

}

void loop()
{
  debugOutput();     // prints debugging messages to the serial console
 
  killButton();      // checks for kill button push
 
  stateMachine();
 
  if(millis() - timeLoopDelay >= loopPeriod)
  {
    readUltrasonicSensors();  // read and store the measured distances
    
    timeLoopDelay = millis();
  }

}

void killButton()
{
  // read the state of the button
  buttonState = digitalRead(buttonPin);
 
  Serial.print("buttonState:");
  Serial.print(buttonState);
  Serial.println();
 
  // if the state of the button is HIGH (pressed)
  if(buttonState == HIGH)
  {
    endProgram();
  }
  else if(buttonState == LOW)
  {
    return;
  }
}

void endProgram()
{
  rightMotor.write(90);
  leftMotor.write(90);
  Serial.println("Program Killed by Physical switch");
  while(1) { }
}

void stateMachine()
{
  if(state == DRIVE_FORWARD) // no obstacles detected
  {
    if(ultrasonic2Distance > 6 || ultrasonic2Distance < 0) // if there's nothing in front of us
    {
      // drive forward
      rightMotor.write(0);
      leftMotor.write(180);
    }
    else                                                  // there's an object in front of us
    {
      state = TURN_LEFT;
    }
  }
  else if(state == TURN_LEFT) // obstacle detected -- turning left
  {
    unsigned long timeToTurnLeft = 1100;                // it takes about 1.1 seconds to turn 90 degrees
    
    unsigned long turnStartTime = millis();             // save the time that we started turning
    
    while((millis()-turnStartTime) < timeToTurnLeft)    // stay in this loop until timeToTurnLeft (1.1 seconds has elapsed)
    {
      // turn left
      rightMotor.write(0);
      leftMotor.write(0);
    }
    
    state = DRIVE_FORWARD;
    
  }
        
}

void readUltrasonicSensors()
{
  //ultrasonic 2
  digitalWrite(ultrasonic2TrigPin, HIGH);
  delayMicroseconds(10);      // must keep the trig pin high for at least 10us
  digitalWrite(ultrasonic2TrigPin, LOW);
 
  ultrasonic2Duration = pulseIn(ultrasonic2EchoPin, HIGH);
  ultrasonic2Distance = (ultrasonic2Duration/2)/29;
}

void debugOutput()
{
  if ((millis() - timeSerialDelay) > serialPeriod)
  {
    Serial.print("ultrasonic2Distance: ");
    Serial.print(ultrasonic2Distance);
    Serial.print("cm: ");
    Serial.println();
    
    timeSerialDelay = millis();
  }
}

The serial console prints that the button has been pushed, even though I haven't pushed the kill button and the robot never really runs. The left motor just sputters along (and is emitting that this-can't-be-good-the-motor's-hot smell) and the right never turns on. Do you know why this is?

 

I believe it may have to do with the wiring, as when I run a simple button-state check (directly from the Arduino site):

const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {      
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);    
 
  Serial.begin(9600);
}

void loop(){
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) {    
    // turn LED on:    
    Serial.println("HIGH");
  }
  else {
    // turn LED off:
    Serial.println("LOW");
  }
}

it fluctuates back and forth between high and low, in the Serial console printing HIGH then LOW twice:

HIGH
LOW
LOW
HIGH
LOW
LOW
...

This is really most perturbing <_<

 

That, and (not related to the kill switch) the left servo tends to move for a bit if I have to plug the power or ground wires from the pack to the breadboard in again. Do you have any clue why?


  • 0

#12 Nathan House

Nathan House

    Administrator

  • Administrators
  • 122 posts
  • LocationLynchburg, VA

Posted 18 January 2014 - 05:55 PM

Hey, I'm so sorry for taking so long to get back with you! I'm in the same boat as you with school.. My college classes just started last Monday, so it was kind of a crazy week!

 

OK, so regarding the kill switch, I would suggest unplugging the motors until the stuff printed out to the console looks correct. 

 

The wiring for the push button switch isn't quite right. The reason the reading of the input pin is changing between HIGH and LOW constantly is that the pin is "floating" (not connected to GND or an input voltage -- i.e. not connected to anything) when the button isn't pressed. In addition to the pin floating when the push button isn't pressed, power is being wasted because current is constantly flowing from the 5V pin through the resistor to GND.

 

Here's how it should be wired:

 

qcqq.png

 

Here's how it works:

 

When the switch is open (not pressed), the two sides of the switch are not connected to each other, so pin 2 is connected through the 10k resistor to GND, or LOW.

 

When the switch is closed (pressed), the side connected to 5V becomes connected to the other side of the switch, and because there's less resistance between pin 2 and 5V (since there's no resistor between pin 2 and 5V, and there is one between GND and pin 2) the voltage at pin 2 becomes 5V, or HIGH.

 

Be careful about the orientation of the push button switch. Here's a picture I took showing which pins are connected together:

 

DSC_0013-edited.jpg

 

You want the pairs of pins on either side of the gap in the breadboard to be the ones that are always connected to each other. If you have a multimeter, this would be a great time to use it to make sure you put the switch in the right way.

 

 

That, and (not related to the kill switch) the left servo tends to move for a bit if I have to plug the power or ground wires from the pack to the breadboard in again. Do you have any clue why?

 

It could be a couple of different things.. Does the servo turn a lot, or just twitch a little?

 

If you're cutting power to the Arduino and then giving it power again, then in that case it's normal for the servos to twitch or turn a little bit. If you're just unplugging the servos (not the Arduino) and then plugging them back in, I'm not sure why they would be turning (I'll have to think about it..).

 

You're code is looking good, btw!


  • 0

#13 PatriotAce

PatriotAce

    Advanced Member

  • Members
  • PipPipPip
  • 47 posts
  • LocationLowell, MI, USA

Posted 19 January 2014 - 02:04 AM

Here's how it should be wired:

 

qcqq.png

 

 

I will try this out and get back to you. Thanks for the reply and no biggie on the delay. I was gone for a couple of days sans internet connection, so I couldn't read/fix it anyways!
 

 

It could be a couple of different things.. Does the servo turn a lot, or just twitch a little?

 

If you're cutting power to the Arduino and then giving it power again, then in that case it's normal for the servos to twitch or turn a little bit. If you're just unplugging the servos (not the Arduino) and then plugging them back in, I'm not sure why they would be turning (I'll have to think about it..).

 

It varies between times. Mainly it just twitches, but it varies whether the robot is plugged in via USB or powered via the pack. And yes, I have to pull the plug from the Arduino to kill the robot.


  • 0

#14 PatriotAce

PatriotAce

    Advanced Member

  • Members
  • PipPipPip
  • 47 posts
  • LocationLowell, MI, USA

Posted 19 January 2014 - 04:05 PM

I swapped the wiring around, but it right away prints:

buttonState:1
Program Killed by Physical switch

The left servo keeps running, but the right servo never starts. I realized that I needed to have inverted the values of the motors:

void endProgram()
{
  rightMotor.write(90);
  leftMotor.write(90); <-- Needs to be flipped to leftMotor.write(0);
  Serial.println("Program Killed by Physical switch");
  while(1) { }
}

and I did that, but the left motor kept going.


  • 0

#15 Nathan House

Nathan House

    Administrator

  • Administrators
  • 122 posts
  • LocationLynchburg, VA

Posted 19 January 2014 - 04:46 PM

Did you try running the test program for the push button switch? If not, try running it and see if it works. Assuming it does, changing the value read from pin 2 that terminates the program might fix the problem. I.e. changing "buttonState == HIGH" to "buttonState == LOW" in your IF statement.

 

Give the test program a try and see what happens!


  • 0

#16 PatriotAce

PatriotAce

    Advanced Member

  • Members
  • PipPipPip
  • 47 posts
  • LocationLowell, MI, USA

Posted 24 January 2014 - 01:27 AM

So, I ran the test program and it constantly spits out HIGH, even when I hold the button. Also, when I print buttonState it constantly says 1, even when the button is pressed, which makes me think that the wiring is quirky, as there should be a change in data returned, right?


  • 0

#17 Nathan House

Nathan House

    Administrator

  • Administrators
  • 122 posts
  • LocationLynchburg, VA

Posted 24 January 2014 - 04:05 AM

Try rotating the push button switch 90 degrees. If it's in the wrong way then 5V would always be going to pin 2, which would cause the behavior you described. If you have a multimeter (an incredibly useful tool) you can check continuity between the pins to see if it's inserted correctly without taking it out.

 

Try that and let me know if it fixes it, if not I'll wire it up on my breadboard to make sure I didn't make a mistake with the schematic :)


  • 0

#18 PatriotAce

PatriotAce

    Advanced Member

  • Members
  • PipPipPip
  • 47 posts
  • LocationLowell, MI, USA

Posted 25 January 2014 - 03:35 AM

I will try this, and I would use a multimeter, but I think I fried mine :P. I will check this out and get back to here! I'm also working on setting up a Raspberry Pi for Wireless controlling over USB programmed using Python, and I could do a tutorial on that if you want.


  • 0

#19 Nathan House

Nathan House

    Administrator

  • Administrators
  • 122 posts
  • LocationLynchburg, VA

Posted 25 January 2014 - 11:35 PM

Cool, let me know if that fixes it!


  • 0

#20 PatriotAce

PatriotAce

    Advanced Member

  • Members
  • PipPipPip
  • 47 posts
  • LocationLowell, MI, USA

Posted 26 January 2014 - 01:08 AM

I tried rotating the button, but the legs wouldn't reach, so I believe it is aligned correctly.  I wrote some code for killing via Serial Console:

if (Serial.available())
  {
    Serial.println("AVAILABLE!");
    char ch = Serial.read();
    Serial.println(ch);
    if (ch == '0')    // 0 is the KILL character
    {
      endProgram();
    }
    
    else             // Recieved other character, ignore it
    {  
      // Do Nothing
    }
  }

...

void endProgram()
{
  rightMotor.write(90);
  leftMotor.write(90);
  Serial.println("Program Killed by via Serial command");
  while(1) { }
}

and it recieves the 0 just fine and says killed by Serial command, but then the robot keeps moving. As I have said before, this is most perturbing.


  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users