Log in

View Full Version : Is anyone using RoboEmu2 with the 2006/2007 controller


Mike Mahar
20-03-2007, 11:07
Is anyone using RoboEmu2 with the 2006/2007 controller? Based on the comments in the forum, it looks like a great tool, but the most recent reference to it that I can find in the forum is from 5/05.

I've downloaded the files. They are dated 11/04, and definitely refer to the pre-2006 controller. Before I spend a lot of time trying to make it work with the 2006 controller, I thought I'd check to see if anyone else has tried...

bear24rw
20-03-2007, 15:08
You might want to consider making this thread a poll.. But I have to say now, i didn't use it this year..

ace123
21-03-2007, 05:04
I tried to get it working with this year's robot... I don't think there is any good reason that it shouldn't work... however I recommend applying the roboemu-specific changes to your code rather than trying to start with his files.

Two years ago, I hooked in some camera handlers to RoboEmu which basically used two of the analog or joystick sliders as center x and y coordinates of the camera blob.
void camera() {
data_rdy=0;
if (parse_mode==0) {
Serial_Char_Callback('A');
Serial_Char_Callback('C');
Serial_Char_Callback('K');
Serial_Char_Callback('\r');
} else {
Serial_Char_Callback('T');
Serial_Char_Callback((char)ana_ins[4]);
Serial_Char_Callback((char)ana_ins[5]);
Serial_Char_Callback((char)ana_ins[4]);
Serial_Char_Callback((char)ana_ins[5]);
Serial_Char_Callback((char)ana_ins[4]);
Serial_Char_Callback((char)ana_ins[5]);
Serial_Char_Callback((char)20);
Serial_Char_Callback((char)rc_dig_in18?90:0);
Serial_Char_Callback((char)ana_ins[6]);
Serial_Char_Callback((char)ana_ins[7]);
Serial_Char_Callback('\r');
}
}
all of those are analog inputs just getting fed directly back to the program, I believe, so they were easy to change in runtime and see how the code reacts...

Then, To hook up the camera, make your own copies of "Write_Serial_Port_Two" and "Read_Serial_Port_Two" to replace serial_ports.c and do some additional parsing to see whether the code expects an "ACK" after the command, or if it expects a "T" packet...
Again, this is a lot of work, but if you get it, it may be worthwhile.

For some reason, the auto box still comes greyed out... I think it works if you just enable it in the code, though he claimed "it tended to cause infinite loops."

You might be able to think of a few other easier ways that could involve re_core and using something like the "user_display_mode" checkbox.

In addition, I added pot and encoder code by interpreting the motor output, for example:
hall_effect_add_1 = (pwm01-127)/4;
if (hall_effect_add_1<0)
hall_effect_add_1=-hall_effect_add_1;

hall_effect_add_2 = ((255-pwm02)-127)/4;
if (hall_effect_add_2<0)
hall_effect_add_2=-hall_effect_add_2;

arm_position_2+=(pwm03-127)/4;
arm_position_1+=(pwm04-127)/16;

if (arm_position_1<0)
arm_position_1=0;
if (arm_position_1>254)
arm_position_1=254;

if (arm_position_2<0)
arm_position_2=0;
if (arm_position_2>254)
arm_position_2=254;
}
/* And later in my update inputs function: */

for (i=0;i<hall_effect_add_1;++i) {
INTCON3bits.INT2IF=INTCON3bits.INT2IE=1;
InterruptHandlerLow ();
}

for (i=0;i<hall_effect_add_2;++i) {
INTCON3bits.INT3IF=INTCON3bits.INT3IE=1;
InterruptHandlerLow ();
}

ana_ins[0]=arm_position_1;
ana_ins[1]=arm_position_2;

Anyway, I really liked the idea of RoboEmu2, and it's kind of sad that it's just a little too hard to get working to be worthwhile in most cases.

If you get a nice and clean implementation of these features, I would be interested in seeing it (though in my case it was about as hacked up as you can get).

Mike Mahar
03-04-2007, 14:37
Patrick,

I apologize for not responding sooner, I got pulled off onto something else. Thanks for taking the time to reply, and including your code samples.

I will continue to work on this for next year, and let you know if I come up with something generally useful.

WizardOfAz
26-08-2007, 22:30
Looking for a tool to allow classroom full of students to play with robot code without an RC per student. I thought roboemu2 would be the cat's meow, but can't find it anywhere and robbayer.com is a dead site. Anybody got a clue?

Bill