<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial,helvetica,sans-serif;font-size:12pt"><div>Jeff Heaton at "Heaton Research" wrote a book on LSL scripting. All his scripts are available at his "Heaton Research" parcel on SecondLife and in the books, which are on Amazon.com.<br><br>There are a couple of chapters devoted to vehicles and angular motors in making a script for a car, boat & airplane.<br><br>It might be that using Jeff's examples might get us further along the vehicle physics curve?<br><br>Charles<br></div><div style="font-family: arial,helvetica,sans-serif; font-size: 12pt;"><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><font size="2" face="Tahoma"><hr size="1"><b><span style="font-weight: bold;">From:</span></b> Dahlia Trimble <dahliatrimble@gmail.com><br><b><span style="font-weight: bold;">To:</span></b>
opensim-dev@lists.berlios.de<br><b><span style="font-weight: bold;">Sent:</span></b> Wednesday, April 15, 2009 10:21:45 AM<br><b><span style="font-weight: bold;">Subject:</span></b> Re: [Opensim-dev] Springs, Torques, joints , friction, questions and Vehicles oh my<br></font><br>
Unfortunately I lack experience using the LSL vehicle API, and I've also had little success finding good example scripts which were written for the Havok 4 implementation which is currently in use in SL. Most of the scripts I found were quite simple and written for Havok 1, and unfortunately do not work well with H4. I've also had little success finding anyone with extensive experience using these apis who would be willing to share code and insight. :(<div>
<br></div><div>I'm not aware that jointed vehicles are currently implemented in SL so I wouldn't think that a comparable API written for ODE or Bullet would need to include recursive methods for joints if compatibility with the current LSL implementation were desired. Then again, providing access may inspire some interesting vehicles but could they be displayed with the LL viewer? Perhaps as separate physical prims, or as linksets where the translations of the individual prims which make up wheels and axles could be manipulated to simulate joints?</div>
<div><br></div><div>Other potential issues might be understanding the effects of each of the parameters and their interactions. i.e., does changing buoyancy affect hover efficiency? which takes precedence? Are there any scripts which use these parameters properly which might be ported over and would be affected?</div>
<div><br></div><div>Perhaps an alternative during development might be to have temporary names for the methods and parameters which are different than the LSL names, then once the necessary characterizations have been completed and the mappings and interactions are implemented and deemed sufficient, the names could be changed to the equivalent LSL names.</div>
<div><br><br><div class="gmail_quote">On Wed, Apr 15, 2009 at 9:42 AM, Teravus Ovares <span dir="ltr"><<a rel="nofollow" ymailto="mailto:teravus@gmail.com" target="_blank" href="mailto:teravus@gmail.com">teravus@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Greetings all<br>
<br>
I was hoping to get some robot physics simulation people's ideas here.<br>
<br>
Looking at the LSL Vehicle API, it seems clear that there is at least<br>
an angular motor and a linear motor involved. There may be two<br>
angular motors, one for the angular movement and one for the vertical<br>
attractor(which may just be a jacobian constraint). In ODE, angular<br>
motors are implemented as springs. Sometimes this can cause<br>
instability and vibration. The truth is, using ODE's angular motor<br>
may or may not be the best solution. There are others. For<br>
example, on the ODE-users list currently they're talking about<br>
applying torques directly using the Recursive Newton-Euler<br>
formulation.<br>
<br>
"<br>
desired joint velocities and accelerations (qp and qpp respectively),<br>
then the joint torques can be calculated with:<br>
<br>
tau = M(q) * qpp + V(q,qp) + G(q) + F(qp)<br>
<br>
where M(q) is your inertia matrix and V(q,qp) is a vector of the<br>
coriolis forces, G(q) is a vector of the gravity forces and F(qp) is a<br>
vector of fiction forces.<br>
"<br>
<br>
Recursive Newton-Euler formulation<br><span>
<a target="_blank" href="http://www.cours.polymtl.ca/roboop/docs/node146.html">http://www.cours.polymtl.ca/roboop/docs/node146.html</a></span><br>
<br>
A list of some constants in the LSL Vehicle API:<br>
<br>
ANGULAR_DEFLECTION_EFFICIENCY<br>
ANGULAR_DEFLECTION_TIMESCALE<br>
ANGULAR_FRICTION_TIMESCALE<br>
ANGULAR_MOTOR_DECAY_TIMESCALE<br>
ANGULAR_MOTOR_DIRECTION<br>
ANGULAR_MOTOR_TIMESCALE<br>
BANKING_EFFICIENCY<br>
BANKING_MIX<br>
BANKING_TIMESCALE<br>
BUOYANCY<br>
HOVER_EFFICIENCY<br>
HOVER_HEIGHT<br>
HOVER_TIMESCALE<br>
LINEAR_DEFLECTION_EFFICIENCY<br>
LINEAR_DEFLECTION_TIMESCALE<br>
LINEAR_FRICTION_TIMESCALE<br>
LINEAR_MOTOR_DECAY_TIMESCALE<br>
LINEAR_MOTOR_DIRECTION<br>
LINEAR_MOTOR_OFFSET<br>
LINEAR_MOTOR_TIMESCALE<br>
VERTICAL_ATTRACTION_EFFICIENCY<br>
VERTICAL_ATTRACTION_TIMESCALE<br>
<br>
Thoughts and patches appreciated.<br>
<br>
You'll find a mostly logically complete <a target="_blank" href="http://ODEVehicleSettings.cs">ODEVehicleSettings.cs</a> in<br>
<a target="_blank" href="http://OpenSim.Region.Physics.OdePlugin.ODEVehicleSettings.cs">OpenSim.Region.Physics.OdePlugin.ODEVehicleSettings.cs</a> that contains<br>
all of the constants as well as methods that are plugged in to the<br>
physics plugin, but don't take any action in the physics engine yet.<br>
This was created to organize vehicle API development.<br>
<br>
Best Regards<br>
<br>
Teravus<br>
_______________________________________________<br>
Opensim-dev mailing list<br>
<a rel="nofollow" ymailto="mailto:Opensim-dev@lists.berlios.de" target="_blank" href="mailto:Opensim-dev@lists.berlios.de">Opensim-dev@lists.berlios.de</a><br>
<a rel="nofollow" target="_blank" href="https://lists.berlios.de/mailman/listinfo/opensim-dev">https://lists.berlios.de/mailman/listinfo/opensim-dev</a><br>
</blockquote></div><br></div>
</div></div></div></body></html>