simlink-develop Mailing List for Rossum to leJOS Bridge
Status: Beta
Brought to you by:
gumbo
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(6) |
Feb
|
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: Andy G. <gom...@ea...> - 2002-09-02 22:17:53
|
Simlink 1.0 final has been released with many improvements. I didn't = make a Changelog (something I am starting now), so there isn't a big = list of things I did. Basically, it is more stable, works better, and = has more features. Download it and try it out for yourself.=20 https://sourceforge.net/project/showfiles.php?group_id=3D32200&release_id= =3D108569 (281 KB) Andy |
From: Andy G. <gom...@ea...> - 2002-08-23 03:05:01
|
When this topic was brought up before, several people indicated they may = be interested in helping me implement this model. I can't find the = messsages right now (I can't access the archives), but I wanted to = restate some thoughts/new ideas so work can begin. Basic IR communciation would ignore the effects of IR transmission = range, light characteristics, etc. A socket link would be established = between the driver code and the leJOS comm routines, allowing = communication no matter the situation of the robot. Raycasting or other = techniques can determine if the IR tower is in range and is visible, and = a flag is set in one of the communicators. This effectively causes the = host to stop sending data, or the client (robot) to stop listening to = any new data receieved. =20 An accurate light model could involve raycasting from the source, and = using simple geometry to determine where the ray impacts a barrier, what = the angle of incidenc/reflection is, and how far it will travel before = it is undetectable. If my TI83+ can run a raycaster with texturing = quite fast, I would expect a full PC to be able to handle this with no = problem. Thoughts? |
From: Andy G. <gom...@ea...> - 2002-04-28 01:21:26
|
I am implementing the indicators that show when a motor or sensor is = active, using a translucent red JLabel. =20 The lables are moved around using the JLayeredPane parent, which was = faster than setting setOpaque(false), and a subsequent repaint. Anyway, I have a small decision. The sensors deactivate after a = certain period of time, currently .75 seconds. This will eventually be = user adjustable, but the main point is to get it working now, before I = hack apart the options. ;-) The motors currently never deactivate. I cannot think of a situation = except where a motor is not accessed where it cannot be in one of 4 = states - Forward, Reverse, Stop, or Float. If this is true, then I = don'[t have anything to worry about. A symbol for Float and I will be = done. However, if a motor should not show an active status after a = certain period, in your opinion, what should the time delay be? All I = have to do is setup another javax.swing.Timer, identical to the sensor = delay, so it is not that much work. Any thoughts? The new release should also have about 50 error message = boxes, a new installer using IzPack, and improved malformed input = acceptance. Andy |
From: Andy G. <gom...@ea...> - 2002-03-28 02:07:21
|
Simlink v1.0 alpha is available for testing at = http://simlink.sourceforge.net/files/simlink.zip It is very rough, and = many errors are not caught - you get a stack trace or quit. I especially need to know if any text is being printed to your output - = I think I eliminated it all, but some stuff almost never gets called. I = also would like feedback on the relative stability of Simlink - it = requires knowledge of the information required, but I think the Readme = explains it. I also chose a value for motor speed from some very quick = and innacurate testing. If you can change Motor.java and find a value = more suitable, please tell me. It looks right, but it may prove not to = be. Anyway, enjoy. Keep in mind that this is an alpha release - don't get your hopes up too = high. ;-) Requesting feedback, Andy |
From: Andy G. <gom...@ya...> - 2002-03-02 23:15:10
|
Hello all, I am almost ready to release Simlink v.01 pre alpha for pre-alpha = testing. Much functuality is not working, such as Sensor listeners - = note that regular polling works though. Motors function, but I need = your help in determining an appropriate scaling value. A few minutes of = experimentation and some luck does not mean that the motion is accurate. = :) I still have to incorperate everything into the GUI, and get the = robot class to load correctly. Anyway, with this upcoming release I have started to look at the Rossum = and leJOS licences and what effect they have. Since Rossum is GPL and = leJOS is MPL, according to the GNU Licences page I cannot even develop = software with the two together. I cannot ask Jose, Paul, or Jurgen = nicely to change to the GPL, since Kekoa Proudfoot's librcx code was = used - it was licenced under the MPL, forcing leJOS to be in the first = place. My original workwaround was to tell users to download both leJOS and = Rossum, then my installer would copy all the files over and replace the = modified copies. This looks like it would have no legal effect, and no = matter how it happens, I cannot install the two differently licensed = packages into the same directory, much less modify both of them.=20 I do not know if I distribute this under the MPL if I can use both = packages - of course, distributing the Java portion of the code under = the GPL is legal and would hopefully make the entire project legal. Expect some final interface screenshots tomorrow/Monday, and a composite = action pic when I get the release out. Any thoughts or comments are welcome, Andy |
From: Andy G. <gom...@ya...> - 2002-01-29 22:47:03
|
Okay, I have more time now that I am not getting ready to go to school. = :) Yes, the first thing that is chosen is the lejosc compiled class that = contains a main method. This class is also linked into the modified = leJOS classes. I would like to have buttons or something to launch = installed Rossum tools, but unfortunately, none have been created. I = have thought about creating a floor plan editor after Simlink is = working, to aid in usage, which shouldn't be that hard. A Java Canvas = that can draw lines based on the mouse pointer, and a reference box in = meters, cm, feet or in to guage distances. A body plan editor would be = much harder, and not something I would want to write right now. When you get simlink configured directly and start a simulation, the = Rossum window (The floor plan area) will pop up. It could be started = before, but to control speed and logging, it must have a .ini file as an = argument (java Server -p simlink.ini). Then, the specified body plan = will be shown, and the label above the exception area that shows the = running class will be set (so you know the robot actually started). = Whenever a program requests that a Sensor be read or a Motor turned on, = the appropriate port will turn from black to red, indicating usage. = This is similar to the different icons that appear on the real LCD. = Perhaps Motors will be a different color based on thier direction, but I = am not sure. Anyway, the robot should move around then, and any LCD = messages will come up. All control is directed from the robot program, = unless, when the serial tower is somehow implemented (I need to redirect = serial communications to an input so I can communicate to external, PC = based robot programs), the PC can control the action (it is handled = transparently, though). =20 Is that a good enough description? I am not sure on a lot since it is = not working yet, but it is how I envision it. Whether those options = prove to be too difficult to implement, I don't know. :) I just hope it doesn't turn out half-baked like lVI did. I had a whole = slew of upgrades ready, but a hard drive crash left me without a current = backup. I had not gotten CVS to work yet, so I got kind or discouraged = and quit. Andy ----- Original Message -----=20 From: Brian Bagnall=20 To: sim...@li...=20 Sent: Tuesday, January 29, 2002 5:25 AM Subject: Re: [Simlink-develop] Screenshots of interface up (alpha) Hi Andy, I like the look of things. If you want to go for the extra level of = spiffiness I could render the face of the RCX brick instead of using the = current abstract visuals, and then the LCD could be nicely superimposed = on the image. I have a few questions regarding the usage. It looks like = the first thing a programmer would do is set up their simulation run by = choosing the class with the main() method - is this going to be a = compiled class or java source code? Floor plan and body plan are = obviously files handled by Rossum. It would be nice to be able to click = a button on the GUI that would automatically launch some Rossum tools = (if these exist) for quick editing. Now let's say I have my simulation = run all ready and I start to run it, what will I see and what kind of = interactions could I do with it? Looking like a very cool project so far! Brian ----- Original Message -----=20 From: Andy Gombos=20 To: sim...@li...=20 Sent: Sunday, January 27, 2002 9:24 AM Subject: [Simlink-develop] Screenshots of interface up (alpha) I know Brian expressed intrest in seeing what the implementation = would look like, so I put screenshots up for you to look at. :) If you = see any problems with features, like the generated exceptions list I am = not sure how I am going to implement (I need to see how the leJOS code = prints it to the LCD, hopefully it is Java). Eventually there will be a = toolbar with quick access to the features, and hopefully a debugger of = sorts that shows the current line being executed - first I have to learn = how to use the JDPA. Please comment. Andy |
From: Brian B. <bba...@mt...> - 2002-01-29 10:26:37
|
Hi Andy, I like the look of things. If you want to go for the extra level of = spiffiness I could render the face of the RCX brick instead of using the = current abstract visuals, and then the LCD could be nicely superimposed = on the image. I have a few questions regarding the usage. It looks like = the first thing a programmer would do is set up their simulation run by = choosing the class with the main() method - is this going to be a = compiled class or java source code? Floor plan and body plan are = obviously files handled by Rossum. It would be nice to be able to click = a button on the GUI that would automatically launch some Rossum tools = (if these exist) for quick editing. Now let's say I have my simulation = run all ready and I start to run it, what will I see and what kind of = interactions could I do with it? Looking like a very cool project so far! Brian ----- Original Message -----=20 From: Andy Gombos=20 To: sim...@li...=20 Sent: Sunday, January 27, 2002 9:24 AM Subject: [Simlink-develop] Screenshots of interface up (alpha) I know Brian expressed intrest in seeing what the implementation would = look like, so I put screenshots up for you to look at. :) If you see = any problems with features, like the generated exceptions list I am not = sure how I am going to implement (I need to see how the leJOS code = prints it to the LCD, hopefully it is Java). Eventually there will be a = toolbar with quick access to the features, and hopefully a debugger of = sorts that shows the current line being executed - first I have to learn = how to use the JDPA. =20 Please comment. =20 Andy |
From: Andy G. <gom...@ya...> - 2002-01-27 15:25:21
|
I know Brian expressed intrest in seeing what the implementation would = look like, so I put screenshots up for you to look at. :) If you see = any problems with features, like the generated exceptions list I am not = sure how I am going to implement (I need to see how the leJOS code = prints it to the LCD, hopefully it is Java). Eventually there will be a = toolbar with quick access to the features, and hopefully a debugger of = sorts that shows the current line being executed - first I have to learn = how to use the JDPA. Please comment. Andy |
From: Andy G. <gom...@ya...> - 2002-01-11 12:29:39
|
Thanks for the input. :) The target sensor appears to be, as far as I can tell, sort of like a = proximity sensor like you said. The floor plan targets have a center = point, and probably an influence or strength factor as well. The target = sensor essentially returns true or false, depending on if the target = sensor detects the target at all. It is hard to find the exact return = values (tat would be useful) from the TargetSensorEvent. Using the = cheating fields of distance and the vector pointing to the target, a = solution should be workable. I guess for now power will not be implemented, speed only being = controlled when you create the RsWheelSystem(m/s). Andy ----- Original Message -----=20 From: Brian Bagnall=20 To: sim...@li...=20 Sent: Friday, January 11, 2002 4:32 AM Subject: Re: [Simlink-develop] Implementing the Motor and Sensor = classes Hi Andy, Definitely implement range sensor if possible. I've seen lots of = plans for them on the internet and even have one myself. Contact of = course. I'm a little confused by target sensor. You describe it as a = light sensor, but are you sure it isn't a proximity detector? i.e. A = sensor that detects if an object is within a defined perimiter. It = sounds like maybe Rossum doesn't have a true light sensor defined. Maybe = this is something we can define - and if so we would need to come up = with a simplified model of how light reacts to a sensor, which might be = as you describe - proportional to distance. (We don't want to do = something overcomplex like making a complete ray tracing program.) For motor control, it's a shame Rossum doesn't just control motion = with independent motors. Somehow the Rossum to leJOS link is going to = have to translate all the motor commands to the appropriate rossum = movement. e.g. Motor.A.forward() and Motor.C.backward() =3D = RsClient.rotateLeft() [or something to that effect]. There are a lot of = combinations though. My experience with motors tells me technically changing the power to = the motor does not alter speed. The only thing power changes is the = torque (rotational force), not the actual speed. (I wish it was possible = to alter the speed of a lego motor). So it really shouldn't be a factor. Can't wait to see what you come up with for an interface. Brian ----- Original Message -----=20 From: Andy Gombos=20 To: sim...@li...=20 Sent: Thursday, January 10, 2002 7:05 PM Subject: [Simlink-develop] Implementing the Motor and Sensor classes I have started work on the simulator in earnest due to a virtual 1 = month deadline. I have finally gotten around to deciding the structure = of the simulator interface, and wanted your guys input. :) =20 For the Sensor class, new listeners are being written that morph the = Rossum events into leJOS events. With some constructor changing, I = think events will work properly. What about the actual sensor values? = Using private listeners that are automatically registered to poll = sensors, I can only get the canonical value of the contact, range, and = target sensors. Also, if you read the Users Manual, the return values = for the target sensor are less than perfect. A range sensor is really = only a custom sensor, but will probably be implemented due to relative = ease. The target sensor are what I have no clue on. The PDF appears to = only allow a detected or not detected state for a point target - a light = source. To use this as a light sensor, I think the distance to the = target would have to be used, and then the intensity of the light = calculated. Does this seem like a good approach? Does anyone else have = any ideas? The Motor class is much harder. RsClient.sendMotionHaltRequest() = stops both motors, so some creative behind the scenes managing will be = necessary. Unfortunately, power levels are not a simulator concept. = They can be semi-set with the body plan spec, but that determines the = speed of the robot (using RsWheelSystem) like gear reductions, more than = a power decrease that lowers speed. Perhaps the movement time can be = calculated to make it seem like the bot goes slower? Again, I would = appreciate anyone's input. :P Thanks for any input, Andy |
From: Brian B. <bba...@mt...> - 2002-01-11 09:32:44
|
Hi Andy, Definitely implement range sensor if possible. I've seen lots of plans = for them on the internet and even have one myself. Contact of course. = I'm a little confused by target sensor. You describe it as a light = sensor, but are you sure it isn't a proximity detector? i.e. A sensor = that detects if an object is within a defined perimiter. It sounds like = maybe Rossum doesn't have a true light sensor defined. Maybe this is = something we can define - and if so we would need to come up with a = simplified model of how light reacts to a sensor, which might be as you = describe - proportional to distance. (We don't want to do something = overcomplex like making a complete ray tracing program.) For motor control, it's a shame Rossum doesn't just control motion with = independent motors. Somehow the Rossum to leJOS link is going to have = to translate all the motor commands to the appropriate rossum movement. = e.g. Motor.A.forward() and Motor.C.backward() =3D RsClient.rotateLeft() = [or something to that effect]. There are a lot of combinations though. My experience with motors tells me technically changing the power to the = motor does not alter speed. The only thing power changes is the torque = (rotational force), not the actual speed. (I wish it was possible to = alter the speed of a lego motor). So it really shouldn't be a factor. Can't wait to see what you come up with for an interface. Brian ----- Original Message -----=20 From: Andy Gombos=20 To: sim...@li...=20 Sent: Thursday, January 10, 2002 7:05 PM Subject: [Simlink-develop] Implementing the Motor and Sensor classes I have started work on the simulator in earnest due to a virtual 1 = month deadline. I have finally gotten around to deciding the structure = of the simulator interface, and wanted your guys input. :) =20 =20 For the Sensor class, new listeners are being written that morph the = Rossum events into leJOS events. With some constructor changing, I = think events will work properly. What about the actual sensor values? = Using private listeners that are automatically registered to poll = sensors, I can only get the canonical value of the contact, range, and = target sensors. Also, if you read the Users Manual, the return values = for the target sensor are less than perfect. A range sensor is really = only a custom sensor, but will probably be implemented due to relative = ease. The target sensor are what I have no clue on. The PDF appears to = only allow a detected or not detected state for a point target - a light = source. To use this as a light sensor, I think the distance to the = target would have to be used, and then the intensity of the light = calculated. Does this seem like a good approach? Does anyone else have = any ideas? =20 The Motor class is much harder. RsClient.sendMotionHaltRequest() = stops both motors, so some creative behind the scenes managing will be = necessary. Unfortunately, power levels are not a simulator concept. = They can be semi-set with the body plan spec, but that determines the = speed of the robot (using RsWheelSystem) like gear reductions, more than = a power decrease that lowers speed. Perhaps the movement time can be = calculated to make it seem like the bot goes slower? Again, I would = appreciate anyone's input. :P =20 Thanks for any input, =20 Andy =20 |
From: Andy G. <gom...@ya...> - 2002-01-11 01:06:59
|
I have started work on the simulator in earnest due to a virtual 1 month = deadline. I have finally gotten around to deciding the structure of the = simulator interface, and wanted your guys input. :) =20 For the Sensor class, new listeners are being written that morph the = Rossum events into leJOS events. With some constructor changing, I = think events will work properly. What about the actual sensor values? = Using private listeners that are automatically registered to poll = sensors, I can only get the canonical value of the contact, range, and = target sensors. Also, if you read the Users Manual, the return values = for the target sensor are less than perfect. A range sensor is really = only a custom sensor, but will probably be implemented due to relative = ease. The target sensor are what I have no clue on. The PDF appears to = only allow a detected or not detected state for a point target - a light = source. To use this as a light sensor, I think the distance to the = target would have to be used, and then the intensity of the light = calculated. Does this seem like a good approach? Does anyone else have = any ideas? The Motor class is much harder. RsClient.sendMotionHaltRequest() stops = both motors, so some creative behind the scenes managing will be = necessary. Unfortunately, power levels are not a simulator concept. = They can be semi-set with the body plan spec, but that determines the = speed of the robot (using RsWheelSystem) like gear reductions, more than = a power decrease that lowers speed. Perhaps the movement time can be = calculated to make it seem like the bot goes slower? Again, I would = appreciate anyone's input. :P Thanks for any input, Andy |
From: Andy G. <gom...@ya...> - 2001-09-04 02:26:32
|
I have recently been tied up in my personal life, and could not post to = this list like I promised. Sorry for any who have waited/lost intrest. = :) Does anyone have any idea of what features that need to be = implemented, or would like to help? I kind-of have an idea of what to = do for the basic link, but any extras would be a benifit. =20 Andy |