Using the BS2 Stamp/BOE with the iRobot Create/Command Module
Hi all,
I am not new to hobby/educational robotics, however it has been a while since I actively messed around in this area (My undergraduate Senior Project was a robotic platform usings a KIM6502 development board) and I am not too familiar with C, but have learned a lot reviewing the PBASIC examples available for the BS2/BOE and available sensors on the Parallex website.
My goal is to develop a security robot using iRobot Create that can be both autonomous and manually controlled. It would autonomously patrol my house until it detected an intruder and then would allow me to take manual wireless (Bluetooth/Zigbee?) control and use the onboard wireless camera (2.4GHz) to assess the situation. Please do not get me wrong here, I did evaluate the Boe-Bot, but found that I needed a bigger existing robotic platform for my security purposes than the Boe-Bot could provide.
Being a Systems Engineer, I hate to·invent/reinvent the wheel and am always looking for previously tested hardware/software design combinations that will help me reach my functional goals.
I·have reviewed the·Parallax BS2/BOE family of microcontrollers and am impressed with the large library of·PBASIC software and sensor hardware that is·available for the BS2.I would like to·use the·BS2/BOE to interface with the iRobot Create/Command Module and provide high level sensor (Ultrasonic ranging, pattern recognition, RFID, compass heading,·etc), servo control for camera pan/tilt·and wireless communication for manual control and feedback telemetry which it does best.
Therefore the hardest part of the equation becomes interfacing the BS2/BOE to either the iRobot Create (Mini-DIN/Cargo Bay connector) or the iRobot Command Module USB port. In either case, the·BS2/BOE must look like a host PC to the iRobot Create/Command Module.
Because the iRobot Create uses such a high baud rate (57600/11900), I believe that it will not directly interface with Aux serial port of the BS2/BOE which·I believe is limited to 9600 baud. One solution would be to use·the Element Direct·Bluetooth modem solution to allow the iRobot Create to communicate with a host PC and then later with a Bluetooth Aux modem card that is available from Parallax for the BS2/BOE. The only problem here is the exclusive use of the iRobot Create's Cargo·Bay connector by·the Element Direct·Bluetooth solution. The other solution would be to build a hardware UART to interface between the iRobot Create and the BS2/BOE that would allow the BS2/BOE·to·use the iRobot Create serial interface.
Attempting to interface the BS2/BOE·to the iRobot Command Module is another story. As far as I can tell there are no USB to TTL serial converters where the host is a micro controller ( Read as "not a PC USB port" ) and the USB connection is a client (CM USB "b" port). I know that·someone has successfully interfaced the iRobot Command Module to a slave PIC processor for wireless communication capabilities·and other slave I2C sensors using the iRobot Command Module as a Master I2C device. However, here again the software is in C and not some form of BASIC. I do not mind learning to program in C, but I believe that there will be a faster time to·my functional solution if I am able to work with PBASIC and the Parallax BS2/BOE.
Comments?
Regards,
TCIII
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you are going to send someone to save the world, you·better make sure that they like it the way it is!
I am not new to hobby/educational robotics, however it has been a while since I actively messed around in this area (My undergraduate Senior Project was a robotic platform usings a KIM6502 development board) and I am not too familiar with C, but have learned a lot reviewing the PBASIC examples available for the BS2/BOE and available sensors on the Parallex website.
My goal is to develop a security robot using iRobot Create that can be both autonomous and manually controlled. It would autonomously patrol my house until it detected an intruder and then would allow me to take manual wireless (Bluetooth/Zigbee?) control and use the onboard wireless camera (2.4GHz) to assess the situation. Please do not get me wrong here, I did evaluate the Boe-Bot, but found that I needed a bigger existing robotic platform for my security purposes than the Boe-Bot could provide.
Being a Systems Engineer, I hate to·invent/reinvent the wheel and am always looking for previously tested hardware/software design combinations that will help me reach my functional goals.
I·have reviewed the·Parallax BS2/BOE family of microcontrollers and am impressed with the large library of·PBASIC software and sensor hardware that is·available for the BS2.I would like to·use the·BS2/BOE to interface with the iRobot Create/Command Module and provide high level sensor (Ultrasonic ranging, pattern recognition, RFID, compass heading,·etc), servo control for camera pan/tilt·and wireless communication for manual control and feedback telemetry which it does best.
Therefore the hardest part of the equation becomes interfacing the BS2/BOE to either the iRobot Create (Mini-DIN/Cargo Bay connector) or the iRobot Command Module USB port. In either case, the·BS2/BOE must look like a host PC to the iRobot Create/Command Module.
Because the iRobot Create uses such a high baud rate (57600/11900), I believe that it will not directly interface with Aux serial port of the BS2/BOE which·I believe is limited to 9600 baud. One solution would be to use·the Element Direct·Bluetooth modem solution to allow the iRobot Create to communicate with a host PC and then later with a Bluetooth Aux modem card that is available from Parallax for the BS2/BOE. The only problem here is the exclusive use of the iRobot Create's Cargo·Bay connector by·the Element Direct·Bluetooth solution. The other solution would be to build a hardware UART to interface between the iRobot Create and the BS2/BOE that would allow the BS2/BOE·to·use the iRobot Create serial interface.
Attempting to interface the BS2/BOE·to the iRobot Command Module is another story. As far as I can tell there are no USB to TTL serial converters where the host is a micro controller ( Read as "not a PC USB port" ) and the USB connection is a client (CM USB "b" port). I know that·someone has successfully interfaced the iRobot Command Module to a slave PIC processor for wireless communication capabilities·and other slave I2C sensors using the iRobot Command Module as a Master I2C device. However, here again the software is in C and not some form of BASIC. I do not mind learning to program in C, but I believe that there will be a faster time to·my functional solution if I am able to work with PBASIC and the Parallax BS2/BOE.
Comments?
Regards,
TCIII
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you are going to send someone to save the world, you·better make sure that they like it the way it is!
Comments
It looks like the BS2px is the only Stamp that can handle the 56.7K/11.9K serial in baud rate on any of its I/O pins other than the two dedicated serial pins·and be able to format the in-coming data with out the chance of being overrun according to the Stamp processor technical information.
Hope that I am interpreting the technical specs correctly!
Comments?
Regards,
TCIII
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you are going to send someone to save the world, you·better make sure that they like it the way it is!
Given the amount of processing you want this to do, have you considered using a Propeller? It would have no trouble communicating at 56.7KBaud, works fine with the PING, HM55B compass, servos, RFID, xBee wireless node, etc. It can also use the VDip2 (Vinculum) or the USBwiz.
Thanks for the input. Much appreciated!
It was also suggested over on the iRobot Create Forum that I think about using the Parallax Propeller controller.
Regards,
TCIII
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you are going to send someone to save the world, you·better make sure that they like it the way it is!
After reading the Create IO Interface Manual and receiving brianbr's WAC (http://www.wulfden.org/create/wac1.shtml) I was finally able to interface my Parallax BOE/BS2px to the Create.
Using the BOE/BS2px and the WAC, I can do the following with the Create:
1) Turn the Create On and Off
2) Serially communicate with the Create at 9600 baud.
3) Control any function of the Create that has a command.
4) Receive Sensor Packet data.
I want to give credit to brianbr's WAC which greatly simplified establishing the electrical interface between the BOE/BS2px and the Create.
Plan forward:
1) Add two slave BOE/BS2s and network them with the master BOE/BS2px.
2) One slave BOE/BS2 will handle the Parallax Ping Ultrasonic Sonar for obstacle advoidance and the Hitachi Compass for heading information.
3) The other slave BOE/BS2 will control a pan and tilt gimbal with an attached 2.4 GHz wireless mini camera and provide input to a Parallax text to speech synthesizer.
4) Add a Parallax eb500 Bluetooth modem to the Master BOE/BS2px for wireless communication with my PC running MS Robotics Studio.
5) Add a Parallax Dallas Semi RTC to the Master BOE/BS2px to enable the Create to perform greeting and security functions around my house.
If anyone is interested in interfacing the Parallax BOE/BS2xx to the Create, please do not hesitate to email me.
I will probably replace the three BOE/BS2xx's with a Propeller mounted on a brianbr's PRC (http://www.wulfden.org/PRC/index.shtml) once I have the Create running to my satisfaction.
Regards,
TCIII
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you are going to send someone to save the world, you·better make sure that they like it the way it is!
Post Edited (Tom C) : 4/16/2007 12:22:31 AM GMT