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

KHR-2 and gumstix please help

KHR-1, KHR-2HV, KHR-3HV, ICS servos, RCB controllers and other Kondo products
9 postsPage 1 of 1
9 postsPage 1 of 1

KHR-2 and gumstix please help

Post by nick2501 » Fri Jul 01, 2011 11:06 pm

Post by nick2501
Fri Jul 01, 2011 11:06 pm

Hi, I'm new to the robotics world but not to electronics.
I would like to use a gumstix fire as the brain to control the khr-2. I was wondering if I could get some pointers on where to start. After building the KHR-2, how exactly do I connect its microcontroller to the gumstix? how exactly can the gumstix produce commands for the microcontroller? How much work is it to control the robot, or does it come with enough built in moves? Any help to get me started will be good.

Thanks

Nick
Hi, I'm new to the robotics world but not to electronics.
I would like to use a gumstix fire as the brain to control the khr-2. I was wondering if I could get some pointers on where to start. After building the KHR-2, how exactly do I connect its microcontroller to the gumstix? how exactly can the gumstix produce commands for the microcontroller? How much work is it to control the robot, or does it come with enough built in moves? Any help to get me started will be good.

Thanks

Nick
nick2501
Robot Builder
Robot Builder
Posts: 8
Joined: Thu Mar 17, 2011 12:18 pm

Post by limor » Sat Jul 02, 2011 11:03 pm

Post by limor
Sat Jul 02, 2011 11:03 pm

The Heart2Heart PC software of the KHR2 talks to the RCB3 controller using Serial COM port on the PC.
It has a control protocol that lets you execute gaits and control individual servos.
I kind of recall that that protocol has been disected and documented and even some opensource software has been written.
So once you have this protocol, you can connect the Gumstix to the RCB3 via a USB/Serial (such as FTDI or Prolific) and get the Gumstix to tell the RCB what to do. you can also get the sensor data straight into the Gumstix (I2C or USB/Serial and a mini-Arduino/bitwhacker/buspirate and sensors)
The Heart2Heart PC software of the KHR2 talks to the RCB3 controller using Serial COM port on the PC.
It has a control protocol that lets you execute gaits and control individual servos.
I kind of recall that that protocol has been disected and documented and even some opensource software has been written.
So once you have this protocol, you can connect the Gumstix to the RCB3 via a USB/Serial (such as FTDI or Prolific) and get the Gumstix to tell the RCB what to do. you can also get the sensor data straight into the Gumstix (I2C or USB/Serial and a mini-Arduino/bitwhacker/buspirate and sensors)
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by nick2501 » Mon Jul 04, 2011 8:46 am

Post by nick2501
Mon Jul 04, 2011 8:46 am

Hi Limor
Thank you very much for the information.
I tried to search for the protocols and opensoarce, but I couldn't find it.
Do you by any chance have these files to send me or any links?

Thanks a lot

Nick
Hi Limor
Thank you very much for the information.
I tried to search for the protocols and opensoarce, but I couldn't find it.
Do you by any chance have these files to send me or any links?

Thanks a lot

Nick
nick2501
Robot Builder
Robot Builder
Posts: 8
Joined: Thu Mar 17, 2011 12:18 pm

Post by limor » Mon Jul 04, 2011 4:47 pm

Post by limor
Mon Jul 04, 2011 4:47 pm

http://www.roadnarrows.com/distro/RCB3/ ... .0/srcdoc/

:lol:

RoadNarrows Robotics RCB-3 Package
2.0.0
Introduction

The RCB3 package is a collections of libraries, API header files, commands, and drivers for communication and control of robots containing the RCB-3 controller board.

There a two models of the RCB-3:
RCB-3 Standard model for want of a better phrase.
RCB-3J 24-servo J model. The KHR-2HV and MANOI AT01 use the J model.

The RCB-3J claims to support a real-time, multi-tasking foundation from which AI (embedded) host applications can be built with adequate control and update messaging. The RCB-3J HV (high voltage) designation is Kondo's nomenclature to indicate that the controller is a 9-12 volt device. Two communication channels are supported:

"High-speed" 115,200 bps channel via Serial over USB.
Low-speed receiver channel used with R/C type controls.

The RCB-3J control board can control 24 servo motors through the controller's output ports. Various Kondo servo families can be supported. Servo operational parameters can be set through the ICS interface.

In addition, 3 analog to digital input ports. The analog signal inputs can be scaled and mixed to trigger conditional program branching within the controller for autonomous reflexes.
Credits

The original RCB3_Interface package was developed by:
Laurent Lessieux (http://www.lessieux.com)
Package List

libRCB3
The RCB-3 communication library the host and the RCB-3 controller.
API headers
The API headers files installed <includedir>/rcb3.
drivers
The USB serial drivers for the Familiar Linux 2.4 KoreBot.
rcb3sh
Command-line RCB-3 shell.

libRCB3

A C library inteface to the RCB-3 serial interface and command set.

All libRCB3 diagnostics logging is at diagnostics levels 3 and greater.
API headers

The libRCB3 Interface headers.

rcb3/rcb3prot.h
Definitions and enumerations of the RCB3 message protocol.
rcb3/rcb3lib.h
The libRCB3 implementation.

drivers

Familiar Linux drivers for RS-232 serial over USB.

ftdi_sio

The ftdi_sio driver provides a RS-232 interface to the RCB3 USB device. This driver for the Familiar Linux has been modified to include the RCB3 USB vendor and product Id's. The source is provied, plus compiled versions for the K-Team KoreBot Familiar Linux.

usbserial
The ftdi_sio driver uses the generic USB serial driver to actually interface with the USB device. Athough no modifications to this driver have been made, the source is provied, plus compiled versions for the K-Team KoreBot Familiar Linux.

Requirements

librnr - RNR standard library 1.
libseria - RNR RS-232 library

Supported Platforms

i386 - any Linux Intel (backwards) compatible 32-bit architecures
x86_64 - any Linux AMD 64-bit architectures
armpxa - Linux Intel XScale PXA Arm architecures.
cygwin - Windows systems with installed cygwin.
osx - Mac OS-X architectures

Tested Systems

Fedora Core 5 and 6 Linux for the i386 and x86_64 architectures.
Ubuntus 9.4 Linux for the i386 and x86_64 architectures.
Familiar Linux 2.4 (K-Team KoreBot version) for the XScale PXA 255 Arm
Windows XP with Cygwin for Intel processors.
Mac OS-X 10.x for Intel processors.

http://www.roadnarrows.com/distro/RCB3/ ... .0/srcdoc/

:lol:

RoadNarrows Robotics RCB-3 Package
2.0.0
Introduction

The RCB3 package is a collections of libraries, API header files, commands, and drivers for communication and control of robots containing the RCB-3 controller board.

There a two models of the RCB-3:
RCB-3 Standard model for want of a better phrase.
RCB-3J 24-servo J model. The KHR-2HV and MANOI AT01 use the J model.

The RCB-3J claims to support a real-time, multi-tasking foundation from which AI (embedded) host applications can be built with adequate control and update messaging. The RCB-3J HV (high voltage) designation is Kondo's nomenclature to indicate that the controller is a 9-12 volt device. Two communication channels are supported:

"High-speed" 115,200 bps channel via Serial over USB.
Low-speed receiver channel used with R/C type controls.

The RCB-3J control board can control 24 servo motors through the controller's output ports. Various Kondo servo families can be supported. Servo operational parameters can be set through the ICS interface.

In addition, 3 analog to digital input ports. The analog signal inputs can be scaled and mixed to trigger conditional program branching within the controller for autonomous reflexes.
Credits

The original RCB3_Interface package was developed by:
Laurent Lessieux (http://www.lessieux.com)
Package List

libRCB3
The RCB-3 communication library the host and the RCB-3 controller.
API headers
The API headers files installed <includedir>/rcb3.
drivers
The USB serial drivers for the Familiar Linux 2.4 KoreBot.
rcb3sh
Command-line RCB-3 shell.

libRCB3

A C library inteface to the RCB-3 serial interface and command set.

All libRCB3 diagnostics logging is at diagnostics levels 3 and greater.
API headers

The libRCB3 Interface headers.

rcb3/rcb3prot.h
Definitions and enumerations of the RCB3 message protocol.
rcb3/rcb3lib.h
The libRCB3 implementation.

drivers

Familiar Linux drivers for RS-232 serial over USB.

ftdi_sio

The ftdi_sio driver provides a RS-232 interface to the RCB3 USB device. This driver for the Familiar Linux has been modified to include the RCB3 USB vendor and product Id's. The source is provied, plus compiled versions for the K-Team KoreBot Familiar Linux.

usbserial
The ftdi_sio driver uses the generic USB serial driver to actually interface with the USB device. Athough no modifications to this driver have been made, the source is provied, plus compiled versions for the K-Team KoreBot Familiar Linux.

Requirements

librnr - RNR standard library 1.
libseria - RNR RS-232 library

Supported Platforms

i386 - any Linux Intel (backwards) compatible 32-bit architecures
x86_64 - any Linux AMD 64-bit architectures
armpxa - Linux Intel XScale PXA Arm architecures.
cygwin - Windows systems with installed cygwin.
osx - Mac OS-X architectures

Tested Systems

Fedora Core 5 and 6 Linux for the i386 and x86_64 architectures.
Ubuntus 9.4 Linux for the i386 and x86_64 architectures.
Familiar Linux 2.4 (K-Team KoreBot version) for the XScale PXA 255 Arm
Windows XP with Cygwin for Intel processors.
Mac OS-X 10.x for Intel processors.

limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by nick2501 » Mon Jul 04, 2011 5:36 pm

Post by nick2501
Mon Jul 04, 2011 5:36 pm

Thanks :D
Thanks :D
nick2501
Robot Builder
Robot Builder
Posts: 8
Joined: Thu Mar 17, 2011 12:18 pm

Post by nick2501 » Thu Jul 07, 2011 10:20 am

Post by nick2501
Thu Jul 07, 2011 10:20 am

1) Went over the soarce code a bit from RoadNarrows, and seems quite complicated. I found on the net a PDF with RCB3J protocol of representation of each byet to send. is there a reason not to use it and rather relly on the open soarce?

2) I went over many of the topics in the forum and have seen that people have made livraries available in the past for RCB1. Can this help me in any way or is it completely different to the RCB3J?

3) Is there any "final" version someone has worked on that has some C/C++ code for sending instructions from PC to RCB3J?

4) Regarding GUMSTIX, which is linkux based, if I write my code on windows and then transfer to gumstix, how much of a problem will that be, except changing com ports?

5) I have seen your disussion on gumstix and KHR3 which seems very impressive, and there you have used the summit extension. Can i not use any extensions and just connect somehow to the gumstix's pins for transfering data? is there any extra something that i need teh summit for?

6) For gumstix, if I should use ubuntu would that be fine as well, rather than what you used? (I don't really have much experience with linux )

7) I was just wondering, time-wise, how long it took you to get the KHR3 up and running with the gustix in all?

Thanks

Nick
1) Went over the soarce code a bit from RoadNarrows, and seems quite complicated. I found on the net a PDF with RCB3J protocol of representation of each byet to send. is there a reason not to use it and rather relly on the open soarce?

2) I went over many of the topics in the forum and have seen that people have made livraries available in the past for RCB1. Can this help me in any way or is it completely different to the RCB3J?

3) Is there any "final" version someone has worked on that has some C/C++ code for sending instructions from PC to RCB3J?

4) Regarding GUMSTIX, which is linkux based, if I write my code on windows and then transfer to gumstix, how much of a problem will that be, except changing com ports?

5) I have seen your disussion on gumstix and KHR3 which seems very impressive, and there you have used the summit extension. Can i not use any extensions and just connect somehow to the gumstix's pins for transfering data? is there any extra something that i need teh summit for?

6) For gumstix, if I should use ubuntu would that be fine as well, rather than what you used? (I don't really have much experience with linux )

7) I was just wondering, time-wise, how long it took you to get the KHR3 up and running with the gustix in all?

Thanks

Nick
nick2501
Robot Builder
Robot Builder
Posts: 8
Joined: Thu Mar 17, 2011 12:18 pm

Post by limor » Thu Jul 07, 2011 4:28 pm

Post by limor
Thu Jul 07, 2011 4:28 pm

1) if you look at the RoadNarrow page, they point to the original work done by Lessieux. maybe his package is more simple? http://www.lessieux.com/mywiki/index.ph ... _Interface

2) sorry.. can't remember if the rcb1 and rcb3 communications protocols are different.

3) the above Lessieux seems ok.

4) i think that the Lessieux library supports both windows and linux. however, as long as you dont use system calls such as timers and window messages then it is a pure C++ code and should work on linux too. there are some public domain packages that abstract the serial communications http://think-async.com/

5) if you are able to access the tiny pins on the gumstix then go for it. if i recall, there are some odd things with voltage levels on the RCB so read the forums and make sure the voltages are the same (5V or 3.3V or 1.8V) and that the signal is of the same type (high V means 1 and low V means 0) otherwise use the USB serial interface and get a daughter board for the gumstix that exposes USB.

6) use whatever linux you want that is supported on the gumstix wiki/forum. the differences for all that concerns serial ports, may be in the names of the com ports /dev/tty0 vs /dev/ttyS0 vs /dev/ttyUSB0 etc.

7) if you had a gumstix with USB and used the USB/serial cable interface that is provided with the RCB (and your gumstix is powered somehow, and you have a gcc compiler on the gumstix or cross-compiler setup on the PC etc.), then if you can work with the above library, you should have some examples running the robot in no time with relatively low risk of getting stuck.

post your progress here and good luck :wink:
1) if you look at the RoadNarrow page, they point to the original work done by Lessieux. maybe his package is more simple? http://www.lessieux.com/mywiki/index.ph ... _Interface

2) sorry.. can't remember if the rcb1 and rcb3 communications protocols are different.

3) the above Lessieux seems ok.

4) i think that the Lessieux library supports both windows and linux. however, as long as you dont use system calls such as timers and window messages then it is a pure C++ code and should work on linux too. there are some public domain packages that abstract the serial communications http://think-async.com/

5) if you are able to access the tiny pins on the gumstix then go for it. if i recall, there are some odd things with voltage levels on the RCB so read the forums and make sure the voltages are the same (5V or 3.3V or 1.8V) and that the signal is of the same type (high V means 1 and low V means 0) otherwise use the USB serial interface and get a daughter board for the gumstix that exposes USB.

6) use whatever linux you want that is supported on the gumstix wiki/forum. the differences for all that concerns serial ports, may be in the names of the com ports /dev/tty0 vs /dev/ttyS0 vs /dev/ttyUSB0 etc.

7) if you had a gumstix with USB and used the USB/serial cable interface that is provided with the RCB (and your gumstix is powered somehow, and you have a gcc compiler on the gumstix or cross-compiler setup on the PC etc.), then if you can work with the above library, you should have some examples running the robot in no time with relatively low risk of getting stuck.

post your progress here and good luck :wink:
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by nick2501 » Fri Jul 15, 2011 8:00 am

Post by nick2501
Fri Jul 15, 2011 8:00 am

I think I'm starting to understand the rcb3j protocol including libraries posted, so that seems to be good, just still need to find linux supporting comm commands for when I want to use gumstix as control.

I got my gumstix overo fire, but haven't got an expansion board yet. I went over the getting started on the official site, and over the eclipse installation on the wiki, and I am a bit confussed on which expansion board I need. The getting started talks about kernel and initially connecting the gumstix to a pc, and later connecting gumstix to its own monitor. The wiki with eclipse talks about connections through 10/100 connection as well for network.
Do I really need the network connection? What I really need to know, is the summit enough for what I would like to do with image processing? Since it has no ethernet connection 10/100.

Why do I need the initial connection of gumstix to pc as shown on the getting started if later it connects to it's own monitor? Why do I need gumstix to be connected to its own monitor if according to eclipse wiki, I just write all my code on the pc. When debugging with gcc compiler on gumstix, do I need the monitor for that, or is it still via the pc?
I would like to know what's the difference when using kernel, to the way gumstix is connected in the wiki with eclipse connection?

Also, except gumstix official site, where else can I order gumstix products from?
I think I'm starting to understand the rcb3j protocol including libraries posted, so that seems to be good, just still need to find linux supporting comm commands for when I want to use gumstix as control.

I got my gumstix overo fire, but haven't got an expansion board yet. I went over the getting started on the official site, and over the eclipse installation on the wiki, and I am a bit confussed on which expansion board I need. The getting started talks about kernel and initially connecting the gumstix to a pc, and later connecting gumstix to its own monitor. The wiki with eclipse talks about connections through 10/100 connection as well for network.
Do I really need the network connection? What I really need to know, is the summit enough for what I would like to do with image processing? Since it has no ethernet connection 10/100.

Why do I need the initial connection of gumstix to pc as shown on the getting started if later it connects to it's own monitor? Why do I need gumstix to be connected to its own monitor if according to eclipse wiki, I just write all my code on the pc. When debugging with gcc compiler on gumstix, do I need the monitor for that, or is it still via the pc?
I would like to know what's the difference when using kernel, to the way gumstix is connected in the wiki with eclipse connection?

Also, except gumstix official site, where else can I order gumstix products from?
nick2501
Robot Builder
Robot Builder
Posts: 8
Joined: Thu Mar 17, 2011 12:18 pm

Post by nick2501 » Wed Aug 03, 2011 7:01 pm

Post by nick2501
Wed Aug 03, 2011 7:01 pm

Here is a document that could help getting started with gumstix

http://robosavvy.com/Builders/nick2501/ ... tarted.doc
Here is a document that could help getting started with gumstix

http://robosavvy.com/Builders/nick2501/ ... tarted.doc
nick2501
Robot Builder
Robot Builder
Posts: 8
Joined: Thu Mar 17, 2011 12:18 pm


9 postsPage 1 of 1
9 postsPage 1 of 1