Table of Contents:



Intelligent Construction Equipment Planner (ICE-Planner)  


ICE-Planner Logo

Contents

Overview

The intelligent Construction Equipment Planner (ICE-Planner) is a motion planning system based on autonomous planning algorithms in robotics developed towards construction equipment applications. The goal of this system is to define, solve and simulate the path planning problem of construction equipment that enables autonomous control for them and/or supporting system for their operators.

The system provides the end-user easy to use workflow for construction equipment application through high-level commands in the system. At the same time, it is flexible and open for extending it to other types of construction equipment that are defined as abstracted robots through the set of low-level robotic commands in the system. This mix of flexibility and ease-of use is achieved through unique architecture of the system that is engineered based on having hierarchal layers for the system. Each layer has high-level commands to access its functionalities in addition to low-level commands that enable expert users to access inherited functionalities from parent layer.

Figure 1 picture shows the main layers available and their functionalities in the current version of the ICE-Planner.

The core layer contains high-performance real-time path-planning solvers for robots. These solvers are developed using sampling-based algorithms. The main algorithm used in this system is the RRT-BiasedLimCon (AlBahnassi, 2010). This algorithm is an extension of the Rapidly Exploring-Random Trees (LaValle, 1998) and thus it inherits its efficiency in solving high-dimensional degrees-of-freedom (DoFs) robots in addition to specific advantages for real-time path update, enhancing path optimality and supporting constraints found in construction equipment.

The second layer of the system extends the core layer to support multi-task/multi-robot planning by:
  • Multi-robot planning using priority based approach (Clark et al., 2002).
  • Multi-robot coordination using agents to determine the priority of each robot based on specified criteria.
  • Supporting high-level task definition using inverse-kinematics solver for easy definition of the initial/goal configurations of the robot.
  • Environment model update based on robot events where in this case not only robots update their configurations based on the environment but also the environment model will be updated based on robots events.
The third layer is the highest level of the system for supporting construction equipment applications. Currently, this layer supports hydraulic and tower cranes only, but since this layer is based on layer 2 and the core layer that are general enough for robotics, more construction equipment can be easily supported in this layer. Through this layer, end-user can model, solve and simulate realistic scenarios for planning cranes in virtual construction sites based on exported Building Information Models (BIM) (Kumi et al., 1997) while considering engineering constraints (AlBahnassi et al., 2009), construction site updates and dual cranes scenarios.

ICE-Planner System Architectures

Figure 1: ICE-Planner System Architecture


The system is developed as complete set of plugins packaged together as an add-on for Autodesk Softimage. Softimage is used as an interactive 3D viewer for the simulation and the motion planning problem. The integration of the system within Softimage benefits the user from having flexible modeling and interaction tools from Softimage for visualizing and interacting with the virtual models of the simulated set.

System Requirements:

Installation:

  • Drag and drop the add-on file over any empty spot on your Softimage viewports, or
  • File->Addon->Install, browse to the add-on file and click Install (Figure 2).
Installation steps for the ICE-Planner addon

Figure 2: Installation steps for the ICE-Planner addon

To verify that the add-on is installed correctly, open the Plugin Manager and expand the User Root Folder, under it you should have a new folder for the ICE-Planner addon and under it you all installed plugins should be listed as shown in Figure 3.

ICE-Planner addon components

Figure 3: ICE-Planner addon components

After completing the installation, you can access the ICE-Planner functionalities from the new installed toolbars as shown in Figure 4.

ICE-Planner toolbars

Figure 4: ICE-Planner toolbars

These toolbars are also included in a customized layout that can be accessed from the View->Layout menu ->ICE-Planner.
In this layout new pane buttons are available for switching to the ICE-Planner toolbars (Figure 5).

ICE-Planner panes

Figure 5: ICE-Planner panes

Tutorials:

It is highly recommended to follow the short video tutorials that ships with Softimage to be able to work through these tutorials easily and successfully.
The Softimage video tutorials can be accessed from the Help menu ->Learning Movies.
A netview window will open showing available learning movies. Movies that are important for these tutorials are:
  • Navigation
  • Selection
  • Manipulation
  • Viewports
  • The Explorer
  • Properties

Robotics Tutorials


Tutorial #1: Defining robotic structure articulated arm:


This tutorial focuses on how to define robotic structure from 3D objects in Softimage. In this tutorial an RRR robotic structure will be defined from simplified 3D objects created using Softimage modeling tools.

To start this tutorial, load the companion scene: tut01_robotRRR.scn

This scene contains 3 objects parented together so when the base rotates the other two links follow. These objects represent the shape of the robot. To make these standard 3D objects robotic nodes we will use the Define Robotic Structure command in the ICE-Planner.
This command is found in the Robotics Core toolbar. Clicking this command, a property page (PPG) for defining robotic node will show as in Figure 6.

Defining Robotic Structure

Figure 6: Defining Robotic Structure

From this PPG, for each node of the robot, we need to specify its DoF in addition to the minimum and maximum ranges for that DoF.
Since we are going to use this PPG more than once, it is a good idea to lock it by clicking the small lock icon on the top right of the window beside the minimize icon.

In the 3D viewport select the last node (arm2) and in the PPG set the following:
  • Choose Revolute Z from the DoF list
  • Set the Minimum Range to: -160
  • The Maximum Range to: 0
  • Click Apply
As the node gets processed it will changes its color to indicate that this node is defined as a robotic node with the specified settings (Figure 7).

Setting DoF parameters

Figure 7: Setting DoF parameters

You will notice now, if you try to rotate this node, it will only rotates within the specified limits and around the specified DoF which is the rotation around the Z-axis.

Repeat the same process for the next node but with the following settings:

ParameterValue
   DoFRevolute_Z
   Minimum Range to-90
   Maximum Range to90

The last node is the root of the robot and root node has special processing by the ICE-Planner, so to consider this node as a root the Root Node check box should be activated.

For the remaining settings the following should be specified (Figure 8):

ParameterValue
   DoFRevolute_Y
   Minimum Range to-175
   Maximum Range to175

Setting the DoF parameters for the root node

Figure 8: Setting the DoF parameters for the root node

This ends the robotic structure definition. Next tutorial will cover creating environment around the robot and adding static obstacles to it.

Tutorial #2: Defining static environment:


This tutorial continues with defining the environment where the RRR robot will interact with. ICE-Planner differentiates between two types of environments based on the obstacles type. Supported obstacles types are either static obstacles (e.g. walls, beams, etc.) or dynamic obstacles (e.g. any moving objects including other robots).

In this tutorial we will creates static obstacles and defined then as an environment for the robot.

You can continue from your work in the last tutorial or use the companion scene: tut02_robotRRR.scn

First we will create simple 3D objects using Softimage modeling tools that will represent static obstacles for the robot.

Back to the Softimage toolbar; get a 3D torus from the Primitive->Polymesh->Torus. This will create a torus at the center of the scene and opens its PPG for setting its parameters. Resize the torus by setting the following in its PPG (Figure 9):

ParameterValue
   Radius: Main8
   Radius: Cross Section0.75

Creating 3D torus

Figure 9: Creating 3D torus

Move it up (translate Y = 6) so it is surrounding the robot (Figure 10).

Translation the torus in the scene

Figure 10: Translation the torus in the scene

Repeat the same process to create another torus but with the following settings:

ParameterValue
   Radius: Main9
   Radius: Cross Section0.75
   Rotate X-150
   Rotate Z-90

The obstacles should be place as shown in Figure 11:

Final placement for the obstacles

Figure 11: Final placement for the obstacles

After creating the obstacles for the robot, we need to add them to an environment in order for the robot to interact with. This is done by the Static Obstacles Env. Command in the ICE-Planner. This command creates the robot environment and adds all selected 3D objects to it as static obstacles.

To run this command first select the two created toruses and from the RoboticsCore toolbar click Static Obstacles Env. button.
This will process the 3D objects and add them to the robot environment as shown in Figure 12.

Defining 3D objects as static obstacles

Figure 12: Defining 3D objects as static obstacles


Tutorial #3: Defining Planning Query:


To define a planning query, we need to specify the initial configuration and the goal configuration for the robot to plan. Later on the solver will use these configurations to generate feasible path for the robot between them.

You can continue from your work in the last tutorial or use the companion scene: tut03_robotRRR.scn

Defining configuration in the ICE-Planner is straightforward; you manipulate the robot nodes to the required configuration using the Softimage translate/rotate tools, and then hit the Set Initial or Goal Configuration buttons for each node.

For this tutorial, the robot configurations are the following:

InitialGoal
Robot (rotY)-10-160
Arm1 (rotZ)-35-20
Arm2 (rotZ)-65-130

To set these configurations for each node:
  1. Select the node in the 3D viewport
  2. Set the Initial value in the transformation tool
  3. Hit the Set Initial Configuration button
  4. Repeat the same for the goal but with hitting Set Goal Configuration in step 3.
To check if the configurations are set correctly, scrub the time line to the first frame to the stored initial configuration. Likewise, scrubbing to the last frame will show stored goal configuration of the robot (Figure 13).

Switching between the initial and goal configurations

Figure 13: Switching between the initial and goal configurations


Tutorial #4: Solving articulated arm:


This is the most interesting part for this small tutorial project. In this part we will run the path-planning solver to generate feasible path that makes the robot finds its way through the environment while avoiding the obstacles.

You can continue from your work in the last tutorial or use the companion scene: tut04_robotRRR.scn

Since the robot environment consists of static obstacles we will use the Offline Brute-Force command from the RoboticsCore toolbar. This command creates a PPG for specifying the path-planning algorithm in addition to its parameters. For more details about these parameters, please refer to the reference.

For this tutorial use the same values shown in Figure 14:

Offline Brute-Force parameters

Figure 14: Offline Brute-Force parameters

After specifying the solver parameters, click the solve button in the PPG. This will pop up a new 3D viewport that shows how the algorithm is sampling the configuration space (C-Space) and growing the search tree between the initial configuration and the goal configuration.

To visualize the path-planning results use the playback controls in Softimage to play the simulation of the solver results (Figure 15).

Visualizing the configuration space for the robot

Figure 15: Visualizing the configuration space for the robot



Tutorial #5: Visualizing C-Obstacles:


As noticed, the Motion Planning Visualizer is an interesting tool for showing how the algorithm is progressing and how it is sampling the C-space. As it sampled the C-space, invalid sampled configurations that are in collision with static obstacle are represented with red boxes. Other types of sampled nodes are represented with different colors. Refer to the reference for details about its components. Since these red boxes are resulting collision of sampled configuration with obstacles, sampling enough nodes can generate the overall shape of these obstacles in the C-Space or what is called C-Obstacles.

To try this concept, use the same the tutorial but this time with different parameters for the solver. First set the solver algorithm to (Probabilistic Road Map) PRM (Kavraki and Latombe, 1998). This algorithm samples the C-Space uniformly to generate a roadmap for it. We’re interested in just the sampled nodes.

ParameterValue
   Max Nodes15000
   Space Resolution300
   Error Tolerance0
   Plot on SuccessFalse

As the solver sampled the C-space you’ll notice how the red boxes will start accumulate to create a general shape for the C-obstacles. Use the same Softimage navigation shortcuts to navigate in the Motion Planning Visualizer.

Tutorial #6: Real-time planning for PP robot in dynamic environment:


ICE-Planner supports dynamic environments where obstacles are unknown for the robot in advance so the robot needs to detect them in while navigating through the environment and update the path in real-time when an obstacle is detected. As a result obstacles can be controlled interactively while the robot is moving and still the robot will be able to avoid it.

This tutorial demonstrates this feature on a point robot (PP robot). Start by loading the companion scene: tut06_robotPP.scn

Figure 16 shows the scene components that are defined using the same procedures covered in previous tutorials:

Tutorial 6 environment setting

Figure 16: Tutorial 6 environment setting

Solving such planning problem is done through the Real-Time DRRT command in the RoboticsCore toolbar. This command shares the same algorithms implemented in the Offline Brute-Force command, thus its PPG parameters and options in are similar to those in the Offline Brute-Force PPG. The main difference is that it is based on an efficient RRT extension for planning in dynamic environments. This extension was first introduced by (Fragresum, 2006) as the Dynamic RRT or DRRT.

Back to the tutorial scene, run the Real-Time DRRT and set the PPG parameters as shown in Figure 17:

Real-Time motion planning parameters

Figure 17: Real-Time motion planning parameters

After the solver successfully generates initial path considering the static obstacles, the robot will go through continues sensing process when running the simulation. As soon the robot detects a collision with a dynamic obstacle it will updates its path to avoid it.

To test this behavior, select the dynamic obstacle and switch the translation tool in Softimage to move the obstacles around the robot while it is moving and see how it is going to behave. Press the play button and while the robot is moving towards its goal try to move the dynamic obstacle in front of it.




Civil Engineering Tutorials


The next set of tutorials demonstrates the main application of the ICE-Planner system which is planning construction equipment. Currently, ICE-Planner provides a specialized shell for planning cranes. Thus, in all tutorials, cranes are the planning subjects.

Tutorial #7: Importing construction site, cranes and placing them:


As with robotics tutorials, we will start the first tutorial by defining the crane and the construction site. These two components are defined and stored in a model library for later use. The current library that ships with this version of ICE-Planner provides a model for hydraulic crane, tower crane and steel construction site.

Of course the library is not limited only to these three models; more models can be defined and added to the library the same way these models are defined. For the crane, it is defined as a robot using the same procedure explained in Robotics Tutorial 1. While the construction site model is imported from CAD software and saved as Softimage Model.

So in this tutorial we will be just importing these models from the library and placing them in the scene based on specific arrangement.

This tutorial will be started from scratch, create a new scene using: File->New Scene

Switching to the Cranes Shell toolbar, click the Import Tower Crane command to place a tower crane model in the center of the scene. It may big to fit in the camera view, zoom out the camera or frame all objects by placing the mouse over the camera view and pressing A in the keyboard.

To see the visualization model of the crane, uncheck the Override Object Properties in the Camera settings.

The imported crane model is composed of several models that are linked together. These models are described in Figure 18:

Tower crane components

Figure 18: Tower crane components

  • The robotic model is the model that will be used by the ICE-Planner in its calculations. Technically this model is a 3 DoF RPP robot.
  • The visualization model is connected to the robotic model, so it is only controlled through the robotic model.
  • The Global Node is a special node that allows the user to place the crane model in the desired place in the scene.
Select the global node and move it to the following position: (-150, 275).

Back to the Cranes Shell toolbar; click the Import Construction Site to place a steel construction site that is prepared as an environment for the crane at the center of the scene.

Finally we have to define the picking location where the crane will be picking steel members for constructing the building. Use the Import Picking Location command to add a picking location node to the scene. Select it and move it to: (-30, 230).

Now the virtual construction site is prepared (Figure 19) we are ready to define a task for the crane and to let the solver control the crane.

Virtual construction site

Figure 19: Virtual construction site


Tutorial #8: Planning single task tower crane:


For learning purposes, we will define a dummy task for the tower crane where it will just move from the defined picking location to one of the beams in the construction site.
To define the task use the Set Initial/Goal Configuration commands in the RoboticsCore toolbar with the following values: (for more info about defining initial/goal configurations refer to Robotics Tutorial 3).

InitialGoal
Robot (rotY)110-75
Prism01 (posy)3142
Prism02 (posz)125300

For path-planning, as with Robotics Tutorial 4, the Offline Brute-Force command can be used to solve one task for this crane. For generating realistic path for construction crane we will use the RRT-BiasedLimCon which a special algorithm developed for construction equipment applications. This algorithm focuses on applicability and optimality for the generated paths.

Applicability is considered by generating paths with the minimum number of nodes which means the minimum number of actions for the construction equipment. Optimality is enhanced by avoiding redundant and/or reversal movement that usually happen with sampling-based algorithms such RRT.

As you solve and visualize the simulation, you will notice how the crane path has less nodes than the path generated for the robot in Robotics Tutorial 4 which is more applicable for cranes.
Use the settings shown in the following table and try to re-solve the problem using different algorithms available to see how the RRT-BiasedLimCon generates the most optimized paths in terms of the number of nodes or the number of actions.

ParameterValue
   Space Resolution150
   Enable BruteForce ReplanningFalse
   Eval XSI ConstraintsFalse

Figure 20 show a comparison between RRT-ConCon, RRT-Con and the RRT-BiasedLimCon.

Comparison results between RRT-ConCon, RRT-Con and RRT-BiasedLimCon

Figure 20: Comparison results between RRT-ConCon, RRT-Con and the RRT-BiasedLimCon


Tutorial #9: Real-time Planning for hydraulic crane in dynamic environment considering engineering constraints:


This tutorial uses more features of the cranes shell to plan more complex and realistic cases. The key features that will be covered in this tutorial are:
  • Considering engineering constraints using an engineering agent.
  • Real-time planning in a dynamic environment that has other crane working in.
Engineering constraints are additional constraints applied to construction equipment to ensure its safety while executing its tasks. For cranes, engineering constraints mainly derived from load charts, counter weight, out rigger states, boom extension, angle to ground, etc. All these factors affect the movement limits of the crane. Thus it is important to be able to consider them in order to generate realistic paths that can be applied to cranes.

In ICE-Planner, considering engineering constraints is done using an engineering agent. This agent guides the solver while making decisions for the next step of the path it is generating, it validates the engineering factors and include them as additional decision factors for the solver.

In this tutorial, we will add engineering agent to the hydraulic crane model and specify the loading chart for it to use.

Open the tutorial scene: tut07_mpCaseDyn_hydroCrane_3DoF

This scene contains the same steel structure used in previous tutorial as static obstacle. Additionally, another crane is added to the scene as a dynamic obstacle. All required components are defined in advance as shown in Figure 21 including the initial and goal configuration for the planning query.

Virtual construction set of two hydraulic cranes and steel structure

Figure 21: Virtual construction set of two hydraulic cranes and steel structure

The first important step in this tutorial is to add the engineering agent. To add it, use the Engineering Agent command in the Cranes Shell toolbar. A PPG will pop up for specifying loading chart file in addition to the crane loading conditions. A sample loading chart stored in a MS Excel spreadsheet is provided as a sample for following this tutorial. Browse for it in the add-on folder and specify the other parameters in the PPG as shown in Figure 22:

Specifying the engineering constraints settings

Figure 22: Specifying the engineering constraints settings

Hitting the Apply button in the PPG will generate an agent node and attach it to the robot node in the scene Explorer. This node contains a C# code that will be executed on runtime to validate each decision the solver is making. You can see the agent code by clicking on its A icon as shown in Figure 23:

Engineering agent code attached to the robotic representation of the crane

Figure 23: Engineering agent code attached to the robotic representation of the crane

Now for planning while considering engineering constraints we use the same planning commands we used in previous tutorials. The system will automatically detect the agent and includes it in the planning process.

Since there’s another crane working in the area acting as a dynamic obstacle, we will use the Real-Time DRRT command to solve the problem. Use the following settings for the Real-Time DRRT solver:

ParameterValue
   Max Nodes1000
   Space Resolution100
   Biasing Probability0.01
   Replan Max Nodes2000
   Replan Biasing Probability0.15
   Eval XSI ConstraintsFalse

After the solver finished planning phase, run the simulation and notice how the crane will automatically updates its initial path when it detects a collision with the other crane and avoid it successfully.

This tutorial shows how the same real-time planning algorithm can be applied in a prioritized approach for efficient multi-equipment motion planning. Using this approach, each of the cranes is assigned a priority. Next, the cranes are picked in order of decreasing priority. For each picked crane a path is planned, avoiding collisions with the static obstacles as well as the previously picked cranes, which are considered as dynamic obstacles. Where in this tutorial, the red crane was considered as the high priority equipment that is planned in advanced and considered as dynamic obstacles for the other crane (low priority).



Tutorial #10: Planning multi task based on BIM data:


In the construction industry, cranes are hired to do multiple tasks in the same construction site. And defining the planning query and the simulation for multiple tasks could be time consuming. For this reason ICE-Planner provides a tool in the Cranes Shell for:
  • Getting the crane schedule from a BIM exported file
  • Generating a micro-task definitions for the crane
  • Planning all these micro tasks
  • Generate a macro-task for the crane base on the planned micro tasks
For this tutorial, a simplified BIM file is exported as MS Excel spreadsheet for the same construction site. The Excel file contains list of the exported BIM information for part of the project as shown in Figure 24.

Contents of the exported BIM file

Figure 24: Contents of the exported BIM file

This information includes:

ColumnDescriptionData Type
A   Element nameString
B   Structural type (e.g. column or beam)Integer
C   VolumeFloat
D   SurfaceFloat
E   if the element is part of a critical task or notBoolean

Column A list the object names for the steel structure that the crane require to plan for.

Column B to D are used by the system to derive the weight of the lifted element in addition to other physical properties. These properties are used as input data for updating the engineering constraints. The engineering agent (introduced in tutorial 9) gets this updated data from the BIM file to prevent the path planning solver from generating unstable configurations that causes the crane to flip/collapse.

Column E specify if the task of lifting this element is on the critical path of the project or not. This data is considered as a decision factor for defining priorities when planning multiple cranes that interfere spatially as presented in tutorial 9. ICE-Planner utilizes this data to assign priorities to each crane based on the critical statues that is applied on their tasks. Thus, in case a crane is planning task that is on the critical path, this crane will be considered high priority and other cranes will be low priority. In case two or more cranes are working on critical tasks, the number of total critical tasks each crane has will define the priority, the highest number of critical tasks a crane has the highest in priority it will be when planning its tasks. This behavior is controlled by a coordinator agent that can be specified in the multi-equipment case.

The sequence of the elements listed in the Excel file is used to define the schedule of the elements. ICE-Planner will generate two lifting tasks for each element. One task for moving the element from the picking location to the final position where the structural element will be placed, and the second task is to return the crane back to the picking location and pick the next element. For the previous BIM list, the system will generate 20 lifting tasks for the hydraulic crane automatically.

This file is already prepared for this tutorial and stored in resources directory with the name: Crane1_BIM.xlsx

To start with this tutorial, open the scene: tut10_mpCaseStatic_hydroCrane_3DoF.scn

This scene has the same steel structure and hydraulic crane that are used in previous tutorials. To assign to this task list from the exported BIM file, ICE-Planner provide a specialized command from the Cranes Shell for this purpose called: Multi Task/Dual Crane

Executing this command will call a property page for specifying several options for planning multiple tasks as shown in Figure 25:

Multi-Task/Dual-Crane Property Page

Figure 25: Multi-Task/Dual-Crane Property Page

The first option is to specify the exported BIM file for the crane. Click the browse button and locate the provided Excel file in the resources directory. The next option is to specify the root name of the robotic structure of the crane. For the tutorial the root name is Robot, but instead of typing it manually in the field, click the Pick Crane 1 button and pick the yellow box that represent the crane boom root.

The Cable1_Compensation parameter is used in cases when the cable length is fixed to a specific length and it is not considered as a DoF. This assumption is useful for optimizing the calculation times by lowering the dimensionality of the C-space. In the case of the hydraulic crane, the C-space dimensionality can be reduced from 4D to 3D by fixing the cable length. For this tutorial the cable length will be fixed to 4m, thus for this parameter enter 40 to have it converted to 4m.

The final parameter is for specifying the name of picking location node. This node represents the virtual supplying place in the construction site where all construction elements are picked from. Before specifying the name of the node, the picking location node should be defined and place in the scene in the proper place. To define this node, call the Import Picking Location command from the Cranes Shell toolbar as shown in Figure 26:

Importing picking location node to the virtual construction set

Figure 26: Importing picking location node to the virtual construction set

This command will add a new node to the scene that can be placed anywhere in the construction site. For this tutorial place the picking location node in the following coordinates:

AxisValue
X-60
Z400

Now in the Multi-Task/Dual Crane PPG click the Pick Crane1 PickingLocation to specify the picking location node.

At this point, all the multi-task parameters are defined and ready for planning all the tasks. Hitting the plan button will cause the multi-task command to start planning all tasks using a default planning algorithm and some default values for it. To explicitly specify the algorithm and its parameters, the Motion Planning property can be added to the scene and set so the multi-task command will retrieve the planning algorithm and all its settings from it. To add a motion planning property to the scene, switch back the to the Robotics Core toolbar, call the Offline Brute-Force. This will add the motion planning property for the OfflineBruteForce algorithms which is better since there are no dynamic obstacles in this case.

In this property page set the following parameters as follow:

ParameterValue
   Solver AlgorithmRRTBiasedLimCon
   Random Seed7
   Max Nodes500
   Space Resolution150
   Enable BruteForce ReplanningFalse
   Eval XSI ConstraintsFalse

Leave the rest of the parameters to their defaults.

The final issue that needs to be considered before returning back to the multi-task PPG for planning the tasks is to enable the element visualization. ICE-Planner provides a flexible framework for updating the robot’s environment based on the robot’s actions. This framework is based on agents where specific agents are developed to watch robots events and update the environment as required. In the Cranes Shell, an environment update agent is developed to update the construction site based on the crane’s actions. To add this agent, simply click on the Environment Lifts Updates button in the Cranes Shell toolbar. This command will add attach Jscript code to the obstacles node in the scene. Figure 27 shows where this agent is attached and part of its Jscript code.

Crane Lifts Environment Update Code attached to the obstacles model

Figure 27: Crane Lifts Environment Update Code attached to the obstacles model

At this point everything is ready for planning the multi-task problem. Open the MultiTask_DualCranes_Planning PPG by clicking on the small C letter beside it in the Explorer. In the opened property page click plan to start planning all tasks specified in the BIM file.

The planning process may take more than 20 seconds based on your hardware. When it is finished you can update the Animation Mixer window by selection the Mixer node in the Explorer and then clicking on the Update from Selection and Frame All buttons as shown in Figure 28.

Viewing the bar-chart representation of the planned micro tasks for the crane

Figure 28: Viewing the bar-chart representation of the planned micro tasks for the crane

When it is updated you will be able to see a bar-chart representation for the micro tasks that are generated by the planning solver for the hydraulic crane.

To visualize the result make sure first to extend your scene timeline to the last simulation frame, this value is the last frame number for the last micro task as shown in the Animation Mixer. In case of this tutorial it should be: 3055.

Set this value in the play control out shown in Figure 29:

Setting the last simulation frame in Softimage

Figure 29: Setting the last simulation frame in Softimage

The End:


This comes to the end of the tutorials for the first release of the ICE-Planner. As noticed it is not possible to cover all features within a couple of tutorials. However, I hope that these tutorials give you a good overview on the main features of the current release of the ICE-Planner.


References:

  • Adjei-Kumi T. and Retik A. (1997). Library-based 4D Visualization of Construction Processes, Proceedings of the IEEE Conference on Information Visualisation, Piscataway, NJ, pp. 315-321.
  • AlBahnassi, H. and Hammad, A. (submitted). Sampling-Based Algorithm for Motion Planning of Hydraulic Cranes in Dynamic Environments, Journal of Computing in Civil Engineering, ASCE.
  • AlBahnassi, H., Hammad, H. and Zhang, C. (2009), Accurate Heavy Equipment Motion Planning Considering Local and Global Constraints, In Proceedings of 2nd International/ 8th Construction Specialty Conference. St. John’s, Newfoundland and Labrador, May, 2009.
  • Clark, C.M., Bretl, T. and Rock S. (2002). Applying Kinodynamic Randomized Motion Planning with a Dynamic Priority System to Multi-Robot Space Systems, Proceedings of IEEE Aerospace Conference, pp. 3621-3631.
  • Kavraki, L., Latombe, J.C. (1998). Probabilistic Roadmaps for Robot Path Planning, Practical Motion Planning in Robotics: Current Approaches and Future Directions, pp. 33-53.
  • LaValle, S.M. (1998). Rapidly-Exploring Random Trees: A New Tool for Path Planning. TR 98-11, Computer Science Dept., Iowa State University.