Sparky Jr.

If any once can point me to the correct location I would love to add more functionality to this great project.

I would like to add faster movement, currently it moves way too slow. I would also like to add the ability to go forward and turn at the same time, that way I can create arched turns and not just spin in one spot. Like a key combo of up and right. I would also like to have events triggered from sensors on the irobot.

I also plan on adding a few other servo controllers, should I take a look at adding it to the mini, or controlling it from the TX/RX ports on the irobot? i figured from the mini its self might be a bit easier.

Thoughts?
Samples?
Suggestions?

Views: 35

Reply to This

Replies to This Discussion

The code is here:
http://code.google.com/p/sparkyrobotcontroller/downloads/list
probably needs updating anyway...

The thumbstick control does need some work. The logic for reverse still doesn't match forward. Ultimately I would like it to drive like a wheelchair, with full range of motion plotted to a single stick. (it currently also works with "WASD" and "IJKL" for fast and slow keyboard control)

A wheelchair uses 2 potentiometers crossed so one stick controls forward and reverse for both wheels depending on the range of stick motion. Emulating that was just too time-consuming, but would make driving alot easier, and free up the other stick for future things like camera pan-and-tilt or apendage control.
also, start a new forum topic for your project with lots of details and a juicy title and I will feature it on the site.
Do you know how the commands are being processed and sent to the robot? I know controld seems to the be controller daemon that is sending the command. I found the make controller file to create my own servo commands, but that does not seem to be for the iRobot. Where (if any) might i find the file for creating custom command for the iRobot?

I do have the ability to add new buttons or even create a new controller window, if I can find how to pass those command to the iRobot. I can possibly create a way to see the sensors in the same window, again just need to find out how to pass commands and what how they should be formatted.

I will create a thread and blog for my project as soon as I get the basic concepts down for customizing it. I think thats what we are missing the ability to customize. I would be willing to take ownership of the add-ons once I get going.

Marque Cornblatt said:
The code is here:
http://code.google.com/p/sparkyrobotcontroller/downloads/list
probably needs updating anyway...

The thumbstick control does need some work. The logic for reverse still doesn't match forward. Ultimately I would like it to drive like a wheelchair, with full range of motion plotted to a single stick. (it currently also works with "WASD" and "IJKL" for fast and slow keyboard control)

A wheelchair uses 2 potentiometers crossed so one stick controls forward and reverse for both wheels depending on the range of stick motion. Emulating that was just too time-consuming, but would make driving alot easier, and free up the other stick for future things like camera pan-and-tilt or apendage control.
Hi Jack,

The control file is _intended_ to be for the irobot too.
However, I never got this done.

Are you familiar with C code and using make?

If so,
The source code is the SVN tree linked from:
http://code.google.com/p/sparkyrobotcontroller/source/checkout

Your mac should be able to check out the code.

Once you have downloaded the code, go to:
/sparkyrobotcontroller/irobot/sparky

This is where controld.c lives.

You will want to edit the function move_dir(char *action, HDF *config)

Here is where your code reading abilities will be put to the test since I have been sloppy.

When a text message arrives on the robot, the contents of the command are the "action" argument passed to move_dir.

move_dir originally (in older versions with the MakeBoard) would match the "action" string with the movement commands in config.hdf, then set the left and right servos to the values of:

movement..0
movement..1 respectively.

However, with the iRobot and the joystick, we wanted fine tune control of the motors. So now, SparkyJoystick (which you are also free to modify) sends movement commands like this:
move__L__R_
for example:
move_straight_L_50_R_75
means crank the left motor to 50% and the right motor to 75% and set the turning radius to 0.

At the end of move_dir, the call
drive(velocity, radius);
actually tells the robot to move.

Now the question is how to add commands. Maybe add support for radius to be sent like:
move_straight_L_50_R_75_RA_1

or add some commands that beep or play music :-)

Allowing customization via control.hdf is tricky since support needs to exist in the controld and SparkyJoystick software anyhow.

By the way, SparkyJoystick is an XCode project and is also located in the SVN tree.
Mini is WAY easier.

Add a spot where you can send custom commands like the play a certain demo i think it is {136} 9
Like a text box thing.

Just some thoughts.

Reply to Discussion

RSS

© 2017   Created by Marque Cornblatt.   Powered by

Report an Issue  |  Terms of Service