
seanb
Hi there ezroboter's!
I'e been a lurker for quite awhile and fairly recently got my developer's kit. I'm having blast so far! I posted some months ago to inquire of the ez-b v4 board would support my Kobuki base which i received as part of a Turtlebot 2. It's a supercharged iRoomba/create (no vacuum parts, but quite a bit more power, lots of connections. Bigger battery, etc.).
Folks assistance in those early days is much appreciated as it allowed me to move forward, but I appear to continue to hit a wall. The Kobuki base is reportedly electrically compatible to the iCreate, however, I can't get the ice-robot Roomba project to connect.
If you look at the user's manual on page 10, you'll see the wiring diagram for the db25 serial port (linked below). The major difference between the iCreate and the Kobuki is that there's no ps/2 connector like the one is the video tutorial. I've got a servo (3 wire) plugged into D0 of my ez-b and disconnected the power wire. I've got ground going to pin 25 and the signal wire going to the pin 1(serial rx) on the kobuki. I have a suspicion that I should have my signal wire going to to the Kobuki's D10 which is its pin 3.
I figured I'd solicit the community's advice before moving forward. I have managed to get two arm's constructed from A12's Dynamixel's and a few other items integrated but this one worries me simply due to the cost of the Kobuki:)
Kobuki Userguide
Kobuki UserGuide
From what i understand from reading that guide you would need to change the firmware mode to Arduino/Embedded Board Support Mode
Then connect these pins to the EZ-B to be able to receive bumper info as well as control the movement. It seems that you need to use the analogue ports to control the wheel speed, so I would try them on the EZ-B v4's analogue ports.
- DO0: Bumper left (pressed/released)
- DO1: Bumper centre (pressed/released)
- DO2: Bumper right (pressed/released)
- DO3: Wheel drop sensors (at least one wheel is dropped / none is dropped)
- AI0: Wheel speed right (0V full speed backward, 3.3V full speed forward)
- AI1: Wheel speed left (0V full speed backward, 3.3V full speed forward)
It also says to enable motors press button B0.
What are the capabilities of the Kobuki that you are trying to utilize?
Alan
I don't think it's currently possible to vary outgoing voltage on the analogue ports, as you said it only reads incomming, so then I would use a PWM on a digital port with a voltage regulator down to 3.3V
The V+ pin on the digital ports is unregulated, but the signal pin outputs 0-3.3v variable through a PWM control or script command. So you would connect A10 and A11 to the signal pins on 2 digital ports. All the ports would/could share one ground.
Alan
Alan
Details for the serial interface can be found at http://yujinrobot.github.io/kobuki/doxygen/enAppendixProtocolSpecification.html
It looks to me the easiest method of control is through the serial interface, connect the RX of the EZ-B UART port to pin 1 of the DB25 connector and connect the TX of the EZ-B UART port to pin 2 of the DB25 connector. See page 9 of the user guide.
Thanks for everyones time and ideas!
I finally got my replacement Kobuki base, turns out the first one was defective. I've tried both of the above approaches with differing results... Neither proved absolutely successful but I am making progress.
The UART solution just didn't work. Im fairly certain I could get it to work with enough time.
I also tried connecting D0's signal pin to AI0 and D1's signal to AI1. I didn't connect either of the digital ports power or ground and instead connected another pins ground to the rs232's ground pin. I confirmed voltages from 0.0 to 3.3 on the signal wires. So this is really promising. To be clear, I only have D0 and D1's signal wire attached and a ground connection attached to the platforms RS232 port. Nothing else.
The bummer is that when I enable the motors by pressing B0 button, both wheels just spin regardless of the PWM slider. I do here the wheels reacting to movement of the PWM slider but it almost feels like its affecting torque and not speed, or something.
I couldn't find any place to set the baud rate within ARC but on page 11 of the linked doc above it notes the following are required..
Baudrate: 115200 BPS
Electronic protocol: USB / RS232 (@ DB25 connector)
I feel like I'm missing something obvious:) Are there different types of PWM outside of the digital pins signal being increased or decreased? Do I have to connect the tx and/or rx pins to the RS232?
I've reduced the problem to only attempting to control a single wheel. EZB v4's D2 signal wire to AI1 and D2's ground to D25. I'm measuring 1.65V which is reportedly the exact voltage needed to get the wheels to stop spinning...
No luck still. They claim the UART/Serial interface is much better, but I haven't been able to decipher the protocol enough to create a working example.