As can be seen I’ve used EH-3R robot kit, wireless IP network camera with my own pan/tilt mechanism.
Electronics consist of SSC-32, OOPIC-R, Fujitsu-Siemens PDA, SRF08 sonar range finder, 20 HS-475 servos, one 7.2V battery for servos, one 4,5V battery for camera, one 9V battery for electronics.
Camera can rotate 360 degrees horizontally and -15…+75 degrees vertically. Sonar is mounted beneath the camera.
The idea was to build a walking robot, which could be controlled thru Internet via WiFi connection.
Controlling chain is as follows Internet web service on the PDA ->OOPIC-R->SSC-32
I have already got web service for PDA’s windows mobile 5.0 (written in C#, .NET). It installs directly on to PDA. When the PDA is connected via WiFi to Internet it allows me, by clicking buttons in internet browser, to send different commands to com port of the PDA. It also allows me to receive data from PDA’s com port and show it on the web. I also know how to send signals from OOPIC-R to SSC-32. And now I need your opinion.
Question #1
Should I store sequences in SSC’s EEPROM and call them with simple commands from OOPIC, or should I send sequences from OOPIC directly to SSC? I know that the first variant, using SSC-s EEPROM, will allow me to use OOPIC more efficiently, but my problem is as follows: after one click on a robot’s control button in Internet browser (for example move Forward button) robot should start walking forward until any other movement controll button is pressed. But at the same time I should be able to control camera movements (rotate it left, right, up, down). Will it be possible while SSC performs walking sequence? Camera uses two servos. At this moment all servos are hooked up to SSC. Another solution would be to connect camera servos to OOPIC and control them with OOPIC without interfering with SSC’s walking sequences. What do you think, which variant would be better?
Anyone had any experience with controlling SSC-32 with OOPIC-R?
Question #2
What walking gate should I use? For testing I use tripod gate. My hexapod is quite heavy and so I thought that using wave/ripple gate would be better. Servos will not be under so much stress, as if using tripod gate. Another point is that I am using camera and sonar range finder, they shake while walking. In videos I’ve seen, robots vibrate less using wave gate then using tripod gate. But I have no experience with wave gate, never tried it myself. What do you think, which gate would be better for my hexapod?
Looks like your project is coming along very well! There are others that can answer some of this much better than I can, but I will at least take a stab at the first question. I don’t have any experience with other walking gaits so I can not help there. I can not give you much advice on the OOPIC either, I had one awhile ago and decided it was not for me…
This is an interesting question. Having your processor calculate the gait, does provide you with lots of flexibility that I am not sure that would be easily to replicate with sequences stored on the SSC32. For example with the powerpod generate program you can easily direct your round hex to walk in any direction. For example you could start out at 30 degrees and then take off at 160 degrees. You can also change to have the body riding up high or close to the ground, … But this obviously uses a reasonable amount of your processing power. However if you are happy with your robot only moving in some fixed directions (forward, reverse, left, right, …) and want to rely on rotating (rotate left, rotate right), and with some fixed number of other variables such as body height, then you could generate sequences for each of the combinations and store it in the EEPROM of the SSC-32 and then use the general purpose sequencer to do a walk.
The sequencer has two players. So one option would be to use the first player to do the walking. You could use the second player to control the camera sequences. While I have not tried it, the documentation for the general purpose sequencer implies that you could also independantly control other servos while a sequence is running, but it warns you not to try to output servo commands to servos that are being controlled by the sequence. If this is the case you could also simply calculate the information and tell the SSC-32 to do a group move for those two servos.
Which approach is best? That is the interesting question. You may have to experiment to find out which one works best for your project.
That’s quite a setup! I’m suprized the 'bot can move with all that weight. And just using '475 servos?
I’d want the flexibility of using the OOPIC for gait generation, and the SSC32 for commanding the servos. The SSC32 can easily handle the tilt/pan as well. Are you simply running sequences on the OOPIC for 'bot moves, or have you implemented a gait engine on the OOPIC?
A ripple gait would give you more “down time” on the legs. As to the vibration, how about a camera with “vibration correction” software?
As for vibrations, they are not that big, because my camera pan/tilt mechanism is quite sturdy and stable. Its just vibrations could lower sonar range finder accuracy for long range measurements and so I would like to lower vibrations even more.
I’ve read a serious PhD level science article about walking gates, and it stated that wave/ripple gate is more efficient than tripod gate,but it was just theory. So I would like to get feedback from you, people who realy tried it and can say what is true for real life.
I’d seen the Kronos site, but didn’t pick up on the demo program. Is it part of the terminal? The walking is quite slow, but you might have intended that.
I like Brooks for white papers, but there are many others as well.
Shock mounts might help, also, you can dampen the drives.