3.5 Types of strategies
3.5.2 Task assignment in MRS through auction 54
An auction is a process of buying and selling goods or services by offering them up for bid, taking bids, and then selling the item to the winning bidder. In economic theory, an auction may refer to any mechanism or set of trading rules for exchange.
There are several variations on the basic auction form, including time limits, minimum or maximum limits on bid prices, and special rules for determining the
55
winning bidder(s) and sale price(s). Participants in an auction may or may not know the identities or actions of other participants. Depending on the auction, bidders may participate in person or remotely through a variety of means, including telephone and the internet. The seller usually pays a commission to the auctioneer or auction company based on a percentage of the final sale price. The different types of auctions are as follows:
• English auction is also known as an open ascending price auction. This type of auction is arguably the most common form of auction in use today.
Participants bid openly against one another, with each subsequent bid higher than the previous bid. An auctioneer may announce prices, bidders may call out their bids themselves (or have a proxy call out a bid on their behalf), or bids may be submitted electronically with the highest current bid publicly displayed. In some cases a maximum bid might be left with the auctioneer, who may bid on behalf of the bidder according to the bidder's instructions.
The auction ends when no participant is willing to bid further. Alternatively, if the seller has set a minimum sale price in advance (the 'reserve' price) and the final bid does not reach that price the item remains unsold. Sometimes the auctioneer sets a minimum amount by which the next bid must exceed the current highest bid. The most significant distinguishing factor of this auction type is that the current highest bid is always available to potential bidders.
The English auction is commonly used for selling goods, most prominently antiques and artwork, but also secondhand goods and real estate.
• Dutch auction is also known as an open descending price auction. In the traditional Dutch auction the auctioneer begins with a high asking price which is lowered until some participant is willing to accept the auctioneer's price. The winning participant pays the last announced price. The Dutch auction is named for its best known example, the Dutch tulip auctions. In addition to cut flower sales in the Netherlands, Dutch auctions have also been
56
used for perishable commodities such as fish and tobacco. In practice, however, the Dutch auction is not widely used.
• Sealed first-price auction is also known as a first-price sealed-bid auction (FPSB). In this type of auction all bidders simultaneously submit sealed bids so that no bidder knows the bid of any other participant. The highest bidder pays the price they submitted. This type of auction is distinct from the English auction, in that bidders can only submit one bid each. Furthermore, as bidders cannot see the bids of other participants they cannot adjust their own bids accordingly. This kind of bid produces the same outcome as Dutch auction. Sealed first-price auctions are commonly used in tendering, particularly for government contracts and auctions for mining leases.
• Vickrey auction, is also known as a sealed-bid second-price auction. This is identical to the sealed first-price auction except that the winning bidder pays the second highest bid rather than their own. This is very similar to the proxy bidding system used by eBay, where the winner pays the second highest bid plus a bidding increment (e.g., 10%). Although extremely important in auction theory, Vickrey auctions are rarely used in practice.
The auction algorithm
The auction algorithm is an intuitive method for solving the classical assignment problems. It outperforms substantially its main competitors for important types of problems, both in theory and practice, and is also naturally well suited for parallel computation. In the process, the user submits jobs to the auctioneer to start the process. An auctioneer is responsible for submitting and monitoring jobs on the user’s behalf. The auctioneer creates an auction and sets additional parameters of the auction such as job length, the quantity of auction rounds, the reserve price and the policy to be used. The auctioneer informs the robots (Robot-1, Robot-2 and Robot-3) that an auction is about to start. Then, the auctioneer creates a call for proposals, sets its initial price, and broadcasts calls to all the robots (Robot-1, Robot-2 and Robot-3). Robots formulate bids for selling a service to the user to execute the job.
57
The robots evaluate the proposal; they decide not to bid because the price offered is below what they are willing to charge for the service.
Figure 3.2 Flowchart of the auction for task
Auctioneer increases the bid price
Yes Is accepted No
by any Robot(s)
Start
Auctioneer creates an auction Initializes Maximum Value
User, Auctioneer, Robot1, Robot2 and Robot3
User submits job to Auctioneer
Broadcasts call for proposals to Robot1, Robot2 and Robot3
Stop
Auctioneer compares the bid values and decides the Winner Robots send the bid values to
Auctioneer
Auctioneer broadcasts auction results to Robot1, Robot2, Robot3, and User
58
This makes the auctioneer to increase the price and send a new call for proposal with this increase in the price. Meanwhile, the auctioneer keeps updating the information about the auction. In the second round, Robots are decided to bid. The auctioneer clears the auction according to the policy specified beforehand. Once the auction clears, it informs the outcome to the user and the robots. The flowchart for the process is presented in Figure 3.2.
The auction algorithm includes the following steps:
In general cases, the auction proceeds in five steps 1) Task announcement.
2) Evaluations. Each candidate evaluates the cost and gain to execute the task then determine its bids.
3) Bid submission. Each candidate publishes its “score” representing task-specific fitness to the auctioneer.
4) Close of auction. The auctioneer processes the bids, determines the winner, and notifies the bidders.
5) Progress monitoring /contract renewal.
Such algorithm can deal with task allocations when the environmental information is only partly known and the failure of some candidates is tolerable. The method can be modified to fit multi-task allocation problem. However, the tasks may change in a dynamic environment so that even single-item-multi-round auction algorithms and combinatorial auction are not suitable for the situations in which the tasks change rapidly, for example, the cooperative hunting for a high-speed target. The hunters might arrive to a former assigned destination whereas the target had already wandered to some other places.
Auction algorithm for task allocation
1. An auctioneer that discovers a task commences an auction by announcing the task’s location and requesting bids from other robots.
2. Every robot that is within communication range of the auctioneer robot receives the information about the task being auctioned.
59
3. A robot that receives information about the task being auctioned can respond with a bid if only if it has at most one existing task in its task list. The value of the bid is given by the sum of straight line distances from the robot’s current location to the auctioned task’s location, via the location of the task, if any, on the robot’s task list.
4. The auctioneer continues to receive bids till the time for that auction expires.
The auctioneer robot then selects the top n bidders (n of the closest robots to the task) as the auction’s winners. If the auctioneer receives m bids, where 1
≤ m < n, it selects only m winners. If the auctioneer does not receive any bids it restarts the auction.
5. The auctioneer informs the winning robots that they were selected to perform the task, while the robots that lost the auction are informed that they were not selected to perform the task. The winning bidder with the lowest valued bid (robot furthest from the auctioneer) is informed by the auctioneer that it is going to be the last robot to visit the task for the current auction.
6. Each selected robot visits the task to partially complete it and deposits pheromone at the location corresponding to the task. The updated pheromone value is communicated to other robots that have been selected to perform the task, but have not yet performed the task.
7. A task is considered complete when the amount of pheromone associated with it reaches a threshold value ofτ.
8. If the last robot visiting the task observes that the pheromone value of the task is < τ after it has executed the task, it starts another round of auction for the same task. On the other hand, if the last robot observes the pheromone value of the task is > =τ, it considers the task to be completed. The robot then communicates the task completion information for the task at that location to other robots within its communication range. This prevents robots from rediscovering the same task and initiating another auction for the task later on.
60
The algorithm described here can be utilized in task allocation in multi-robot applications, and is particularly suitable for parallel computation. This approach attempts to find the best assignment between tasks and robots, while maximizing the total benefit. It iterates between robots and in each iterations tries to assign a task to a robot who offers the most. In consecutive iterations, other robots may bid for other tasks and if more than one bid is available for the same task, it will increase the cost of task until finally just one task-robot pair match takes place, (iterative improvement). The iteration terminates when all robots are pleased with their match, otherwise an unhappy robot will bid higher for another task and this process will continue. Although auction algorithm may have some similarities to the free market approach, there is a little difference. One difference is that in the free market approach, agents can cooperate in order to gain a maximum profit for all of them, however in the auction algorithm every robot is considered rival. The auction algorithm uses an exclusive mathematical model for all the applications, while the free market approach does not. In addition, the free market technique is based on the collection of heterogeneous agents, while in the auction algorithm the robot set is homogeneous.
3.5.3 Robot operation and dynamic task assignment
The dynamic task allocation problem, i.e., the mapping from bids to tasks, can be performed in numerous ways. The focus is limited here to Markovian systems, where the task allocation mapping for a given robot is based on the mapping between that robot’s current task assignments and every other robot’s current bid on each task, to the given robot’s new task assignment, as shown in Table 3.1. Given each robot’s bid on each task, and its current task engagement, the new task assignment of each robot is required to be determined. Given the large space of possibilities, only the extreme cases of no commitment and full commitment, and no coordination and full coordination for each of the robots are considered. The combination of these extremes results in four task allocation strategies as shown in Table 3.2. Along the commitment axis, a fully committed strategy meant a robot would complete its assigned task before considering any new engagements, while a fully opportunistic
61
strategy allowed a robot to drop an ongoing engagement at any time in favor of a new one. Along the coordination axis, the uncoordinated (individualistic) strategy meant each robot performed based on its local information, while a coordinated strategy simply implemented mutual exclusion, so only one robot could be assigned to a task, and no redundancies were allowed. It is noted that this notion of coordination is simple, and it is not intended to represent explicit cooperation and coordination strategies (i.e., the fixed time-cost was 0). During the process three new tasks appear every twelve time-steps at random positions on the grid. The tasks are structured so that one robot is sufficient for completion of an individual task assignment.
Table 3.1 An example of task allocation scenario
Table 3.2 The task allocation strategies Commitment ª Coordination¨
Individual Mutually exclusive
Commitment Strategy-1 Strategy-2 Opportunity Strategy-3 Strategy-4
Thus, mutual exclusion is the simplest yet effective form of coordination. As an example, the fully committed mutually exclusive strategy is as follows:
1. If a robot is currently engaged in a task, and its bid on that task is greater than zero, remove the row and column of the bid from the table, and set the robot’s new assignment to its current one.
Current engagement Bids A B C D New engagement
A Robot-1 6 4 2 5 ?
-- Robot-2 4 1 0 3 ?
C Robot-3 7 2 3 2 ?
62
2. Find the highest bid in the remaining table. Assign the corresponding robot to the corresponding task. Remove the row and column of the bid from the table.
3. Repeat from step 2 until there are no more bids. In case of individualistic (uncoordinated) strategies, the same algorithm is run on a separate table for each robot. In the opportunistic (uncommitted) case, step 1 above is skipped.
In the context of multi-robot coordination, dynamic task allocation can be viewed as the selection of appropriate actions [78] for each robot at each point in time so as to achieve the completion of the global task by the team as a whole. From a global perspective, in multi-robot coordination, action selection is based on the mapping from the combined robot state space to the combined robot action space. For homogeneous robots, it is the mapping;
S|R| → A|R|
Where, S is the state space of a robot, |R| is the number of robots, and A is the set of actions available to a robot [79]. In practice, even with a small number of robots, this is an extremely high-dimensional mapping, a key motivation for decomposing and distributing control.
Figure 3.3 Evaluation criteria
Based on the approach introduced in [80], the task allocation problem is decomposed into the following three steps:
Work list
task task task
task
required skills skill set
capability
(task workers) Task relationships
(task task)
63
1. Each robot bids on a task based on its perceived fitness to perform the task;
2. An auctioning mechanism decides which robot gets the task;
3. The winning robot’s controller performs one or more actions to execute the task.
The above decomposition is aimed at constructing a general formulation for the multi-robot coordination problem. In this formulation, a bidding function determines each robot’s ability to perform a task based on that robot’s state. Next, the task allocation mechanism determines which robot should perform a particular task based on the bids. Finally, the robot controllers determine appropriate actions for each robot, based on the robot’s current task engagement. This partitioning, as illustrated in Figure 3.3, serves two purposes: it reduces the dimensionality of the coordination problem, and it reduces the amount of inter-robot communication required. We now have the mapping
B|R||T | → T |R|
Instead of mapping, namely from all robots’ bids B for all tasks T to a task assignment for each robot, this overall mapping is called the task allocation strategy for the system as a whole. The overall mapping is treated here as a global, centralized process (as depicted in Figure 3.4), but distributed auctioning mechanisms [81,82], blackboard algorithms [83], and cross-inhibition of behaviors [84] are some validated methods for distributing the task allocation function. In this methodology, the focus is on what the task allocation function should be, rather than on how it should be distributed. The above framework is a general way that dynamic task allocation for MRS can be formulated.
64
Figure 3.4 Reducing the dimensionality of multi-robot coordination
3.6 Summary
In this chapter mathematical models are developed for creating strategies for the robots. Considering the environment of tasks and type of robots in mind different strategies are identified for task as well as for robots. Finally the suitable strategies are sorted out for robots. An auction based algorithm is discussed in this chapter for allocation of robots to the tasks. A procedure for auction algorithm is outlined and the flowchart is presented.
Fitness
Fitness Fitness
Engagement Action Robot
state
Action Action Engagement
Engagement
Actions affect the environment E
Bidding
B |T| T’ A’
Control Task Allocation
(B|T ||R → T’|R|) Sensing
Environment
Robot state Robot
state S’
?
SELECTION OF ROBOTS
65
CHAPTER 4
Selection of Robots
4.1 Introduction
Recent developments in information technology and engineering sciences have been the main reason for the increased utilization of robots in a variety of advanced manufacturing facilities. Robots with vastly different capabilities and specifications are available for a wide range of applications. The selection of robots to suit a particular application and production environment from among the large number of robots available in the market has become a difficult task. Various aspects such as product design, production system, and economics, need to be considered before a suitable robot can be selected. The selection problem is particularly relevant in view of the likely lack of experience of prospective users in employing a robot. Indeed, robots are still a new concept in industry as a whole, and so it is not unusual for an industry to be a first-time robot purchaser.
With the advancement of technology, production systems are changing from traditional human dependent systems to intelligent automated systems. Industrial Robots have been instrumental in making the production systems more efficient, productive, responsive and flexible. In large production systems, multiple robots of different types, capacities and capabilities are employed for accomplishing the desired tasks. The flexibility and scalability of the system is greatly enhanced by use of multiple types of robots. The concept of using multiple robot types comes from the availability of those robots in the market. However the use of multiple type robots in a single workcell should not be done in random manner. It is desired that all the, devices in a workcell are controlled and coordinated properly through a single point (host) so that the workcell behaves like a single entity. Hence it is important to
66
have the compatibility of the robots with the host. This calls for robot selection for the intended workcell. Since a multirobotic workcell is a cost intensive proposition the planning of such workcell should be done correctly. The selection of robots and subsequently the allocation of these robots for accomplishing the goal become prime issues in making the system efficient both from operation and economy view points.
There is good number of tools available for optimizing the general allocation problems. However, if the robots under consideration are in large number possessing higher capability and the number of tasks to be carried out is large, then the number of alternatives for allocation becomes exorbitantly large, thereby making the allocation problem an NP-hard. Therefore, the optimization tool to be used for such problems need to be chosen carefully and correctly.
The articulate or jointed arm robot (or sometime called Anthropomorphic arms) closely resembles the human arm. The mechanical structure has at least three rotary joints which forms a polar coordinate system. The basic three rotary joints able Arm
The articulate or jointed arm robot (or sometime called Anthropomorphic arms) closely resembles the human arm. The mechanical structure has at least three rotary joints which forms a polar coordinate system. The basic three rotary joints able Arm