Main Menu

Who's Online

We have 25 guests and 4 members online
  • bluecat
  • BloodKeith
  • Bullit
  • limor

Login Form






Lost Password?
No account yet? Register

HitecRobonova-I

MR-C3024 Controller Board

mr-c3024.jpg The Robonova-I MR-C3024 controller board was developed by Korean company MiniRobot. It may be that they wrote the RoboBasic software aswell. There’s evidence of two different versions of MR-C3024 shipped with RN1.

Links:

Controller - PC communications

Hitec haven’t yet formally pulished the MR-C3024 to PC protocol. There are ongoing attempts by the Robonova community at analyzing the protocol.

(Bullit 5-Jun-2006): It appears that the robobasic interface operates at 9600 and 115k baud. 9600 for basic control functions and reading servo positions. 115k for programming. It appears that allc ommands are packetized (framed STX, ETX) every packet is acknowledged from the MR-C3024.

USB→serial convertors: if you see errors during communications, it can be a problem with the USB→serial convertor that you are using. See this thread.

Links:

Reprogramming the MR-C3024

The MR-C3024 has quite an illusive boot loader but it has finally been cracked and people have reported successful reprogramming of the flash memory (firmware update). Previously, the only way to do that was to replace and solder a new Atmega128 to the board.

28-Nov-2006! Bootloader sequence finally cracked!! Links:

Serial Cable Schematics Diagram

In case you have damaged or lost your serial cable, here is a diagram that will help you recreate the cable and test for faulty connections. See also this forum thread.

Robonova RN1 and Bioloid Serial Cable Diagram Schematics

Adding a second I2C port

i-Bot: I have uploaded the patched C3024 flash code, examples and some description of how to add and use a second I2C port on the C3024. The primary I2C port is used for the external EEPROM, so I coded another in assembler and added to the C3024 code. it is significantly faster ( 40 times) than bit banging from Robobasic.

Links:

RoboBasic Quirks

Understanding the MR-C3024 architecture can help create better RoboBasic code. The RoboBasic is compiled into pseudocode that is coppied to the EEPROM and read one instruction at a time. Avarage execution time of a line in RoboBasic is about 1-2ms.

The latest version of RoboBasic can be found at robobasic.com

Links:

RoboBasic on Vista

As most other programs interfacing with the serial device, RoboBasic does not natively run on Vista. Thanks to Dimlow The following script (copy to a .BAT file) seems to solve the problem:

regsvr32 /u c:\windows\system32\mscomm32.ocx
regsvr32 /u c:\windows\system32\COMCT332.ocx
regsvr32 /u c:\windows\system32\MSCOMCTL.ocx
regsvr32 /u c:\windows\system32\MSCOMCTL.ocx
regsvr32 c:\windows\system32\mscomm32.ocx
regsvr32 c:\windows\system32\COMCT332.ocx
regsvr32 c:\windows\system32\MSCOMCTL.ocx
regsvr32 c:\windows\system32\MSCOMCTL.ocx
regsvr32 /u c:\windows\system32\COMDLG32.ocx
regsvr32 c:\windows\system32\COMDLG32.ocx

roboBasic on Windows 7 - 64 bit

Same problem as with Vista - Tried this with RoboBasic 2.72 downloadable from MiniROBOT corp website. Got a couple of errors but it worked. Windows 7 64bit

regsvr32 /u c:\windows\SysWOW64\mscomm32.ocx
regsvr32 /u c:\windows\SysWOW64\COMCT332.ocx
regsvr32 /u c:\windows\SysWOW64\MSCOMCTL.ocx
regsvr32 /u c:\windows\SysWOW64\MSCOMCTL.ocx
regsvr32 c:\windows\SysWOW64\mscomm32.ocx
regsvr32 c:\windows\SysWOW64\COMCT332.ocx
regsvr32 c:\windows\SysWOW64\MSCOMCTL.ocx
regsvr32 c:\windows\SysWOW64\MSCOMCTL.ocx
regsvr32 /u c:\windows\SysWOW64\COMDLG32.ocx
regsvr32 c:\windows\SysWOW64\COMDLG32.ocx

Links:

HSR8498HB Servos

HMI Protocol & servo configuration

The servos provide a serial communication interface called HMI which allows to set the servo’s P.D. control parameters and read values from the servo such as the Potentiometer’s position. Much of the information was gleaned from experimental results in the forum but now Hitec has formally released information about HMI and also software for modifying parameters.

Links

Position Feedback

hsr8498hb_shortpulse.jpg

HSR8498HB Servos are capable of sending current Pot’s position to the controller. This is achieved by sending the servo a short pulse and waiting for it to reply with a pulse whose length tells the current position.

Alternatively the servos can be controlled through a serial protocol called HMI instead of the analog PWM. By using HMI it is possible to read also the Current (Amps) consumption.

(i-Bot 29-Jun-2006): I have only tried it on a Parallax SX28 processor under SX/B using pulseout and pulsein instructions, and it works fine. The servos look like about 30K ohms to ground, so you need to be a check if your pullups are small enough to meet the processor VinHigh. The Atmega specifies 20 to 50K for the pullup, so in theory, the required 3V high will not be acheived at a 5V processor supply. But it seems to work OK.

Nov-2006: An interesting application of position feedback is making the RN1 react to touch. This can be achieved by comparing the result of MOTORIN() routine in consecutive times. A MOTOROFF() can be issued to the specific motor in order to loosen it up a bit and allow the change to be noticeable.

Links

Add-ons

Carry Case

carry-case.jpg To prevent your RN1 from being damaged during travel, a professional container is essential. Try one of the following suppliers:

Screw Tighteners

After heavy use some screws may naturally loosen up. Some users have come up with ways to help the RN1 stay in shape. hivemind: I found that a small drop of loctite on each screw will fix the problem entirely. Else you can get some lock washers, nuts and use loctite to ensure that you will have no problems

Links

Mods

Running the MR-C3024 at 3.3V instead of 5V

Grippers

bauergrippers.jpg bauermech has designed an amazing set of grippers for RN1 that extend its functionality in many ways. The grippers give the robot an extra 2 DOF. When the they are not open, they resemble in shape the original hands of the RN1 which means they do not impair standard movements and any pre-grippers motions will still work. They allow the robot to swing from a rope and pick up stuff. They can be purchased directly from the bauermech.

Links:

Hip Rotation 18DOF hack

 Hip Rotation 18DOF Hack for Robonova

Voelker added hip rotation capabilities to his RN1 by adding two HSR5498SG between the hip brackets, drilling four holes and directly fixing the servos onto the bracket. The hack is appearently quite simple and gives the much desired extra 2DOF at the hips of the RN1.

Links

\

Making custom parts

Making your own custom brackets may be the only way to acheive your creative aspirations. In order to do this you will need to learn about CAD drawing, CNC cutting, aluminum grades and anodizing. Other techniques involve vacuum forming or carbon-fiber layering.

Links:

Making the Robonova Speak

quadravox.jpg Robotic expressions don’t have to resolve to only moving motors, beeping and blinking LEDs. It is possible to make the RN1 speak.

Links:

Pluggable I2C memory personality Modules

personality_cards.jpg i-Bot: Plug in modules with different code for those quick changes without a PC – The EEPROM on the C3024 is conencted to the SCL, SDA lines. When the RN starts up it searches the addresses 0 thru 3 for an EEPROM. The on board 24C512 is at address 3 (?). A 6 pin connector could pick up the SDA, SCL and power from the C3024, and if set to adddress 0 would override the on board EEPROM.

Links

Attaching a laser pointer

laser_gort.jpg Gort hooked up a laser to his Robonova..

Links

Electromagnetic Gun w/ Laser

robonova-electromag-gun.jpg aguiloco: “The gun is made in methacrylate and metal, and the RN-1 can reload it easily. To make the bag I use an old AC transformer´s case to keep the flash camera circuit, batteries for laser and charge and one mini servo to switch the laser and the shoot”

Links

PS2 Wireless Game Controller

Madcatz gamepad hack i-Bot: It is not a complete how to build it guide, but should help builders for the RoboNova or other robots who want a similar controller.

Links

LCD Display

Sparkfun LCD display connected to RN1The C3024 LCD port operates at 4800 baud, and this is fixed in the C3024 firmware. So you must have a board which operates at 4800 (like the Sparkfun, which can be changed from the 9600 default).

Links

OLED Display

OLED head display for RobonovaHack by i-Bot : The head contains a 4D systems uOLED-96-PROP with a 96 * 64 colour display, and a Propeller processor.

Links

Lithium Polymer Battery

There are many advantages in changing the Nickel Metal battery of the RN1 with a Lithium Polymer. These batteries are not plug-n-play and can easily explode or catch fire. Please read up plenty before playing around with them. Detailed intro technical information can be found here

Voltage Regulator

reg1_after.jpg Zembot: The Novak 5460 6v regulator sells for 20 bucks (retail) . The output is rated for 6v@3 amp with 8.4v input. Not sure if it’d be enough to run chainsaws or saw blades, but it’s been working great in my RN-1 with two gyros. Everything runs as cool as a cucumber. One definite plus is the decrease in weight from LiPos vrs. the stock NiMH pack. More nimble for the chop-socky moves. Fortunately I have a later model RN where the head will flash on low voltage. I set it to flash at 5.8 volts.

Links:

Battery Charger

Mounting Batteries on robot's Feet

One way of mounting the Li-Poly batteries onto the robot is to place them into specially designed shoes. If you just need extra power for more sensors etc, you could try putting some smaller capacity Li-Poly cells in the heel or toe section.

Links:

Virtual Robonova-I

3D Models

rn1model.jpg The 3D model of RN1 is useful to create animated scenes using 3D-modeling software, it can help in designing new structural add-ons and it can be used to simulate the robot.

Links:

RN1 Simulation

rz1actionscreensnapz012.jpgSimulation of the RN1 with and without taking into consideration Physics properties, allow testing simple gaits as well as complex AI control on uneven terrain without risk of damaging the actual robot.

Links:

Artificial Intelligence

While some users would like to remote control the RN1 interactively, others would like to see their robot behave autonomously. The RN1 can be programmed to react to the environment by reading sensor data and executing motion sequences accordingly. Some users would like to take it a step further and attempt to give the RN1 higher level of intelligence.

Links:

Wireless

Multiplex Bluetooth module for RN1

Designed especially for RN1, this module provides easy BlueTooth interfacing.

Links:

Maxtream Zigbee (XBee Radios)

:wiki:maxtream_zigbee.jpgUsed in Robogames 2006 seems to provide a very stable and reliable solution in crowded environment.

Links

Sparkfun BlueSmirf BlueTooth

robonovabluesmirf1.jpg

(Author: dshinsel 29-May-2006)

  1. You do NOT need a MAX232. The out puts of the controller are 5v, and the BlueSmirf is also TTL (5v).
  2. Make sure you power the BlueSmirf off of 5v, not the Servo power. The pins at the top of the controller (including the ETX, EAX and all the A/D pins) have 5v.
  3. Connect as follows:
    1. ' Bluetooth (BlueSmirf) Setup:
    2. ' BS_TX ←→ ETX
    3. ' BS_RX ←→ ERX
  4. If you get the a “Smirf Extended” version (with RTS/CTS control), short the RTS/CTS together. I just put a jumper between the pins.
  5. Bluetooth can be weird on some computers. My laptop reports COM18 Input Port, and COM19 Output Port. The IN/OUT threw me at first. It really means who established the communication, the PC or remote module. In the case of BlueSmirf, it seems to always use the IN Port. If you only get one COM port, don’t worry about it.
  6. Here’s some code I wrote to test this out. Use Hyperterm to test. I set everything at 9600 baud for testing.

This part should look familiar:

Main

DIM TxOut AS BYTE ' RS-232 output on ETX 
DIM RxIn AS BYTE 'RS-232 input on ERX 

MAIN: 
'GOSUB robot_voltage 
'GOSUB robot_tilt 

Add this:

Bluetooth I/O with PC

'Bluetooth I/O with PC

TxOut = "T" 
ETX 9600, TxOut 
TxOut = "e" 
ETX 9600, TxOut 
TxOut = "s" 
ETX 9600, TxOut 
TxOut = "t" 
ETX 9600, TxOut 
TxOut = " " 
ETX 9600, TxOut 

FOR RxCount = 0 TO 4 

TxOut = 48 + RxCount 'ASCII 0=48, A=65, a=97 
ETX 9600, TxOut 

NEXT 


TxOut = "[" 
ETX 9600, TxOut 

FOR RxCount = 0 TO 15 
ERX 9600, RxIn, NoRetry 
ETX 9600, RxIn 
NoRetry: 

NEXT 

TxOut = "]" 
ETX 9600, TxOut

Links:

Sena BlueTooth Promi-ESD01

sena_promi-esd01.jpg (Author: rusandroid 25-Sep-2006)

Successfully for remote serial communications.

Links:

PS1 gamepad bluetooth Sena ESD200 hack

gamepad_hack.jpg (Author: NovaOne 26-Aug-2007) A cool hack to convert a 2nd hand analog Playstation1 gamepad into a bluetooth enable remote control device for Robonova

Links:

Wii Nunchuck Arduino Bluetooth hack

boarduino-nunchuck-servo-300.jpg Volker: I have managed to connect a nunchuck to an arduino and create a connection to my RN-1 using a bluetooth. I am now able to send command to my robot to do continuous walking, side stepping, turning, backward walking using the nunchuck analog stick, right tumbling, left tumbling, sitting using the accelerometer and buttons.

Links:

RC Control

1bfd.jpg

(Author: mochung 4-Apr-2006, Ray 26-Sep-2006)

Setting up a RC control with Robonova rather than or in addition to PC linkup or IR control.

Links:

Pocket PC / Windows CE remote control

roboctrl-pocketpc.jpg

(Author: Pev 2-Aug-2006)

PC 2003 bluetooth controller for the RN-1. Although basic the controller mimics all the functions of the IR remote.

Links:

Sensors

Hitec MaxSonar EZ1

rn1_maxsonar.jpg

Hitec provides a sonar sensor complete with a chest replacement into which the sensor is embedded. Detect objects 0-in. to 254-in. (6.45-meters) and runs at 42khz (may be heard by some animals)

Links:

Devantech SRF04/5/8/10 Sonar

srf4.jpgEver since Deventech lauched its popular SRF4 ultrasonic range finder, roboteers didn’t have to hack Polaroid cameras any more.

Successful connection of SRF4 to a RN1 was done by connecting it to port 5 and invoking RoboBasic’s function SONAR(5). Results vary.. Also SRF10 was connected successfully to RN1 through the I2C port.

Links:

Devantech CMPS03 Compass & SparkFun I2C HMC6352 compass

s320160.jpg

NovaOne: I am currently experimenting using a CMPS03 Devantech compass on my RN1. -mounted on the head away from the servo motors. Its quite large compared with the sparkfun HMC6352 but they both use I2C, so the code might be useful..

Links:

GWS PG-03 Gyro

gws-pg93.jpg

(Author: Pev 1-May-2006)

Setup: 1 gyro controlling both leg groups. The gyro is set up on gyro port 1 which is AD ports 0 and 4. The setup code is as follows:

Setup code

GYROSET G6A,0,1,1,0,0,0 
GYROSET G6D,0,1,1,0,0,0 

GYRODIR G6A,0,1,1,0,0,0 
GYRODIR G6D,0,1,1,0,0,0 

GYROSENSE G6A,0,200,200,00,0,0 
GYROSENSE G6D,0,200,200,00,0,0

The GYROSET command tells the system what group is being controlled and the 1’s in the comma separated string say which servos to effect by which gyro. As I only have 1 gyro on port 1 the value is always 1 to turn the gyro on for a given servo. So you can see from my setup I am controlling the upper ankle and knee servos for both the A group and D group (the two legs) The gyro direction sets which way a servo will move in reaction to the gyro sensing movement. Finally the GYROSENSE command sets the amount of movement per servo. Any value from 0 to 255 can be used - mine are set to 200. Again this relates to the servo in the group.

(Author: H3dude 22-June-2006) I compiled all the info and blogged it on my site, with photos and video here.

Links:

Futaba G190 Micro Piezo Gyro

(Author: H3dude 4-May-2006)

works or not? Various tests showed that Vers. 2.5 and earlier of the RN-1 Firmware are not working with the G190. Nice Gyro, but no use with RN-1.

Links:

SparkFun - Triple Axis Accelerometer

3axis-accel.jpg

(Author: subpilot 6-Mar-2006)

I just got my accelerometer board working. Now my RoboNova knows when he has taken a fall and gets back up on his own. I used the Sparkfun Triple Axis Accelerometer.

I’m running it from A2D chans 5 & 6 (just using 2 axis so far). This accelerometer board runs on 3.3V and is NOT 5V tolerent. You must convert the 3024 over to run on 3.3V or provide an external 3.3V source for this board.

I just uncommented the robot_tilt line in the main loop and modded the subroutine like below. I’m just checking the one axis to see if he is laying on his back or his belly. Very preliminary.

robot_tilt

robot_tilt: 
A = AD(6) 
IF A < &h40 THEN GOTO tilt_back 
IF A > &ha0 THEN GOTO tilt_front 
RETURN 
tilt_back: 
A = AD(6) 
'IF A < 30 THEN GOTO forward_standup 
IF A < &h40 THEN GOTO backward_standup 
RETURN 
tilt_front: 
A = AD(6) 
'IF A > 200 THEN GOTO backward_standup 
IF A > &ha0 THEN GOTO forward_standup 
RETURN 

Links:

POB-Eye Camera Module

pob.jpg

POB-Eye is a combination of a camera, processor and graphics LCD display. It attaches to RN1 and gives it object recognition ability.

Links:

Other camera modules

Force sensor

Two Robonova robots co-operating to pick up an objectLittle Michael: I’ve been working with two Robonova robots that are carriyng a ladder cooperatively. It’s a distributed multirobot system, that is, each robot moves independently. The red Robonova is teleoperated and the yellow one perceives the movement of the first one through two force sensors (FSR) located on its hands. They make two kinds of movements, walking forward, turn left and turn right.

Links:

Robonova Foot pressure sensor

Pressure Sensors

The idea of foot sensors is to try to predict an unwanted fall and execute some preventive motion. NovaOne:After numerous efforts, I seem to be unable to create a repeatable/reliable force transducer based on QTC Film. Force sensing resistors (Interlink FSR402). Browsing around these are apparently quite popular, so i bought some... i’ve seen lots of references to bipeds with FSR’s, so i foolishly assumed they were suitable for accurate measurement of force and after playing with them this afternoon, mounting them so that i get repeatable readings, looks like its is going to be more complicated than just sticking them on the base of the feet..

Links:

VRbot Voice Recognition

VRbot VRobonova Voice Recognition Module VRbot Module is designed to easily add versatile voice command functionality to Robonova. All of the VRbot functionality can easily be accessed from the MR-C3024 controller board through a simple serial protocol. Speaker dependent commands are programmed from the PC into VRbot. After creating and training all desired commands in the VRbotGUI, users start with a template program, open it in RoboBASIC editor and assign specific behaviors to each command. Once the program is downloaded into the robot, it is able to listen and obey voice commands. Links:

Common Problems

Documentation

Builders logs

Errors In the Manual

(Author: Gil 1-Jun-2006)

  1. pages 28-29 - the paper manual included in the box shows servo 2 and servo 4 and then servo 11 and 12 but one of these pictures is flipped causing the illusion that servo 4 goes to servo 11 and servo 2 to 12. False. Correct assembly is 4→12 and 2→11
  2. page 34 (top of page) - the manual states that one bracket type HR1B-002 must be used for each shoulder. False. As can be seen in the photo (and by number of parts remaining) brackets type HR1B-001 must be used.
  3. page 37 - the manual says to “secure the HR1B-007 bracket to the body using ten PH/T 2.6x4mm bolts”. False. To attach the bracket you must PH/M 2.6x4mm.
  4. pages 32,34,36 - the photos on these pages (starting with 32) show that the wires for servos 6,12,4,22 should come out throught the bottom. DO NOT DO THIS! Instead they must exit the frame as shown on page 33 (through the hole in the back) and on page 41 (from behind the controller board). Make certain of this before tightening the screws on the torso (guess how I found this one out.. ). NOTE:All your wire placements must match those on page 41 otherwise stop assembly and retrace your steps.
  5. page 42 - the manual shows the layout of an early version of the MR 3024 controller. The newer version v2.5 2511 (Dec 2006) has made a change to the servo ports Group B(S12-S17) and Group A(S18-S23). Refer to the latest PDF verison of he manual from Hitec for correct port assignments (http://www.hitecrobotics.com/info/downloads.htm). Symptoms of this change are an unusual initial stance after first build and controls in ‘Set Zero Point’ unresponsive or controlling the wrong servo. All of these symptoms relate to the right hand side of Robonova as these are the ports that have changed. The overall change has reversed all of the servo ports in Group A (18to23 in book becomes 23to18 in PDF) and Group B (12to17 in book becomes 17to12 in PDF).

Links:

Contributed Scripts

(DirtyRoboto)

Other Robonova Sites

 
wiki/robonova-i_faq.txt (1100 views) · Last modified: 2010/04/21 14:00 by Velocis
Recent changes RSS feed Creative Commons License Driven by DokuWiki

In Our Store

 

Robotis - LIPO 11.1V Battery Set LBS-10
£26.40   £31.02 inc. VAT
 

Find us on Facebook

GoogleSearch

Google
robosavvy.com
Web


© 2010 RoboSavvy
All rights reserved. Privacy Policy.