A PropForth Robot Control Vocabulary
Since I have three Parallax robotic platforms (PropBoeBot, Stingray and Eddie) at my disposal, I was interested in developing a common control language which could be applied to any propeller controlled robot. IMOH, this could be most efficiently accomplished using forth. Consequently, I am posting preliminary PropForth 5 robot control vocabularies for these three platforms.
Attachment pfrcboe.txt illustrates my general approach as applied to the PropBoeBot. My BoeBot has encoders, bumpers, and a servo controlled ping. The program operates in four cogs: one for the servo-controlled wheels, one for the ping servo, one for the ping & bumpers, and the fourth for the encoders.
Attachments pfrcsr.txt and pfrceda.txt apply to the Stingray and Eddie, respectively. Both platforms have 3 pings in fixed positions facing left, front, and right. The Eddie has three Sharp IR distance detectors and two wheel encoders. The Stingray motor controller requires 2 pins per motor, where the PWM signal is switched between the two pins to change direction. However, the Eddie uses 3 pins per motor, two of which control direction.
Attachment pfrc_doc.rft describes the robot control vocabulary and its use. Note that the Eddie encoder words are still under development and no provision has been made as yet to allow for user errors. The PropForth eeprom version is installed on the robot control boards to allow storage of the rc vocabularies on the eeprom. Wireless communication between the robots and a terminal use XBees. My objective is to develop a core rc vocabulary which would be added to the PropForth kernel installed on the robot control boards.
NickL
Attachment pfrcboe.txt illustrates my general approach as applied to the PropBoeBot. My BoeBot has encoders, bumpers, and a servo controlled ping. The program operates in four cogs: one for the servo-controlled wheels, one for the ping servo, one for the ping & bumpers, and the fourth for the encoders.
Attachments pfrcsr.txt and pfrceda.txt apply to the Stingray and Eddie, respectively. Both platforms have 3 pings in fixed positions facing left, front, and right. The Eddie has three Sharp IR distance detectors and two wheel encoders. The Stingray motor controller requires 2 pins per motor, where the PWM signal is switched between the two pins to change direction. However, the Eddie uses 3 pins per motor, two of which control direction.
Attachment pfrc_doc.rft describes the robot control vocabulary and its use. Note that the Eddie encoder words are still under development and no provision has been made as yet to allow for user errors. The PropForth eeprom version is installed on the robot control boards to allow storage of the rc vocabularies on the eeprom. Wireless communication between the robots and a terminal use XBees. My objective is to develop a core rc vocabulary which would be added to the PropForth kernel installed on the robot control boards.
NickL
Comments
Robert