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

New open-source controller

Hitec robotics including ROBONOVA humanoid, HSR-8498HB servos, MR C-3024 Controllers and RoboBasic
26 postsPage 1 of 21, 2
26 postsPage 1 of 21, 2

New open-source controller

Post by Voelker » Tue May 20, 2008 8:55 pm

Post by Voelker
Tue May 20, 2008 8:55 pm

Hi,

i have started designing a new board for the robonova and any other robot that need to control several servos. I intend to use a faster microcontroller, but i still can't choose between : ARM7, CORTEX-M3, PIC32 ... The PIC32 could be a good idea as it exist a lot of library and cheap development tools for the PICs. The ARM7 architecture is well known and there is a lot of open source projects using it.
What would you choose, and what additional features would expect from this kind of board ?

Thanks
Hi,

i have started designing a new board for the robonova and any other robot that need to control several servos. I intend to use a faster microcontroller, but i still can't choose between : ARM7, CORTEX-M3, PIC32 ... The PIC32 could be a good idea as it exist a lot of library and cheap development tools for the PICs. The ARM7 architecture is well known and there is a lot of open source projects using it.
What would you choose, and what additional features would expect from this kind of board ?

Thanks
Voelker
Savvy Roboteer
Savvy Roboteer
Posts: 85
Joined: Thu Sep 06, 2007 7:32 pm

Post by StuartL » Wed May 21, 2008 2:09 am

Post by StuartL
Wed May 21, 2008 2:09 am

I'd take a serious look at the Atmel AVR32 range. Some of the 3B range are very compact and very powerful.

I'd like to see wireless options (i.e. bluetooth and/or zigbee), wired options, Linux compatibility would be nice and potentially vision interfaces.

Of course the Hammer has all of the above, so why reinvent the wheel? :)

For me a servo bus is very useful and it would be cute to instead of making a CPU to make an adapter to interface to the servo on a high speed bus (e.g. SPI, RS485/TTL etc) so that you don't have to do all the hard work interfacing with the servos. Perhaps have one micro per four servos or something with the micros being daisy chained?

Then just use any of the standard high speed MCU modules to interface to the bus.
I'd take a serious look at the Atmel AVR32 range. Some of the 3B range are very compact and very powerful.

I'd like to see wireless options (i.e. bluetooth and/or zigbee), wired options, Linux compatibility would be nice and potentially vision interfaces.

Of course the Hammer has all of the above, so why reinvent the wheel? :)

For me a servo bus is very useful and it would be cute to instead of making a CPU to make an adapter to interface to the servo on a high speed bus (e.g. SPI, RS485/TTL etc) so that you don't have to do all the hard work interfacing with the servos. Perhaps have one micro per four servos or something with the micros being daisy chained?

Then just use any of the standard high speed MCU modules to interface to the bus.
StuartL
Savvy Roboteer
Savvy Roboteer
Posts: 350
Joined: Mon Jun 04, 2007 3:46 pm
Location: Thatcham, Berkshire, UK

Post by Robo1 » Wed May 21, 2008 12:01 pm

Post by Robo1
Wed May 21, 2008 12:01 pm

I agree with StuartL why reinvent the wheel. Get a Gumstix and make your own break out board for it. This will give you 600mhz and there really nice. the other advantage is, if they update there board then it should still work with your breakout board.

I've been meaning to extend my own board so that it works with other robots. So could work with ouy if you want. I also hook up my Gumstix to an FPGA for the servo output and the general I/O.

Bren
I agree with StuartL why reinvent the wheel. Get a Gumstix and make your own break out board for it. This will give you 600mhz and there really nice. the other advantage is, if they update there board then it should still work with your breakout board.

I've been meaning to extend my own board so that it works with other robots. So could work with ouy if you want. I also hook up my Gumstix to an FPGA for the servo output and the general I/O.

Bren
Robo1
Savvy Roboteer
Savvy Roboteer
Posts: 501
Joined: Fri Jun 30, 2006 1:00 am
Location: UK - Bristol

Post by Voelker » Wed May 21, 2008 1:39 pm

Post by Voelker
Wed May 21, 2008 1:39 pm

I would agree if a gumstix + robostix would cost less than 50$ ... 600Mhz is way too fast for the kind of application i intend to run. If you want MegaHertz and motion control throught FPGA you'd better look at http://www.armadeus.org, that is a lot cheaper than gumstix and it has an onboard FPGA.
I would agree if a gumstix + robostix would cost less than 50$ ... 600Mhz is way too fast for the kind of application i intend to run. If you want MegaHertz and motion control throught FPGA you'd better look at http://www.armadeus.org, that is a lot cheaper than gumstix and it has an onboard FPGA.
Voelker
Savvy Roboteer
Savvy Roboteer
Posts: 85
Joined: Thu Sep 06, 2007 7:32 pm

Post by Robo1 » Wed May 21, 2008 1:49 pm

Post by Robo1
Wed May 21, 2008 1:49 pm

I had a look it seems like a quite good product but with only a 200mhz processor and 200K gate FPGA it's a bit limited for the stuff I want to do.

Bren
I had a look it seems like a quite good product but with only a 200mhz processor and 200K gate FPGA it's a bit limited for the stuff I want to do.

Bren
Robo1
Savvy Roboteer
Savvy Roboteer
Posts: 501
Joined: Fri Jun 30, 2006 1:00 am
Location: UK - Bristol

Post by Voelker » Wed May 21, 2008 7:02 pm

Post by Voelker
Wed May 21, 2008 7:02 pm

The FPGA is in fact a 400k. What kind of application to you aim to need so much power ...
The FPGA is in fact a 400k. What kind of application to you aim to need so much power ...
Voelker
Savvy Roboteer
Savvy Roboteer
Posts: 85
Joined: Thu Sep 06, 2007 7:32 pm

Post by asbrandsson » Wed May 21, 2008 7:40 pm

Post by asbrandsson
Wed May 21, 2008 7:40 pm

Hello,

I would like a microcontroller that is USB compatable, and can control servos from both preprogrammed moves like the Robonova processor, or can work over the USB connection.

I would like a microcontroller that can control 35 to 40 servos as well and has enough analog inputs for gyros and tilt sensors, and had lith-pol batteries in mind right off the bat. Things like a six volt regulator and a battery guage should be built into it, as well as a circuit for charging it without disconnecting the battery.

If you made this board today I would buy it tommorrow.

Asbrandsson
Hello,

I would like a microcontroller that is USB compatable, and can control servos from both preprogrammed moves like the Robonova processor, or can work over the USB connection.

I would like a microcontroller that can control 35 to 40 servos as well and has enough analog inputs for gyros and tilt sensors, and had lith-pol batteries in mind right off the bat. Things like a six volt regulator and a battery guage should be built into it, as well as a circuit for charging it without disconnecting the battery.

If you made this board today I would buy it tommorrow.

Asbrandsson
asbrandsson
Robot Builder
Robot Builder
Posts: 12
Joined: Wed Dec 19, 2007 12:48 am

Post by StuartL » Thu May 22, 2008 12:32 am

Post by StuartL
Thu May 22, 2008 12:32 am

asbrandsson wrote:I would like a microcontroller that can control 35 to 40 servos as well and has enough analog inputs for gyros and tilt sensors, and had lith-pol batteries in mind right off the bat. Things like a six volt regulator and a battery guage should be built into it, as well as a circuit for charging it without disconnecting the battery.


Would you want all 35-40 servos off one board, or a bus system (similar to the Robotis systems) to daisy chain the servo control?

If you made this board today I would buy it tommorrow.


One customer does not make a business ;)
asbrandsson wrote:I would like a microcontroller that can control 35 to 40 servos as well and has enough analog inputs for gyros and tilt sensors, and had lith-pol batteries in mind right off the bat. Things like a six volt regulator and a battery guage should be built into it, as well as a circuit for charging it without disconnecting the battery.


Would you want all 35-40 servos off one board, or a bus system (similar to the Robotis systems) to daisy chain the servo control?

If you made this board today I would buy it tommorrow.


One customer does not make a business ;)
StuartL
Savvy Roboteer
Savvy Roboteer
Posts: 350
Joined: Mon Jun 04, 2007 3:46 pm
Location: Thatcham, Berkshire, UK

Post by Voelker » Thu May 22, 2008 8:29 am

Post by Voelker
Thu May 22, 2008 8:29 am

Controlling 35 to 40 servos with a board fitting onto the robonova and using the typical servo interface seems impossible. I have started to design the board and it has usb to program the microcontroller, SD card slot. For the same reason of size including a lipo regulator and charging circuitry is not possible. For the gyro i don't know if is should provide ADC port or if i should provide access to input capture. All the RC gyro has a pulse output so an input capture port seems better, some other gyro has an analog output which can't be measured throught input capture. The board will also include ports fot external interrupt that can be used for I2C or any other device that generate interrupt. My goal is to keep the board price under 70$ and to make it open source in order to have a devlopping community for both hardware and software.
Controlling 35 to 40 servos with a board fitting onto the robonova and using the typical servo interface seems impossible. I have started to design the board and it has usb to program the microcontroller, SD card slot. For the same reason of size including a lipo regulator and charging circuitry is not possible. For the gyro i don't know if is should provide ADC port or if i should provide access to input capture. All the RC gyro has a pulse output so an input capture port seems better, some other gyro has an analog output which can't be measured throught input capture. The board will also include ports fot external interrupt that can be used for I2C or any other device that generate interrupt. My goal is to keep the board price under 70$ and to make it open source in order to have a devlopping community for both hardware and software.
Voelker
Savvy Roboteer
Savvy Roboteer
Posts: 85
Joined: Thu Sep 06, 2007 7:32 pm

Post by StuartL » Thu May 22, 2008 4:33 pm

Post by StuartL
Thu May 22, 2008 4:33 pm

Ok, I have a fair degree of experience in digital electronics and am not averse to the idea of making a new generic controller for humanoid robots. I don't think it's a disaster to implement on-board gyros, accelerometers, bus interfaces and potentially some servo outputs. I'm not sure of the constraints of the RN PCB cavity but I'm willing to assist in the design, programming etc.

I also think it'd be trivial to make daughter-boards for controlling batches of servos.

Do you have PCB manufacture ability or were you going to get the PCBs made commercially?
Ok, I have a fair degree of experience in digital electronics and am not averse to the idea of making a new generic controller for humanoid robots. I don't think it's a disaster to implement on-board gyros, accelerometers, bus interfaces and potentially some servo outputs. I'm not sure of the constraints of the RN PCB cavity but I'm willing to assist in the design, programming etc.

I also think it'd be trivial to make daughter-boards for controlling batches of servos.

Do you have PCB manufacture ability or were you going to get the PCBs made commercially?
StuartL
Savvy Roboteer
Savvy Roboteer
Posts: 350
Joined: Mon Jun 04, 2007 3:46 pm
Location: Thatcham, Berkshire, UK

Post by Voelker » Thu May 22, 2008 5:00 pm

Post by Voelker
Thu May 22, 2008 5:00 pm

I don't have PCB manufacture ability but i can have access to equipement like a reflow oven.
For the board, do you think it would be a good idea to integrate a special connector for daughter board.
I have finally chosen to use the PIC32 as some other project like http://greta.dhs.org/UBW/ intend to use it and as the microchip library is pretty big. I intend to put on the pcb the footprint for a bluetooth module (like sparkfun ones) but i don't think that every use needs it.
An SD card seems to big for the board size, do you think that using a µSD would be ok.
I don't have PCB manufacture ability but i can have access to equipement like a reflow oven.
For the board, do you think it would be a good idea to integrate a special connector for daughter board.
I have finally chosen to use the PIC32 as some other project like http://greta.dhs.org/UBW/ intend to use it and as the microchip library is pretty big. I intend to put on the pcb the footprint for a bluetooth module (like sparkfun ones) but i don't think that every use needs it.
An SD card seems to big for the board size, do you think that using a µSD would be ok.
Voelker
Savvy Roboteer
Savvy Roboteer
Posts: 85
Joined: Thu Sep 06, 2007 7:32 pm

Post by StuartL » Thu May 22, 2008 6:58 pm

Post by StuartL
Thu May 22, 2008 6:58 pm

Voelker wrote:I don't have PCB manufacture ability but i can have access to equipement like a reflow oven.


That's useful.

For the board, do you think it would be a good idea to integrate a special connector for daughter board.


Not too specialised, something easily accessible from most electronics shops to maximise community contribution. IDC headers are easily found and used, and ribbon cables mean you can extend somewhere else.

I have finally chosen to use the PIC32 as some other project like http://greta.dhs.org/UBW/ intend to use it and as the microchip library is pretty big.


One of the things that pushes me away from the PIC range is the absence of native USB support (on the big block diagram I looked at). The AVR32 range has much the same performance characteristics but has USB on-the-go (i.e. USB slave and host) on-chip. It's a newer chip, though, so doesn't have the library support that the PIC does.

Then there's always things like the Hammer. Making a host board for the Hammer takes away any need to develop the MCU part and instead it's just an interface board for a well known and well supported computing engine.

I intend to put on the pcb the footprint for a bluetooth module (like sparkfun ones) but i don't think that every use needs it.


I think you're right. Bluetooth would be very useful for a variety of purposes, maybe a generic UART header with PCBs for Bluetooth, Zigbee and RS-232? Then there's just as many headers as there are UARTs.

An SD card seems to big for the board size, do you think that using a µSD would be ok.


For what? I've yet to see a need for a memory card. USB programming means you don't need external flash unless you particularly want it, and if one is really careful the bootloader could probably self-programme over the wireless/UARTs.

Thoughts?
Voelker wrote:I don't have PCB manufacture ability but i can have access to equipement like a reflow oven.


That's useful.

For the board, do you think it would be a good idea to integrate a special connector for daughter board.


Not too specialised, something easily accessible from most electronics shops to maximise community contribution. IDC headers are easily found and used, and ribbon cables mean you can extend somewhere else.

I have finally chosen to use the PIC32 as some other project like http://greta.dhs.org/UBW/ intend to use it and as the microchip library is pretty big.


One of the things that pushes me away from the PIC range is the absence of native USB support (on the big block diagram I looked at). The AVR32 range has much the same performance characteristics but has USB on-the-go (i.e. USB slave and host) on-chip. It's a newer chip, though, so doesn't have the library support that the PIC does.

Then there's always things like the Hammer. Making a host board for the Hammer takes away any need to develop the MCU part and instead it's just an interface board for a well known and well supported computing engine.

I intend to put on the pcb the footprint for a bluetooth module (like sparkfun ones) but i don't think that every use needs it.


I think you're right. Bluetooth would be very useful for a variety of purposes, maybe a generic UART header with PCBs for Bluetooth, Zigbee and RS-232? Then there's just as many headers as there are UARTs.

An SD card seems to big for the board size, do you think that using a µSD would be ok.


For what? I've yet to see a need for a memory card. USB programming means you don't need external flash unless you particularly want it, and if one is really careful the bootloader could probably self-programme over the wireless/UARTs.

Thoughts?
StuartL
Savvy Roboteer
Savvy Roboteer
Posts: 350
Joined: Mon Jun 04, 2007 3:46 pm
Location: Thatcham, Berkshire, UK

Post by asbrandsson » Thu May 22, 2008 10:35 pm

Post by asbrandsson
Thu May 22, 2008 10:35 pm

Hello,

I agree that one customer does not make a business, but I think that there are a lot of people in the humanoid robotics community that are looking for a similar board.

If you look at a humanoid that uses:

double knees, 2 dof waist, 2 dof neck, hips and some kind of grippers.

you need that many servos.

could you double stack the baord to make up for lost room? Maybe the top board would have the servo and analog ports as well. You could put the rest on the bottom.

I think that Li-pol batteries are the future - so making a board that is li-pol ready opens up the microcontroller to the market of people who want more from their humanoid robots.

Asbrandsson
Hello,

I agree that one customer does not make a business, but I think that there are a lot of people in the humanoid robotics community that are looking for a similar board.

If you look at a humanoid that uses:

double knees, 2 dof waist, 2 dof neck, hips and some kind of grippers.

you need that many servos.

could you double stack the baord to make up for lost room? Maybe the top board would have the servo and analog ports as well. You could put the rest on the bottom.

I think that Li-pol batteries are the future - so making a board that is li-pol ready opens up the microcontroller to the market of people who want more from their humanoid robots.

Asbrandsson
asbrandsson
Robot Builder
Robot Builder
Posts: 12
Joined: Wed Dec 19, 2007 12:48 am

Post by Voelker » Fri May 23, 2008 8:01 am

Post by Voelker
Fri May 23, 2008 8:01 am

The Hammer is interesting project but controlling servos with and ARM9 running linux seems to be a waste of money. This controller could be the "brain" but for move controll it's better to use a slave microcontroler.

It could be a good idea to have a board with the microcontroler, regulator, accelerometer ... and a top board that just give access to all the ports. I think that with a typical microcontroller it's gonna be difficult to give access to more than 30 servos.

On the robonova access to analog ports, serial, i2C and PWM is made through 3 pins interface each pin having it's own VCC and GND. How could i minimize the use of VCC and GND ?
The Hammer is interesting project but controlling servos with and ARM9 running linux seems to be a waste of money. This controller could be the "brain" but for move controll it's better to use a slave microcontroler.

It could be a good idea to have a board with the microcontroler, regulator, accelerometer ... and a top board that just give access to all the ports. I think that with a typical microcontroller it's gonna be difficult to give access to more than 30 servos.

On the robonova access to analog ports, serial, i2C and PWM is made through 3 pins interface each pin having it's own VCC and GND. How could i minimize the use of VCC and GND ?
Voelker
Savvy Roboteer
Savvy Roboteer
Posts: 85
Joined: Thu Sep 06, 2007 7:32 pm

Post by DirtyRoboto » Mon Jun 02, 2008 3:16 pm

Post by DirtyRoboto
Mon Jun 02, 2008 3:16 pm

I think that what you guys are thinking about doing is really good but I would mention that the RN1 is not a very good platform for this.

This is why I bought a second RN1 that I hope to take back to pieces and rebuild a larger platform for experimenting with.
All of the fighting robots I have seen while here in Japan are about 1.5 to twice the size of RN1 with some being very much larger.
Almost all of them use the dual foot/ankle servo config adding weight to the bottom of the bot and freeing up space in the leg for knee/hip servo configs.

Many people here base there system on KHR stock servos with many custom brackets and parts available in shops in Akiba.
I have also found a few shops that will take a CAD/CAM file and cut a part for you.

I will not describe the electronics stores for you as you will start to cry. I will just say that all of the stuff mentioned in other replies can be found with ease.
I think that what you guys are thinking about doing is really good but I would mention that the RN1 is not a very good platform for this.

This is why I bought a second RN1 that I hope to take back to pieces and rebuild a larger platform for experimenting with.
All of the fighting robots I have seen while here in Japan are about 1.5 to twice the size of RN1 with some being very much larger.
Almost all of them use the dual foot/ankle servo config adding weight to the bottom of the bot and freeing up space in the leg for knee/hip servo configs.

Many people here base there system on KHR stock servos with many custom brackets and parts available in shops in Akiba.
I have also found a few shops that will take a CAD/CAM file and cut a part for you.

I will not describe the electronics stores for you as you will start to cry. I will just say that all of the stuff mentioned in other replies can be found with ease.
In servo's we trust!
DirtyRoboto
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 412
Joined: Tue Sep 19, 2006 1:00 am
Location: London

Next
26 postsPage 1 of 21, 2
26 postsPage 1 of 21, 2