Mr RobotTM

MEKATRONIX TM Tech & Consumer FAQ

NOTE: If you are looking for an answer to a specific question. Search by using your browser's "FIND" feature and type in the related key word.

Q: What is the actual difference in the TA, PA, and XU robot kits?
A: The TA, PA, and XU robot kits ALL have the same parts; they are just in different stages of the building process.

TA stands for Totally Assembled and means the product is totally assembled, tested & ready to use.
PA
stands for Partially Assembled and means the robot's microcontroller is assembled, tested and ready to use, but you still have to assemble the rest of the kit (and do the hacks).
XU stands for eXpert Unassembled and means the product is totally unassembled, you have to do everything.

Q:
What should I use, a Pic or HC11 microcontroller?
A: Although the PIC is a little easier to use, it is limited in expansion and programming capabilities. An HC11 micro, such as the MTJPRO11 with IC and PROGO (Mekatronix language for beginners), is far superior in I/0, sensing and control capabilities and allows you to greatly expand your base robot or microcontroller application with sophisticated programs and additional sensors and motors.


Q: How does the MRC11 compare with H.board?
A: When connected to the MRSX01sensor expansion board, the MRC11 allows you to control two DC motors with H-bridge motor controllers (more robust than the H.Board) and two servos with male headers on the board for easy connection (not available on the H.Board). The MRSX01 supplies 24 multiplexed analog inputs, with 2 unused, memory-mapped output select lines and 4 unused, memory-mapped input select lines for connecting input and output devices. The MRSX01 provides a recharge circuit to recharge NiCd batteries, a 5-bit and a 4-bit digital-to-analog-to-digital conversion units. These conversions are non-linear, but unique. For example, a 5-bit digital input will produce a unique 8 bit number which, if desired, can be converted to the same 5-bit input. Essentially, one analog port serves as a 5-bit digital input port. The same description applies to the 4-bit digital-analog-to-digital conversion unit. The MRSX01 also has an 8-bit digital output register whose outputs can be modulated at 40KHz to modulate Infrared LEDs or other devices. A socket allows you to place current limiting resistors or short circuits in series with the register's 8 outputs. A jumper permits you to use this 8-bit output register with or without 40KHz modulation.

The combined MRC11 and MRSX01 boards make a powerful combination hard to beat especially since it cost $100 less than the H.Board.

Q: How does the robot (or microcontroller) connect to my computer?
A: The robot (or microcontroller) actually connects to the MB2325 which, in turn, connects to your PC's serial port. If your serial port is a 9 pin, you will also need a 9 pin to 25 pin cable.

Talrik Jr. & Talrik Jr Pro Robots:
Q: What is the difference between the Talrik Jr (TJ) and the Talrik Jr Pro?
A: The only difference is the microcontroller (the robot's onboard computer). The TJ uses a single chip microcontroller (MSCC11E2) while the TJ Pro uses a complete microcontroller system (MTJPRO11). Both are very sophisticated robots, but the TJ Pro has more memory and more expansion capability.

Q:
What robot platform should I use to teach to my middle school and high school students?
A: I sugggest the TJ Pro, which is the most flexible of the robots. (It is being used with students from 11 to 24 years old). This robot can be used at many levels of complexity. (The sequence of 9
articles written by Professor Doty in Tech Directions (Sept. 98 through May 99) will
give you a good idea about the tremendous range of educational options you have available with the TJ Pro (mechanics,electronics, computer programming, control, physics, biology, psychology, etc).

Q:
What robot software should I use to teach to my middle school and high school students?
A: I suggest you use the PROGO robot programming language. PROGO is easy to use and can be learned quickly. Students program immediately and get instant feedback through the action of a real autonomous mobile robot. There is no delay between learning and application. The syntax is easy to grasp and apply. (By the time the students have written several example programs they have covered
all the syntax!) The program is written on top of C, but hides all the funky stuff that makes C a difficult beginning programming language. The fun thing for the students is they get ACTION feedback when they make a mistake or write something successfully. An added advantage is that students can intermingle C commands at will, so you can easily migrate the programs to C.

Q: If I wish to add more sensors to the TJ Pro Robot, will I have to purchase special sensors or can I add any kind I wish?
A: For the five available analog outputs you can place any sensor you chose as long as it meets the voltage-current requirements of the analog input port. Each port is serviced by a 3-wire header. One pin supplies your sensor with 5 volts and a second ground. The third pin should be your sensor output which should never exceed +5 volts and never go below ground. Signals out of that range can destroy the analog input port. Any signal going below ground can be extremely damaging.
Q: What behaviors does the A.I. program learn?
A: It learns to avoid colliding with objects. You can dynamically output the Q-learning matrix on the host computer through a serial connection if you'd like.

Q:
What is the difference between PROICED01 and PROCCED02?
A: PROICED01 works with Interactive C (IC) which cannot control all robot
enhancements. PROCCED02 uses a C-Compiler and allows you to control all resources
and enhancements (Argos Pan-tilt head with sonar or color camera, for
example) of the robot. Both contain examples ranging from the elementary operation of one motor to animat.c which programs the robot to perform several behaviors sequentially (avoid, attract,
& control with IR).

Q:
What is the physical size of the MSCC11
A: 2.35 inches by 2.35 inches.

Q:
On the servo, there are three wires, which wire is which?
A: The one for signal is the lightest color wire, followed by power then the darkest is ground.

Q: What kind of glue should I use on the ABS plastic robot body?
A: Any CA (cyanoacrylate) type glue, super glue, Zap-A-Gap, Jet-CA these are
available at most hardware or model shops . Do Not use a solvent based glue,
since the parts are ABS plastic and immune to most solvents.



SENSORS:
Q: What kind of range does the MIR58X40A IR sensor have?
A: The Mekatronix MIR58X40A IR sensor can measure about one foot starting from 4 inches to about 14 inches away (with about 5-bits precision, i.e., 10/32 of an inch resolution.) from the IR detector. If you increase the IR emitter power, the differential distance is still a foot. It just that the foot you measure is further out from the robot. For example, with twice as much IR emitted power, the robot measures from about 8 inches to 20 inches, etc.

You can get better precision by lensing the IR emitters and the IR detectors. They become very directional, however. Using a triangulation scheme you can get as little as 3-6% error for the same distance range. This takes some DSP stuff however.

To be able to measure distances, the sensor should never get closer than 4 inches.

You can range from a foot out to about 3 feet with the special circuit Mekatronix developed for the TALRIK II robot.


Q:What is the functional difference among MIR58Y40A & MIR58X40A sensors?
A: X means the pins stick out the back of the sensor can. Y means the pins stick out the bottom of the sensor can. They all operate on 940nm IR radiation.

Q:What are the implications of using a 32 KHz vs. a 40 kHz sensor ?
A:The 32 kHz version has broader bandpass than the 40KHz and will pick up
some 40KHz. For better separability, you can excite the 32KHz with a lower
frequency, maybe as low as 28KHz ( I have not tried though). The detector lens is the same.


Q:
Why is the PNP Ultrasonic sensor better than the Polaroid ultrasonic sensor?
A: The biggest reason: Because the PNP sensor requires "no code" to get up and running. It's very easy to use!!! All you do is just read the analog port and that's it!!!

(With the Polaroid Sensor, first you have tell the polaroid sensor to send out a sonar pulse, then you have to WAIT and keep track of the time VERY CAREFULLY until the sonar pulse comes back. This wastes processor time and is only as accurate as your code.)

As a bonus, the PNP requires less space and is all in one package.

Q: Can the projection reality module work with non-Mekatronix brand products?
A:Yes, the system is stand-alone. It comes assembled. Add batteries and Plug-and-Play.


Q: How do you download a hex (S-record) file to the MTJPRO11 and get it running?
A: The easiest way is to use the high speed downloader (HSSDL11) it is a
windows program that easily downloads .s19 programs. If you are using
PCbug11, the procedure is to put the robot in download mode and press reset.
Then in the PCbug11 directory type ME11 filename.s19 and this macro will
download your program. Then you simply change the switch to run mode, press reset and
the program should run

Q: How many sensors can I add to TJ Pro?
A: Five analog channels for sensor inputs are available. If you need more, you can upgrade to The ARGOS package which will add three photoresistors for line/light following and two side looking IR.

Q: How many sensors & accessories can I add to TJ Pro with ARGOS?
A: The ARGOS package includes a Pan-Tilt head on which you can mount all following: One IR LED, Two Photoresistors (Follow light beams, Seek a Dark corner, etc), Two IR Detectors (Follow walls, seek IR Light source, avoid IR Light source, etc.), In addition, you can mount one of the following: An Ultrasonic Sensor (SONAR) (Long distance (10 feet) object detection, sound imaging, etc.) OR one Color Camera with remote RF transmission to a TV (Telepresence, image
processing, AI, etc.)

Q: Can I add any extra servos to be controlled by the TJ-Pro's Microcontroller (MTJPRO11)?
A: You can control 3 additional servos. ( In addition to the two wheel motors). To do this you need to program in C using ICC11. (OR there is an add-on program you can buy that does this for you.)


Microcontrollers



Q: I'm having downloading problems. Both MB2325 diodes stay on all the time; reset does nothing, what's wrong?

A: Diode D2 should not be on. D1 should go on when you plug the MB2325 into
your PC. With the micro in download mode, as long as you press the reset
button, D2 lights. When you release the reset button, D2 goes off. During
program execution, if you have IO, both lights will often be on.

Q: I'm having downloading problems, downloading begins to my TJ PRO in ICC11 but then stops part of the way through, what's wrong?
A: Possible sCause: Dirty chip from dirt, air pollution, finger oils etc. Solution: remove 68HC11 chip with a PLCC puller and clean the contacts on the sides of the chip by wiping the contacts gently with a cloth wet with rubbing alcohol or simular mild solvent. Carefully replace the
chip in the socket making sure the cut corner on the chip lines up with the cut corner on the socket.

Q: How can I get the MB2325 Comm board to work on my laptop with my serial cable?
A: Consider the following:
1. Be sure your COM1 port is set up correctly: 8 data bits, 1 Stop Bit, No
parity, 9600 baud, no flow of control.

2. The serial cable that connects the PC to the MB2325 communications board
may be a null- modem connection (printer cable). This will not work as it reverses the
connection of the serial transmit and receive lines. Make sure your serial
cable is a regular modem cable.

3. For normal operation of the MB2325:
- Connect the correct serial cable between the PC and the MB2325.
- Connect the 6-wire serial cable between the MB2325 and the TJ Pro robot.
- Assuming the PC is operating, turn the ROBOT power to ON.

a) Press the RESET button on the robot and release. Now, is the LED D1 ON
and the LED D2 OFF with the above connections?

b) When you hold the reset switch down, does LED D2 come on and stay lit
until you release the RESET button on the robot?

If the answer is yes to both a) and b), the MB2325 board is working properly.

If LED D1 does not light, that means your PC will not supply power to the
MB2325 board. Some laptops will not furnish power to the COM port unless it
is actually sending data. Such laptops will not work with the MB2325 unless
you can disable that feature in software (some can, some can't)

If LED D1 lights, but D2 is also on. Press robot RESET. D2 should go out
when you release the robot RESET button.

If D2 does not light up when you press RESET on the robot, reverse the
6-wire connection at one end only and try RESET again. D2 should light when
RESET is down and go off when RESET is released.

Q: I'm interested in a microcontroller board full of features, with the capability of allowing me to download my programs to EEPROM once they are developed (not just SRAM), and I also want to be able to connect to it with my computer through an RS-232 serial port connector for downloading programs. I'm wondering what product or combination of your products would be best for the task. Your MTJPRO11 board looks like it has all the I/O I'd need, but it looks like it only has SRAM. It would be very helpful if you could give me some advice, as I'm considering purchasing microcontroller hardware for a robotics project and your boards look like the best ones.
A: As you imply, you will want SRAM while developing your program. On the MTJPRO11, we provide for a memory save feature with battery backup. Depending upon your EEPROM application, RAM with battery backup may be an adequate replacement. The battery backup is good for several hours without recharging For our robots this works fine.
Another microcontroller, the MRC11 allows you to split 64K of memory between RAM and ROM (32K each). Once you have your program debugged and in final form, you could store burn it into the ROM. If you can find an EEPROM with pin compatibility, you could replace the ROM with it. However, to get IO you would need to get the companion card, the MRSX01. These two boards together provide an extremely versatile controller with lots of IO.


Q: Does the MRC11 mated with the MRSX01 offer anything more than 8 digital outputs? I'm asking this because a robot that can see all but do little isn't worth much, and I'm looking into your microcontroller for a robotics project where I'd like to use many devices with digital outputs like stepper motors, LEDs, etc, (in addition to sensors, of course), but I like your PWM outputs because (if I'm reading this correctly) you have the hardware to do it, and I wouldn't have to eat up processor time in my program with it.
A: In addition to the 8-bit digital output port, the IO Header supplies to digital output select lines OS2 and OS3 as well as two digital input select lines IS2 and IS3. These select memory addresses FFBA and FFBB (Motorola IO is memory mapped). Externally, you can hardwire an 8-bit register to be enabled by each select line, yielding an addition of 16bits of output and 16bits of input.

(Refer to the TALRIK Assembly Manual and the TALRIK Users Manual for more details. These can be downloaded free.) I recommend using the PWM of DC motors over steppers in wheel drives. Steppers are power hogs. In other situations, steppers may prove superior, but, again, power is a concern.


Q: How much soldering does the intermediate Talrik II kit (TALRIKPA) require?
A: If you purchase the Talrikpa (circuit boards assembled & tested), the soldering job is roughly as follows for the wiring:
12 three wire cables, 6 soldering points, 3 at each end for a total of 72 solder joints.
35 two wire cables, 4 soldering points for 140 more. Odd solder job here and there. Total around 225 or so solder points.

Q: When using the 115kbps high-speed downloader on my new computer, I sometimes get a "Bootload failure (acknowledge mismatch)". Also, when using the slow PCBug11 downloader I get failures also.
A: It seems that on some Win95 computers the serial port is either in conflict with other peripherals or is being interrupted by another process. So far there is no clear solution for this other than possibly creating a hardware profile in Win95 that shuts down all extra cards and peripherals (this would require re-booting every time to use the HSSDL11. If you use the auto-download feature on the HSSDL11 then every time you press the reset button it will download the program (this makes
trying multiple downloads almost painless). For using PCBug11 without errors you'll probably have to re-boot under DOS.


Q: I used the BUFFALO MONITOR to test the ME11 board memory using the command BF (block fill memory). The memory on the ME11 board could only fill from the address 8000 to CFFF (equivalent to 20K not 32k). What's wrong?
A: It sounds like your buffalo and your SRAM are conflicting. You have several options:
1. Disable Buffalo and the onchip memory and use PCBUG11 to do downloading and debuging. This will free up all of the SRAMs 32K
2. Place an inverter in the PB7 line going from the HC11 to the 74HC10 this will re-map your SRAM into lower memory. (But: IC from MIT will no-longer work on your board and you may have some interesting conflicts with our IO space on the board, and memory mapped IO may not work). Note that On-chip memory ALWAYS has priority over off chip memory.


Q: How do I access the 32K of external memory using PCbug?
( PCbug11 says that it is in bootstrap mode using the internal memory. When I try to do a mm (modify memory) command in the assumed address range of the external memory (i.e. $8000 - $ffff), it tells me that it is bad memory)
A: In PCBUG11 you must do a software switch to expanded mode do this by: mm 103c
E5 then you can access the expanded memory. Note: The High speed downloader (HSSDL11) does this for you and is 10X faster.




ROBOBUG Q&A:
Q: How does Robobug compare with other Six-Legged Walkers on the market?
A: Although other walkers on the market are catching up to the mechanics of the robobug (perhaps by copying Robobug design ideas), the brains behind the robot are still superior to those of the competition.

The robobug also has exclusive options available for purchase such as the pan/tilt head (to mount sensors or a mini-camera) and the foot sensors kit (the legs are designed to permit easy placement of foot switches to allow robobug to "feel" where it is walking). Parallel processing and more kits are on the way. The robobug is upgradeable.

Q: How do we make our own set of Robobug walking gaits from scratch? Do we have to buy the ICC11w for this?
A: ICC11w will probably make programs too large for the walking gaits. You will have to program all walking gaits in MC68HC11 Assembly Language. This code is difficult and must be very tight. Mekatronix will provide a document that will help you write your own code, but it still is complex.

Q: How do we control robobug's walking motion? How can we make it move forward, backward, left and right? Is the MSC11 enough to do these 4 basic movements?
A: Yes, the object code that comes with the robot will do those functions.

Q: Can we make the Robobug walk slower or faster?
A: The servos that are included with the robot are driven at max speed to the set point. This is how the servos are manufactured. To control speed would require a more expensive DC servo. In theory, you could convert the servos to do this, but that is not a supported function for ROBOBUG and you would be on your own. (Personally, I do not recommend it for the ROBOBUG servos because of their nonlinear response when converted to dc-servos with Mekatronix's trademark servo hack).

Q: How are the robobug legs on rough terrain?
A: You have to be careful, since ROBOBUGô's legs can snag on carpet, catch on chair and table legs and other room hazards and you do not want the strong servo motors to cause damage to either ROBOBUGô's leg or leg drive servos themselves. For robot safety, the robot should walk only on hard smooth surfaces or
tightly woven rugs.

Q: What is the best way to add more processing power to the robobug?
A: The best advice is to leave the MSCC11 and low level bug control intact (Otherwise you are wasting years of engineering development in order to "reinvent the wheel"). Instead add a board such as the MTJPRO11 to the bug.
- DO NOT REPLACE THE MSCC11 WITH THE MTJPRO11, RATHER, USE BOTH TOGETHER OPTIMIZING ON THE FEATURES AND CAPABILITIES OF EACH PROCESSOR.
- Connect the MTJPRO11 to the MSCC11 through the high speed synchronous SPI (Serial Peripheral Interface). (Refer to the Motorola HC11 Reference Manual on how to program the SPI). Develop a serial protocol on how to communicate information between the two controllers. Most likely you will make the MTJPRO11 the Master and the MSCC11 the slave processor.
- Write programs for the MTJPRO11 that send walk commands to the MSCC11 controller and reads the sensors attached to the MSCC11 controller through the SPI. You can also attach more sensors and actuators to the MTJPRO11 controller itself. Those, of course you would read directly from the MTJPRO11.



TJ Robots and ICC11 C compiler
Q: Can I use the ICC11 C compiler on my TJ or TJ Pro?
A: Yes, but Mekatronix supports only ICC11 WINDOWS. The DOS version requires PCBUG11 and is not supported. Mekatronix does show how to use it in the TJ manuals as a convenience to customers only. (But if you call in with PCBUG11 troubles you'll probably be told that "The archaic PCBUG11 is not compatible with your computer system. To solve your TJ download problems purchase ICC11 for WINDOWS".

Q: What advantages does the ICC11w (the one with IDE) have over using the cheaper DOS version and the freeware PCBUG11?
A: Here are a few important advantages:

1. The IDE downloads TJ code about 10 times faster than PCBUG11. This makes a
tremendous difference in development time. Instead of waiting several
minutes to download a program after each minor change, you will wait only a
few seconds. AND if you have the TJ Pro you can easily use the high speed ram downloader with ICC11 and download at over 100 times faster than PCBUG11.

2. The "Terminal" simulator of IDE permits TJ to send data to your screen
without any further setup, seamlessly and effortlessly. This simulator is
always invoked when downloading .s19 files, so the very process of
downloading opens up terminal communication with TJ!

3. Of course the other features of an integrated development environment
apply:
*Browse feature to access files anywhere for editing
*Compiler setup for TJ and other Mekatronix robots invoked by name
*Editor Window.......edit programs
*Status Window.......report compilation errors and location
*Terminal Window
1. download s19 files,
2. browse for directory for .s19 code of interest,
3. communicate with the robot through a terminal screen

Q: Is there any easier way to program my TJ-Pro without learning C first?
A: Yes, get PROGO. The PROGO computer language was developed by Professor Doty to help beginning roboticists have the power of the C-language at their disposal, but without the complexity and difficulties. The product works with IC or ICC11. The beauty of PROGO is that you can migrate to C seamlessley as you programming sophistication increases.

Q: My brand new robot keeps shutting down in the middle of my ICC11 download, what's wrong?
A: You might need to spin batteries in the battery pack to make sure of a good electrical connection. There seems to be an invisible layer of oxide on new batteries that sometimes causes strange problems. The good news is it is very easy to fix, the spinning of the battery will grind the battery against the battery pack contact making a fresh electrical connection.





TJ Pro Robot and Interactive C.
Q: Tried to load the Pcoder using IC Windows and I was successful up to step 4 when I selected the Download Pcode button. The Libs folder opened, it had 4 icd files to select from but there wasn't any file for TJ-Pro. Do I use one of the existing files here or do I need to download the correct file?
A: Move the tj-pro.icd that is included with your TJ Pro system software, to the same directory as the other icd files. Also, Read "How_to_get_started.txt" which was also included in the TJ Pro system software.


Servos and the SuperServo Software
Q: What is the bit resolution of servo position on the MS492?
A:
About 8 bits. The PWM varies from  1ms to 2ms with 1.5ms being the center position. These values are nominal, there is some variation between servos, depending on the manufacturing run.  In the super servo program these times translate from 2000 to 4000 processor cycles. Control can be as fine as 1 cycle (500ns), but the control electronics for our servos cannot match this precision.  Changes of 10 cycles are noticable in our servos.

Q: Does the superservo program allow control over servo velocity and acceleration/deceleration?
A:
No.


Q: What is the maximum bi-directional communication speed?
A:
The communications is limited to 9600KBaud, 8 data bits, 1 start bit, 1 stop bit


Q: Does the comms have flow control either hardware or software (ready to send / clear to send etc)
A:
No flow of control. You would have to establish your own software protocol.


Q: Are there any kinds of error detection / correction facility?
A:
The hardware detects overflow, frame errors and the like. But you would have to write the software for utilizing that information.

Q: Is it possible for motion commands to be buffered and then executed at a particular point, minimising skew between the execution of commands by the servos due to the comms speed?
A: Yes, but again, you will have to write the software. SuperServo only provides the hardware resources to control 16 servos and the software to calibrate and test them.



GENERAL AND CONSUMER RELATED QUESTIONS:

Q: How does the robobug benefit the average consumer or the public in general?
A: Robobug has enable a number of University Engineering Departments to train
young engineers in this new technology. Robobug is helping to establish the
knowledge base necessary for future developments in walking robots. These
developments will have tremendous future impact on the general public, enabling
sophisticated home servants. The ability to program different insect walking
patterns or gaits makes Robobug a valuable teaching tool for understanding the
biomechanics of insect motion. Tremendous understanding accrues when you
program a gait and then watch the results.Robobug walking around your home can
project status through the color camera. The bug's current view can be
determine from any enabled computer on the World Wide Web. While on vacation,
the general consumer could dial up a Robobug walk it around and see what is
going on at home at that very instant! The entertainment aspect of Robobug
cannot be underestimated. In addition to engendering the thrill individual
hobbyists experience in building and programming their own walking robot,
Robobug technology open ups an era of low cost animatronic devices for museums,
amusement park and interactive human-machine games. Besides, Robobug is just
cool!

In summary, Robobug makes a low cost walking robot available now and directly
serves

1. Engineering and Science Education from Middle School, High School, to
Graduate Engineering
2. Hobbyists
3. Entertainment-animatronics
4. Telepresence
5. Security and surveilence

Q: What can I do with the robots and microcontrollers you have?
A: Wow! So many things, and so little webspace to put it in... It's basically only limited to your imagination and programming. You can create anything from a roaming pet to a drink serving butler, it's up to you! For a list of ideas or school projects,click here

Q: What's the quickest I can get product?
A: Next Day Air is the quickest, but boy is it expensive!
Normal shipping time is 5 to 10 working days. In house rush shipping is $15.95 more and ships 2 to 4 working days.
Next day Air is $35 more (and up depending on weight).


Copyright 1999, 2000 by Mekatronix, Inc. Permission will most likely be granted to duplicate for non-commercial use if you send a request to tech@mekatronix.com.



Start over at the Mr Robot Page by Clicking Here.