Putting robotics at your service™

Free shipping on orders over $200

Default Code from the PowerPod is giving me Issues

Print view Share :
Previous topicNext topic

Page 1 of 1 [ 12 posts ]

New ( offline )
Posts: 6
Posted: 2011-11-09 11:29 
Hello Jim If you remember we spoke yesterday afternoon about the issues I had programming the robot. We have loaded the code that we generated from powerpod on to the basic atom pro and we have tried to make the robot to move... Nonetheless all it gives us is beeping sounds from the speaker. The PS2 Controller and the receiver communicate well. The green led on the SSC-32 flashes when we press buttons on the controller, which lets us know that it is receiving something from the basic atom pro. Please look at our pictures and the Notepad file, the code we tried to run, and let us know what we might be doing wrong.

Thank you


Attachment:
File comment: overview of the CH3-R..
Hexapod1.jpeg
Hexapod1.jpeg [ 1.9 MiB | Viewed 1788 times ]
Attachment:
SSC32.jpeg
SSC32.jpeg [ 1.63 MiB | Viewed 1788 times ]
Attachment:
Botboard.jpeg
Botboard.jpeg [ 1.7 MiB | Viewed 1788 times ]
Attachment:
File comment: This is how we connected the botboard and the SSC32
Connection.jpeg
Connection.jpeg [ 1.84 MiB | Viewed 1788 times ]
Attachment:
File comment: This is the program we have attempted to download to the BasicAtomPro
Newprog.txt [26.75 KiB]
Downloaded 65 times
User avatar
Expert ( offline )
Posts: 536
Posted: 2011-11-09 11:35 
The SSC-32 is set for 115.2k baud. It needs to be set to 38.4k baud to "talk" to the Bot Board II. Remove the jumper closer to the D in "baud" on the SSC-32.

_________________
Curiously enough, the only thing that went through the mind
of the bowl of petunias as it fell was "Oh no, not again."

James "Don't call me Jim" Frye
Lynxmotion, Inc
http://www.lynxmotion.com


New ( offline )
Posts: 6
Posted: 2011-11-14 22:47 
Sorry for the late reply.Thank you for pointing out the baud rate jumper for us, we removed it and it worked instantly.

We have encountered a different problem while trying to make the robot Autonomous. Using the code we generated from powerpod we began testing the directional movements of the hexapod. The problem is that the Xspeed variable (which is used to move the robot forward or backward) moves the robot in a circle. We've tried changing many other parameters in the code that we believed would cause the problem but no change has occurred. We've attached a program that we recently created from powerpod. Please let us know if you have any ideas as to what the problem might be.

Thank You


Attachment:
Autonomous.txt [23.93 KiB]
Downloaded 72 times
User avatar
Guru ( offline )
Posts: 9256
Posted: 2011-11-15 12:57 
This is not a problem with the code. You have assembled the robot with all right legs. Please disassemble the three legs on the robots left side and build them like the mirror image. I didn't notice the problem the first time I looked at your images.

_________________
Jim Frye, the Robot Guy
http://www.lynxmotion.com
I've always tried to do my best...


User avatar
Guru ( offline )
Posts: 4126
Posted: 2011-11-15 15:05 
New ( offline )
Posts: 6
Posted: 2011-11-15 16:59 
OHHHH WOWWW!!!! Thank You soooo much Jim, we were starting to get depressed because it wouldn't walk straight LOL.


User avatar
Guru ( offline )
Posts: 9256
Posted: 2011-11-15 17:18 
abnt wrote:
OHHHH WOWWW!!!! Thank You soooo much Jim, we were starting to get depressed because it wouldn't walk straight LOL.


You have to read every word in the tutorials and assembly guides. ;)

_________________
Jim Frye, the Robot Guy
http://www.lynxmotion.com
I've always tried to do my best...


New ( offline )
Posts: 6
Posted: 2011-11-18 05:09 
We really appreciate your help so far, thank you very much for your time. I'm using your autonomous code, as previously stated. My vision for our hexapod is that it will walk forward for a set time (or a set number of steps), stop, rotate 90 degrees, and begins to walk forward once again using the xspeed variable. It's sort of like coding a small scale gps into the micro controller. As we are new to Basic Atom Pro, I have read the online manual for basic micro studio and I also have the current basic stamp manual in my possession. The for loops on both manuals show how to use increments based on a created variable but they don't show an option for looping with time as the increment.

I believe that controlling the amount of steps would be a better option (Please correct me if I am wrong) but I can't seem to figure out which one of your variables control the number of steps in the program. I tried using the 'Steps' variable but that only caused the hexapod to walk in place like a soldier.

We also thought about using both Xspeed and YSpeed. However we have not yet figured out how to tell the robot which action to perform first, to stop the first action and perform the next one.

Can you please help us how we can perform the above?

Thank You very much, :mrgreen:


User avatar
Guru ( offline )
Posts: 9256
Posted: 2011-11-29 14:37 
Why don't you configure the bot for serial control, then plop on another Atom or Stamp to do the higher level control; which way to walk, how fast, body position, etc. This would mean you can program the behavior on a blank canvas so to speak. The hexapod code for both PowerPod or Phoenix are very complex and also very timing specific. Trying to cram a behavior routine in there is not a trivial task. What I am proposing would be considered distributed computing and is done in most electronics nowadays. You car may have dozens of processors, not one big one that does everything. ;)

_________________
Jim Frye, the Robot Guy
http://www.lynxmotion.com
I've always tried to do my best...


New ( offline )
Posts: 6
Posted: 2011-12-02 09:46 
Robot Dude wrote:
Why don't you configure the bot for serial control, then plop on another Atom or Stamp to do the higher level control; which way to walk, how fast, body position, etc. This would mean you can program the behavior on a blank canvas so to speak. The hexapod code for both PowerPod or Phoenix are very complex and also very timing specific. Trying to cram a behavior routine in there is not a trivial task. What I am proposing would be considered distributed computing and is done in most electronics nowadays. You car may have dozens of processors, not one big one that does everything. ;)


Thank you very much Jim. We appreciate your help and your proposal; However since we are using this robot for our project; which requires programming, We decided to mess with the program and we got it to work. We used loop and it looks like the following.

Code:
gallop var word ; initialize global increment variable gallop
gallop =0
main1 ; large loop
gallop = gallop +1
.
. ; this is where the parameters and calculations of the main function are located
.
If gallop < x then ; x is the number of increments needed for the desired action
goto main1 ; continues the loop so that the robot can continue moving
else
gallop =0 ; resets gallop so that it can be used for the next function
pause 1000 ; stops the robot for one second
gosub All1500 ; this is a subroutine that resets the robots stance
goto main2 ; next function
end if
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
main2 ; this function would be the same as main1 except it would execute a new movement
; function (such as turn 90 degrees)
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
main3 ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

main x ; in the last main function we will use an infinite loop to stop the program
gallop = gallop +1
.
. ; this is where the parameters and calculations of the main function are located
.
If gallop < x then ; x is the number of increments needed for the desired action
goto main1 ; continues the loop so that the robot can continue moving
else
gallop =0 ; resets gallop so that it can be used for the next function
pause 1000 ; stops the robot for one second
gosub All1500 ; this is a subroutine that resets the robots stance
g ; g is a label used for the infinite loop
goto g ; continuous loop causes the robot to stop after resetting its stance
end if


User avatar
Guru ( offline )
Posts: 9256
Posted: 2011-12-02 10:14 
Even if you were to add the second microcontroller it's still being programmed. ;)

How about a video showing it in action?

_________________
Jim Frye, the Robot Guy
http://www.lynxmotion.com
I've always tried to do my best...


New ( offline )
Posts: 6
Posted: 2011-12-22 19:32 
I see what you were trying to say now... because we tried to add more commands on the program but after the microprocessor will not be able to hold the amount of the command we wanted to add... Since we want to make this system autonomous and we want the robot to have enough space for memory and processing we will consider your suggestion. Thank you if you have more suggestions don't hesitate to share.
About showing the robot in action we haven't reached our goal yet. However, we will post our end product after this robot does half of the stuff we are planning to do.


 

All times are UTC - 5 hours [ DST ]. It is currently 2014-11-23 11:41
Feedback Form
Feedback Form