Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

Replacing the RoboBasic board

Hitec robotics including ROBONOVA humanoid, HSR-8498HB servos, MR C-3024 Controllers and RoboBasic
44 postsPage 2 of 31, 2, 3
44 postsPage 2 of 31, 2, 3

Post by Joerg » Sun Jun 25, 2006 10:21 am

Post by Joerg
Sun Jun 25, 2006 10:21 am

Pev wrote:I think you'd need to add a servo controller board to the OOPIC or BasicX type control board to get the synchronous moves all ending at the same time. Something like the Lynxmotion SSC-32, but it starts to get bulky then as the SSC is pretty big on its own


yes you are right. I wanted to show that it's not easy to replace the MR-C3024 board with another ones and have the same behaviour.

Of course you can control the servos with SSC-32 or a combination from a controller board and a dedicated servo controller, like SD21.
But you have to do a lot of work to become a result that is similar to the Robonova board.

I'd suggest, like also said in this thread in the meantime, to have the C3024 as slave device to have a motion library with all the servo stuff and control this slave from an external mikrocontroller over RS232.

Joerg
Pev wrote:I think you'd need to add a servo controller board to the OOPIC or BasicX type control board to get the synchronous moves all ending at the same time. Something like the Lynxmotion SSC-32, but it starts to get bulky then as the SSC is pretty big on its own


yes you are right. I wanted to show that it's not easy to replace the MR-C3024 board with another ones and have the same behaviour.

Of course you can control the servos with SSC-32 or a combination from a controller board and a dedicated servo controller, like SD21.
But you have to do a lot of work to become a result that is similar to the Robonova board.

I'd suggest, like also said in this thread in the meantime, to have the C3024 as slave device to have a motion library with all the servo stuff and control this slave from an external mikrocontroller over RS232.

Joerg
Joerg
Robot Builder
Robot Builder
User avatar
Posts: 17
Joined: Mon Jun 12, 2006 1:00 am
Location: Dresden / Germany

Post by robodude666 » Sun Jun 25, 2006 4:49 pm

Post by robodude666
Sun Jun 25, 2006 4:49 pm

But isnt RS232 the serial port? You can't get 2 board talking to each other via a serial port? Can you? I thought that was I2C's job! Plus the MR C-3024 has a headphone jack rather than the actual serial port, I guess to save space.
But isnt RS232 the serial port? You can't get 2 board talking to each other via a serial port? Can you? I thought that was I2C's job! Plus the MR C-3024 has a headphone jack rather than the actual serial port, I guess to save space.
robodude666
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 62
Joined: Sat Jun 17, 2006 1:00 am
Location: Brooklyn, New York

Post by Pev » Sun Jun 25, 2006 7:39 pm

Post by Pev
Sun Jun 25, 2006 7:39 pm

robodude666 wrote:But isnt RS232 the serial port? You can't get 2 board talking to each other via a serial port? Can you? I thought that was I2C's job! Plus the MR C-3024 has a headphone jack rather than the actual serial port, I guess to save space.


Yes it is a serial port and yes serial is bidirectional and can be used to get 2 boards communicating. Infact the MR C-3024 has two serial ports - one for programming and one that is exposed via the ETX and ERX ports on the board. Serial also has different flavours, basically RS232 (PC using +/- 10 to 12 volts) and TTL (0 and 5 volts). The MR C3024 has a programmable serial port at TTL levels. It's this port that people have used for their Bluetooth interfaces, but it can equally be used to interface two processor boards, you'd just need to write the code for each board and plug them together.

In reality serial is far more widely used than I2C, and I have certainly failed to get the I2C working on the MR C3024 (have had no trouble with my OOPic though).

A Serial bi-directional connection also would only need 3 connections (1 x TX, 1 x RX and GND)

Hope this helps

Pev
robodude666 wrote:But isnt RS232 the serial port? You can't get 2 board talking to each other via a serial port? Can you? I thought that was I2C's job! Plus the MR C-3024 has a headphone jack rather than the actual serial port, I guess to save space.


Yes it is a serial port and yes serial is bidirectional and can be used to get 2 boards communicating. Infact the MR C-3024 has two serial ports - one for programming and one that is exposed via the ETX and ERX ports on the board. Serial also has different flavours, basically RS232 (PC using +/- 10 to 12 volts) and TTL (0 and 5 volts). The MR C3024 has a programmable serial port at TTL levels. It's this port that people have used for their Bluetooth interfaces, but it can equally be used to interface two processor boards, you'd just need to write the code for each board and plug them together.

In reality serial is far more widely used than I2C, and I have certainly failed to get the I2C working on the MR C3024 (have had no trouble with my OOPic though).

A Serial bi-directional connection also would only need 3 connections (1 x TX, 1 x RX and GND)

Hope this helps

Pev
Carl
-------------------------
www.alt-view.co.uk
Pev
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 547
Joined: Sun Feb 26, 2006 1:00 am
Location: UK

Post by robodude666 » Mon Jun 26, 2006 4:05 am

Post by robodude666
Mon Jun 26, 2006 4:05 am

Hmm, interesting. Could you maybe post an example of how to get the MR C-3024 and some other board talking to each other via serial? Maybe it talking to the OOPIC series board. Also, could you be able to show the connections on the board image?
http://robosavvy.com/Builders/Morbeious ... ous-v1.jpg

Sorry, I am just not getting what your talking about. As I don't yet have a RoboNova, it is hard for me to understand about what connectors you are talking about.
Hmm, interesting. Could you maybe post an example of how to get the MR C-3024 and some other board talking to each other via serial? Maybe it talking to the OOPIC series board. Also, could you be able to show the connections on the board image?
http://robosavvy.com/Builders/Morbeious ... ous-v1.jpg

Sorry, I am just not getting what your talking about. As I don't yet have a RoboNova, it is hard for me to understand about what connectors you are talking about.
robodude666
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 62
Joined: Sat Jun 17, 2006 1:00 am
Location: Brooklyn, New York

Post by Joerg » Mon Jun 26, 2006 4:34 pm

Post by Joerg
Mon Jun 26, 2006 4:34 pm

robodude666 wrote:Also, could you be able to show the connections on the board image?

You need 3 lines to connect the boards. Please note that the 2nd serial line of the C3024 has TTL-level (0/5V).

Image

Jörg
robodude666 wrote:Also, could you be able to show the connections on the board image?

You need 3 lines to connect the boards. Please note that the 2nd serial line of the C3024 has TTL-level (0/5V).

Image

Jörg
Joerg
Robot Builder
Robot Builder
User avatar
Posts: 17
Joined: Mon Jun 12, 2006 1:00 am
Location: Dresden / Germany

Post by i-Bot » Mon Jun 26, 2006 9:40 pm

Post by i-Bot
Mon Jun 26, 2006 9:40 pm

While there are two serial ports on the C3024, they are both very sloooww.

The RS232 port which connects to the PC operates at 9600 BPS for the conection protocol. Hitec have given some of the protocol, and we have discovered some more:
http://web.ukonline.co.uk/r.ibbotson/fi ... Serial.pdf

Whilst some of the commands are complex moves, the capability would seem limited to performance of motion sequences by the speed. There is not enough speed to continually update multiple servos from a gyro via this interface.

The alternative serial port is the ERX and ETX, which is meant to operate at 115K. This serial port is only accessible from intermediate code created in Robobasic and downloaded to the C3024 EEPROM. The interpretation of intermediate code from the C3024 EEPROM seems also very sloooww. Even simple commands take a few mSec. While a Robobasic program to parse the commands and perform the actions is not complex, it will again likely be too slow to meet your realtime needs.

So unless Hitec release an new firmware version for the C3024, then both these options seem limited.

The alternative to replace the board is OK. The C3024 board does perform position feedback, but many other boards are capable. Some boards are not hardware capable of reading and measuring pulse widths on the servo ports ! The position feedback is of little use for realtime motion control due to limitations of the HSR 8489 servo protocol:
http://web.ukonline.co.uk/r.ibbotson/fi ... 0Servo.pdf
Since the position feedback is only of real use to read limb positions during programming, the software to perform this function is not too difficult for most alternative controllers.

The group capabilities and sychronised moves which the C3024 performs are good, and you should find a controller, which also has this capability. This capability when implemented properly can quite a hog of processing power.
While there are two serial ports on the C3024, they are both very sloooww.

The RS232 port which connects to the PC operates at 9600 BPS for the conection protocol. Hitec have given some of the protocol, and we have discovered some more:
http://web.ukonline.co.uk/r.ibbotson/fi ... Serial.pdf

Whilst some of the commands are complex moves, the capability would seem limited to performance of motion sequences by the speed. There is not enough speed to continually update multiple servos from a gyro via this interface.

The alternative serial port is the ERX and ETX, which is meant to operate at 115K. This serial port is only accessible from intermediate code created in Robobasic and downloaded to the C3024 EEPROM. The interpretation of intermediate code from the C3024 EEPROM seems also very sloooww. Even simple commands take a few mSec. While a Robobasic program to parse the commands and perform the actions is not complex, it will again likely be too slow to meet your realtime needs.

So unless Hitec release an new firmware version for the C3024, then both these options seem limited.

The alternative to replace the board is OK. The C3024 board does perform position feedback, but many other boards are capable. Some boards are not hardware capable of reading and measuring pulse widths on the servo ports ! The position feedback is of little use for realtime motion control due to limitations of the HSR 8489 servo protocol:
http://web.ukonline.co.uk/r.ibbotson/fi ... 0Servo.pdf
Since the position feedback is only of real use to read limb positions during programming, the software to perform this function is not too difficult for most alternative controllers.

The group capabilities and sychronised moves which the C3024 performs are good, and you should find a controller, which also has this capability. This capability when implemented properly can quite a hog of processing power.
i-Bot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by Bullit » Tue Jun 27, 2006 12:36 am

Post by Bullit
Tue Jun 27, 2006 12:36 am

Have you seen this
http://www.bdmicro.com/
or
http://www.mcselec.com/index.php?option=com_content&task=view&id=14&Itemid=41
These are very close cousins to the mr-c3024. I particulally like the bascom avr. Seems a little limited in servo control though.
Have you seen this
http://www.bdmicro.com/
or
http://www.mcselec.com/index.php?option=com_content&task=view&id=14&Itemid=41
These are very close cousins to the mr-c3024. I particulally like the bascom avr. Seems a little limited in servo control though.
Bullit
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 291
Joined: Wed May 31, 2006 1:00 am
Location: Near robot

Post by robodude666 » Tue Jun 27, 2006 1:06 am

Post by robodude666
Tue Jun 27, 2006 1:06 am

Hmm, not a fan of red bread boards. Thing is, is that I am trying to find a way away from Basic. Though after hearing how hard it is to switch to a different board, I guess I may just stick to the stock board.. Or maybe buy a OOPIC for like 80$ and see if it works or a ServoPod as someone else here said they use it. But first, I need to get a robonova!
Hmm, not a fan of red bread boards. Thing is, is that I am trying to find a way away from Basic. Though after hearing how hard it is to switch to a different board, I guess I may just stick to the stock board.. Or maybe buy a OOPIC for like 80$ and see if it works or a ServoPod as someone else here said they use it. But first, I need to get a robonova!
robodude666
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 62
Joined: Sat Jun 17, 2006 1:00 am
Location: Brooklyn, New York

Why not just reprogram the 3024 in C?

Post by Droidling » Tue Jun 27, 2006 7:15 pm

Post by Droidling
Tue Jun 27, 2006 7:15 pm

I was talking with the Hitech rep. at Robogames. He told me that Robobasic is an interpreted language. He also said that if I updated the version of Robobasic I run on my laptop it would automatically update the firmware in my Robonova. (I would like confirmation on these points if anyone knows for sure) I assume this means they have a boot loader set up on the 3024. If we can just figure out the boot loader protocol it should be possible to program the robonova in C, basic, or any other language that you can compile to ATMEGA128 code. You could even roll your own interpreter on the 3024.

Does anyone have info on how robobasic downloads to the RN-1?

Terry
I was talking with the Hitech rep. at Robogames. He told me that Robobasic is an interpreted language. He also said that if I updated the version of Robobasic I run on my laptop it would automatically update the firmware in my Robonova. (I would like confirmation on these points if anyone knows for sure) I assume this means they have a boot loader set up on the 3024. If we can just figure out the boot loader protocol it should be possible to program the robonova in C, basic, or any other language that you can compile to ATMEGA128 code. You could even roll your own interpreter on the 3024.

Does anyone have info on how robobasic downloads to the RN-1?

Terry
Droidling
Robot Builder
Robot Builder
User avatar
Posts: 11
Joined: Thu Jun 15, 2006 1:00 am

Post by i-Bot » Tue Jun 27, 2006 9:12 pm

Post by i-Bot
Tue Jun 27, 2006 9:12 pm

We think what Hitec say is true, if only they were to release a new version of software and firmware to find out :evil:

We know the format of the program down load to the EEPROM, but do not know the detailed specification of the byte code created by Robobasic or roboscript which is downloaded.

When the PC connects to the 3024 it reads the firmware version, so likely would update it if required.

If I have time, I will program a pic to emulate the 3024 with an old version number, and see what I get.
We think what Hitec say is true, if only they were to release a new version of software and firmware to find out :evil:

We know the format of the program down load to the EEPROM, but do not know the detailed specification of the byte code created by Robobasic or roboscript which is downloaded.

When the PC connects to the 3024 it reads the firmware version, so likely would update it if required.

If I have time, I will program a pic to emulate the 3024 with an old version number, and see what I get.
i-Bot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by i-Bot » Wed Jun 28, 2006 11:11 am

Post by i-Bot
Wed Jun 28, 2006 11:11 am

I wrote a quick and dirty emulation of the RoboNova serial command set.

RoboBasic checks the C3024 version on controller information, and before download.

I responded to these with bad information (version 1 or 2 instead of 2.5, or wrong checksum). The bad information was shown in the Robasic Controller information, but no attempt was made to download a later version so far !

Any ideas when new firmware would be downloaded. There is no interaction with RoboNova on starting Robobasic.

Ah well worth a try. :(
I wrote a quick and dirty emulation of the RoboNova serial command set.

RoboBasic checks the C3024 version on controller information, and before download.

I responded to these with bad information (version 1 or 2 instead of 2.5, or wrong checksum). The bad information was shown in the Robasic Controller information, but no attempt was made to download a later version so far !

Any ideas when new firmware would be downloaded. There is no interaction with RoboNova on starting Robobasic.

Ah well worth a try. :(
i-Bot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by robodude666 » Wed Jun 28, 2006 3:25 pm

Post by robodude666
Wed Jun 28, 2006 3:25 pm

Don't exactly understand all this mubo jubo stuff but it seems to me as Hitec wants you to use their board?

On a scale of 1-10 where 10 is the highest (such as a humanoid robot that can learn everything from the day it was turned on) and 1 is the lowest(plug in the wires and poof you go). How would you rate getting a RoboNova-1 to work with the OOPIC-R board? (or any OOPIC board for that matter) I find the OOPIC boards to have a good language behind it. As I am a great fan of OOP it would be easy to work with it. And since the OOPIC has support for master/slave via I2C I think it could be a great board to use.

Also, the board that the KHR uses seem pretty good and there are 2 of them which is cool. Think they might work with the RoboNova?
Don't exactly understand all this mubo jubo stuff but it seems to me as Hitec wants you to use their board?

On a scale of 1-10 where 10 is the highest (such as a humanoid robot that can learn everything from the day it was turned on) and 1 is the lowest(plug in the wires and poof you go). How would you rate getting a RoboNova-1 to work with the OOPIC-R board? (or any OOPIC board for that matter) I find the OOPIC boards to have a good language behind it. As I am a great fan of OOP it would be easy to work with it. And since the OOPIC has support for master/slave via I2C I think it could be a great board to use.

Also, the board that the KHR uses seem pretty good and there are 2 of them which is cool. Think they might work with the RoboNova?
robodude666
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 62
Joined: Sat Jun 17, 2006 1:00 am
Location: Brooklyn, New York

Post by Droidling » Thu Jun 29, 2006 9:14 am

Post by Droidling
Thu Jun 29, 2006 9:14 am

RoboBasic checks the C3024 version on controller information, and before download.

I responded to these with bad information (version 1 or 2 instead of 2.5, or wrong checksum). The bad information was shown in the Robasic Controller information, but no attempt was made to download a later version so far !


I assume this means you have a protocol analyzer and have recorded the start of the data transfer when you update a robobasic program. Could you post the results?

Are you saying the data transfer is in ASCII? 8O

Any ideas when new firmware would be downloaded. There is no interaction with RoboNova on starting Robobasic.


I think he said it was when you download a new program to the 3024. I wouldn't be at all suprised if there was a way to force a firmware update. It would have been very handy during hitechs development of the system.

I think the 3024 was probably made for Hitech by an outside contractor. If we knew who they might have more detailed information about the board.

Terry
RoboBasic checks the C3024 version on controller information, and before download.

I responded to these with bad information (version 1 or 2 instead of 2.5, or wrong checksum). The bad information was shown in the Robasic Controller information, but no attempt was made to download a later version so far !


I assume this means you have a protocol analyzer and have recorded the start of the data transfer when you update a robobasic program. Could you post the results?

Are you saying the data transfer is in ASCII? 8O

Any ideas when new firmware would be downloaded. There is no interaction with RoboNova on starting Robobasic.


I think he said it was when you download a new program to the 3024. I wouldn't be at all suprised if there was a way to force a firmware update. It would have been very handy during hitechs development of the system.

I think the 3024 was probably made for Hitech by an outside contractor. If we knew who they might have more detailed information about the board.

Terry
Droidling
Robot Builder
Robot Builder
User avatar
Posts: 11
Joined: Thu Jun 15, 2006 1:00 am

Post by Bullit » Thu Jun 29, 2006 11:44 am

Post by Bullit
Thu Jun 29, 2006 11:44 am

I think the company who manufactured the mr-c3024 and wrote robobasic is minirobot of Korea. If you look into the files of robobasic there is some reference to minirobot.
here is the google translated page:
http://translate.google.com/translate?hl=en&sl=ko&u=http://www.minirobot.co.kr/shop/products/productslist.php3%3FCateCode%3D01/01%26Length%3D5&sa=X&oi=translate&resnum=8&ct=result&prev=/search%3Fq%3Dmr-c3000%26hl%3Den%26lr%3D%26pwst%3D1
I think the company who manufactured the mr-c3024 and wrote robobasic is minirobot of Korea. If you look into the files of robobasic there is some reference to minirobot.
here is the google translated page:
http://translate.google.com/translate?hl=en&sl=ko&u=http://www.minirobot.co.kr/shop/products/productslist.php3%3FCateCode%3D01/01%26Length%3D5&sa=X&oi=translate&resnum=8&ct=result&prev=/search%3Fq%3Dmr-c3000%26hl%3Den%26lr%3D%26pwst%3D1
Bullit
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 291
Joined: Wed May 31, 2006 1:00 am
Location: Near robot

Post by limor » Thu Jun 29, 2006 1:31 pm

Post by limor
Thu Jun 29, 2006 1:31 pm

Bullit wrote:I think the company who manufactured the mr-c3024 and wrote robobasic is minirobot of Korea. If you look into the files of robobasic there is some reference to minirobot.
here is the google translated page:
http://translate.google.com/translate?hl=en&sl=ko&u=http://www.minirobot.co.kr/shop/products/productslist.php3%3FCateCode%3D01/01%26Length%3D5&sa=X&oi=translate&resnum=8&ct=result&prev=/search%3Fq%3Dmr-c3000%26hl%3Den%26lr%3D%26pwst%3D1

This explains why the software was so comprehensive to include support for sensors and modules that Hitec wasn't even planning on having(?) like the MR-16202 LCD display..
They seem to have some great controllers.. have you found any documentation for their MR-* products ?
Bullit wrote:I think the company who manufactured the mr-c3024 and wrote robobasic is minirobot of Korea. If you look into the files of robobasic there is some reference to minirobot.
here is the google translated page:
http://translate.google.com/translate?hl=en&sl=ko&u=http://www.minirobot.co.kr/shop/products/productslist.php3%3FCateCode%3D01/01%26Length%3D5&sa=X&oi=translate&resnum=8&ct=result&prev=/search%3Fq%3Dmr-c3000%26hl%3Den%26lr%3D%26pwst%3D1

This explains why the software was so comprehensive to include support for sensors and modules that Hitec wasn't even planning on having(?) like the MR-16202 LCD display..
They seem to have some great controllers.. have you found any documentation for their MR-* products ?
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

PreviousNext
44 postsPage 2 of 31, 2, 3
44 postsPage 2 of 31, 2, 3