Download presentation
Presentation is loading. Please wait.
1
M OTION P LANNING IN R EAL AND V IRTUAL E NVIRONMENTS F ALL 2007 Second Life: Introduction Russell Gayle Comp 790-058 – Robot Motion Planning Fall 2007 September 24, 2007 6/15/2015 1
2
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS What is Second Life? The Grid: The hardware behind the SL Metaverse
3
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS What is Second Life? The Grid is organized into Simulators »Single server instances Simulators Isle 2Isle 3 Isle 6Isle 5Isle 4 Isle 1 Connecting to Isle 1 Side connections to adjacent simulators
4
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS What is Second Life? Simulators are where the real work happens »Each simulator is responsible for its avatars Isle 1 Communications (chat/IM) Physical State, Collisions Inventory Animations SL Identifier
5
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS What is Second Life? Simulators are where the real work happens »Each simulator stores and distributes its prims Isle 1 Transformations Textures Physics Embedded items
6
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS What is Second Life? Primitives can hold any type of object »Primitives, scripts, animations, sounds, etc LSL makes the world interactive »Embedded into prims LSL Scripts Change primitive appearance Interact with other primitives Interact with avatars Physics Query remote resources Many more!
7
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS What’s missing? Important features of SL that we will not cover »Economy Linden Dollars Content creation and IP rights Land ownership »In world attractions Virtual sightseeing “Live” music 6/15/20157
8
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS The Grid Collectively can be considered “The World” »A large array of Debian servers Each server can support several simulations »Centralized network topology All communications goes through the Grid »Beta Grid: A test bed for upcoming technologies
9
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS Simulators Also referred to as a Region »e.g. Natoma, UNC CH I, UNC CH II Typically has a dedicated CPU Each region is 256 m by 256 m »Larger islands are made by connecting several regions Responsibilities »Geometry / Prims »Avatars »Local messaging (whisper, say, shout) »Voice-chat »Client-server networking
10
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS Simulators SLUIDs »Every object (prims, avatars, animations, audio, etc) has a (global) SL Unique ID number »Each simulator also has local references to avatars and primitives Multi-simulator islands »In reality, connected to multiple island simultaneously in case you cross borders »Note: You may need to keep track of this in your work! 6/15/201510
11
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS Avatars Your virtual representation (or your bot’s) »Stored in a central database Important features »Appearance How you look (height, clothing, etc) »Inventory What you can use and what you can DO Local animations Local sounds Other primitives or scripts »Communication »State and Motion Position, orientation, velocity, colliding, physics, etc
12
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS Avatars: What they can do Create primitives Interact with (touch) primitives »This often activates scripts Attach prims to themselves Chat (whisper, say, shout) »This can also activate scripts Navigate »Ground-based (walk, run) »Air-based (fly) Predefined animations »Instant navigation (teleportation) You may not always end up where you expect! 6/15/201512
13
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS Avatars: Limitations Precision »Not easy to reach a specific location »Occasionally collisions are missed Bandwidth »Not always enough to update all objects »May cause missed collisions or stalled motion 6/15/201513
14
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS Primitives Belongs to a Region (simulator) 7 base types »Box, cylinder, prism, sphere, torus, tube, ring »All items built by transformations of these 1 special type »Sculpted prim Prim whose shape is determined by a “Sculpt Texture”
15
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS Primitives Seven base material types »Stone, metal, glass, wood, flesh, plastic, rubber Has several other state parameters »Physical »Flexible (automatically non-physical) »Texture »Color »Bumpiness »Lighting »Transparency 6/15/201515
16
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS Linden Script Language (LSL) Embedded in a prim (or a group of prims) »Not in avatars »Each prim in a group can have a script »Scripts between linked prims are faster »All scripts in a prim are run Similar to C or Java But with an emphasis on states and events »Events trigger behaviors (functions) »Can also cause a change of state And now for a crash course in LSL!
17
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS LSL: Getting Started Creating a script 1.Open the prim “Create” menu 2.Select a prim 3.Find the contents of the prim 4.Select “Create a new script” The default script 6/15/201517 default { state_entry() { llSay(0, "Hello, Avatar!"); } touch_start(integer total_number) { llSay(0, "Touched."); }
18
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS LSL: States State is used to determine which “behavior” should be used 6/15/201518 default //default state is mandatory { state_entry() { llSay(0, "turning on!"); llSetColor(, ALL_SIDES); } touch_start(integer total_number) { state off; } state off { state_entry() { llSay(0, "turning off!"); llSetColor(, ALL_SIDES); } touch_start(integer total_number) { state default; } Triggers a change of state A new state
19
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS LSL: Events We’ve seen two events »state_entry - When a state is activated »touch_start – When an object is touched A few others which may be useful at_target – when a prim reaches its target collision – when a prim collides http_response – response to http request (used when working with remote resources) sensor – when a sensor call returns something »Note: Sensors are useful for tracking and following Documentation: http://wiki.secondlife.com/wiki/LSL_Portal 6/15/201519
20
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS Live Demo! Overview of the main features in Second Life 6/15/201520
21
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS Introduction: Robots in SL Two varieties »LSL (primitives) »Simulated network traffic (avatars) Tradeoffs »LSL is stored and run on the simulator (server- side) Only works with prims »Network traffic is subject to missed packets and limited by client performance Note »Both can access remote utilities!
22
SL O VERVIEW T HE G RID S IMULATORS A VATARS P RIMITIVES S CRIPTING (LSL) L IVE D EMO I NTRO : SL B OTS LIBSecondLife http://www.libsecondlife.org Reverse engineering of SL network protocol »Inspect, insert, or remove packets from the client »Create your own client We will control an autonomous avatar this way More of this next time 6/15/201522
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.