Object avoidance for the halobject

Size: px
Start display at page:

Download "Object avoidance for the halobject"

Transcription

1 Object avoidance for the halobject J.A. van Geenhuizen DCT Traineeship report Supervisor: Dr. Ir. M.J.G. van de Molengraft Technische Universiteit Eindhoven Department Mechanical Engineering Dynamics and Control Technology Group Eindhoven, December, 2006

2 Contents Introduction 4 1 The halobject The halobject Ultrasonic sensors Radio fence Object avoidance algorithms Vector field histogram method Virtual force field method Probability function Object avoidance for the halobject Experimental setup 14 4 Application of the VFH method Grid Resolution of the grid From certainty grid to polar histogram Steering direction Parameter values Radio fence Implementation Inputs and outputs Sample frequency Results Polar histogram Simulink simulation Discussion Conclusion and recommendations Conclusion Recommendations A Simulink model 35 2

3 B Objectavoidance.c 37 C Simulation results 45 3

4 Introduction The VARA/NPS broadcasting associations challenged a group of artists to revive the entrance hall of the NET3 building in Hilversum, The Netherlands. An artist came up with the idea to create a moving sculpture, for now called the halobject. He turned to the University of Technology Eindhoven (TU/e) with the request to develop the underlying technical infrastructure. The TU/e accepted this and the halobject became a project for students to work on. Student groups studied on walking mechanisms, sensors, feelers and character for a year and from then on a small group started the first realization phase of the halobject. The framework, electrical system and operator panel were created. Furthermore the basic control software was developed. Currently the second phase is in progress which focusses on the creation of the needed software to give the halobject a character and to let the halobject walk autonomously in a space without bumping into stationary or moving objects. The final goal is a walking robot which interacts with its environment via its sensors (light, sound, distance). In this report the development of the obstacle avoidance software for the halobject is described. The obstacle avoidance software is, in this case, the software that reads the measurements from the ultrasonic sensors and the radio fence system, and translates these into a walking and steering direction for which the halobject does not collide with other objects. If for some reason an object approaches the halobject too close, the obstacle avoidance software has to assure that the halobject stops and is diverted after all. In chapter 1 the problem definition is given and the halobject and the ultrasonic sensors are described. In the second chapter, two possible options for an object avoidance algorithm are discussed and a choice for one of them is made. To be able to test the software without tiring out the halobject an experimental setup is built which is described in chapter 3. In chapter 4 the implementation of the vector field histogram method is discussed and in chapter 5 the developed object avoidance is tested and results are shown. Finally the report is closed down by a conclusion and recommendations. 4

5 Chapter 1 The halobject 1.1 The halobject As stated in the introduction, the halobject is designed and built to operate in the entrance hall of the NET3 building in Hilversum. The deviser of the halobject wanted the halobject to be an animal-like creature and to establish that it was decided to not equip the halobject with wheels to move itself, but with a walking mechanism. From existing walking mechanisms, it was chosen to use the concept of the spine walker for the halobject, see [1] and [3] for a detailed description of the spine walker and the construction of the spine walker. The spine walker has six legs which are connected to three bodies, the movements of the bodies with respect to each other are controlled by three electric motors. The cover of the halobject is attached to the middle of the three bodies. When the halobject is walking straight ahead, the middle body, and thus the cover too, makes a turning movement between maximal and with respect to the course direction. When the halobject is resting, the cover is in one of the outer positions and during one step it always moves from the one outer position to the other. When walking at a slower speed, the maximum deflection with respect to the course direction is smaller than and , and when the halobject is turning a corner the maximum deflections of the bodies are not equal in magnitude anymore, but are still in phase. The angles are measured by decoders that are built in, in the electric motors that drive the bodies. The steering direction of the halobject, when not avoiding an object, is prescribed by the character of the halobject and is (mostly) random. The random steering commands generated by the character vary between the arbitrary chosen lower and upper bounds of -10 and 10, -10 is turning maximum left and 10 is turning maximum right. The rate of change of the randomly generated steering direction as well as the speed of the halobject are dependent on the amount of light and noise that is present in the hall of the NET3 building. Furthermore, directional information of sound in the hall, recorded by 3 microphones in the cover, is used to influence the direction of the random walk. The dependency of the movements of the halobject on light and sound is a way to create moods for the halobject and is the second way to give the halobject a more animal-like appearance. The coupling between the environmental inputs and the behavior of the movements, i.e. the character, is designed by Klaas van der Molen [2]. The travel directions generated by the character are used as input for the motion controllers for the motors that drive the halobject and the moods generated by the character are also used to influence the motion of the feelers. The setpoint generators of the motors of the feelers and the motors that drive the halobject are designed by Pieter Nagelmaker. 5

6 The halobject is controlled by a PC104/linux computer with interface cards and a PLC. The software for the halobject is mainly written in C and inserted in Simulink models as S-function. The Simulink models are compiled to create an executable that can be run on the halobject. To run the executable on the halobject it is transferred to the PC104 of the halobject via a network connection and using SSH the file is executed at the halobject. The sample frequency of the PC104 computer is 1000 Hz. 1.2 Ultrasonic sensors To give the halobject sight it is equipped with four ultrasonic sensors, three at the front side of the halobject and one at the backside. Ultrasonic sensors measure, within a certain range, the distance between the sensor and an object in a straight line in front of the sensor. The two outer front sensors are of the type mic-101/iu/hv/m30, made by Microsonic, and have a range of 0.35 m to 3.4 m. The front middle sensor and the back sensor are of the type mic-601/iu/hv/m30, also made by Microsonic, and have a range of 0.8 m to 6 m. Objects that are further away than the maximum distance are not detected and in that case the sensor indicates the maximum measurable distance. When objects are closer to the senors than respectively 0.35 m or 0.8 m, they are in the so called blind zone of the ultrasonic sensor. In the blind zone the sensors cannot determine the distance correctly and the sensors will indicate a (random) distance that is within the measurement range of the sensor. This is a shortcoming of ultrasonic sensors for the use in object avoidance because objects seem to be further away than they really are. The output of the sensors is a voltage between 0 V and 10 V, which is linear to the distance. The output is generated by internal signal processing in the ultrasonic sensors and offers a ready to use solution for the industry, but the influence of the user on the data acquisition is limited. However, it is possible to change some basic settings of the ultrasonic sensor via the software that is supplied by the manufacturer of the sensor. Via the software it is possible to set the measurement range and the output voltage range. Furthermore, there is the ability to apply some basic filters on the signal and to choose between two output signal types: voltage and current. Most of these functions are mainly very useful when there is no personal computer (with interface) available to do the data processing. As stated, an ultrasonic sensor measures the distance between itself and an object that is in a straight line in front of the sensor. However, this straight line is not infinitely narrow and is not only dependent on the distance to the sensor, but also on the type of an object. In figure 1.1 the detection zones of the two types of sensors are shown for a tube of diameter 27 mm and for a plate that is aligned optimally for detection by the ultrasonic sensor. Objects that have a larger diameter than the tube are obviously detected in a broader area than the tube, but the detection cone cannot be broader than the detection cone of the optimally aligned plate. From 1.1 it could be concluded that walls and plates never can be overseen by the sensor, unfortunately this is not completely true: Plates or walls that are not aligned optimally, i.e. plates and walls are not perpendicular to the view of the sensor, but under an angle, are not always detected. The three sensors at the front side of the halobject are placed in angles of and with respect to the middle sensor that lies on the longitudinal axis of the halobject, like the back sensor. The heart of the circle spanned by the front sensor has a radius of 0.41 m and does not coincide with the center of the halobject as the center of the halobject, around which the turning motion is made during walk, is positioned approximately 0.81 m behind the front sensor. Furthermore, the sensors are placed looking slightly upward to prevent that the floor reflects 6

7 the emitted acoustic signal and that the distance to a point on the floor is measured instead of the distance to an object. In figure 1.2 a schematic overview is depicted of the positions of the ultrasonic sensors. The sensors are numbered, the front sensor at the left side is sensor number 1, the middle front sensor is sensor number 2 and the front right sensor is number 3. The back sensor is numbered 4. Figure 1.1: Detection zones of the short-range (left) and the long-range (right) sensor for a tube with 27 mm diameter and a wall that is optimally aligned for detection 7

8 Sensor 1 Sensor 2 Sensor m 0.81 m 0.40 m Rotational center 0.81 m Sensor 4 Figure 1.2: Schematic overview (view from above) of the position of the ultrasonic sensors in the halobject 1.3 Radio fence In addition to the ultrasonic sensors, the halobject is equipped with a radio fence system that has to prevent that the halobject leaves the entrance hall and that the halobject collides with one of the pillars in the entrance hall. The radio fence system originates from a domestic pet-safe system that normally is used to keep pets in a specific area without a fence. For that purpose an electrical wire is put in the ground around a specific area and the wire is connected to a device that generates a signal, if the pet is near the cable in the ground, a device round the neck of the pet picks up the signal of the cable and warns the animal by giving a small electric shock. If the pet still approaches the virtual fence, a more harsh shock warns the animal. Of course, the pet has to be trained to respond in a proper way to the shocks of the belt around its neck. The described system is built in, in the halobject and an electrical wire is laid under the floor of the entrance hall of the NET3 building. Figure 1.3 shows a schematic overview of the entrance hall and the implementation of the radio fence. 8

9 Radio fence boundary wire Pillar Figure 1.3: Schematic overview of the halobject in the entrance hall of the NET3 building, with the radio fence 9

10 Chapter 2 Object avoidance algorithms Several real-time object avoidance algorithms for autonomous moving vehicles have been developed in the past. Two algorithms that are also used in combination with ultrasonic sensors and have shown good results are the Vector Field Histogram method (VFH) and the Virtual Force Field method (VFH). In this chapter both methods will be described. Both the VFF and VFH method are local pad planners and are, for that reason, not able to find an optimal path. To find an optimal path complete environmental information is needed. It is not considered a problem that these methods are not global path planners as the halobject never has to travel to a specific location. 2.1 Vector eld histogram method The first step in the VFH method is the storage of the data of the ultrasonic sensors in a cartesian coordinate system, called the certainty grid (see figure 2.1). The coordinate system covers the complete space where the vehicle is in, but only a reduced active window of w s w s cells around the vehicle is used. Each cell c i,j of the active window contains a certainty value that indicates the possibility of an object in that cell. A cell is incremented when an object is detected, i.e. the ultrasonic sensor measures a distance d i,j to the center of the vehicle coinciding with cell c i,j. In the next step of the VFH algorithm the certainty values are used to calculate the magnitudes of the obstacle vectors of the cells using equation 2.1. The magnitude is reverse proportional to d, the distance of the cell to the vehicle, and therefore occupied cells in the vicinity of the vehicle produce a larger obstacle vector compared to occupied cells that are further away from the vehicle and the constants a and b have to be chosen such that a bd max = 0, where d max is the distance from the furthest cell of the active window to the center of the vehicle. Furthermore, the certainty value c i,j is squared to emphasize recurring range readings and to reject single occurrences of readings. m i,j = (c i,j ) 2 (a bd i,j ) (2.1) β i,j = tan 1 y j y 0 x i x 0 (2.2) 10

11 m i,j = magnitude of the obstacle vector at cell (i, j) c i,j = certainty of the of active cell (i, j) d i,j = distance between active cell (i, j) and the center of the vehicle a, b = positive constants β i,j = direction from active cell (i, j) to the center of the vehicle x 0, y 0 = present coordinates of center of the vehicle x i, y j = coordinates of the active cell (i, j) Subsequently the polar histogram h is calculated from the certainty values over the sectors around the vehicle s momentary position. For that goal the space around the vehicle is partitioned in n = 360/α sectors. Each sector k corresponds to a discrete angle equal to kα. Each cell c i,j is related to a sector trough equation 2.3 using the direction of the magnitude vector β i,j from equation 2.2. All magnitudes m i,j of the cells c i,j in sector k are summed up to obtain the polar obstacle density h, equation 2.4. k = INT (β i,j /α) (2.3) h k = i,j m i,j (2.4) The creation of the polar histogram from the histogram grid, reduces the 2 dimensional data to 1 dimensional data. The next step of data reduction will yield a travel direction θ for the vehicle. A threshold is put on the polar histogram; entries in the polar histogram that are lower than the threshold are possible travel directions and entries that are higher than the threshold are rejected as potential travel directions. The potential travel directions, or candidate valleys, are judged on their width. If a candidate valley is wider than certain amount of sectors and is the closest to the wanted travel direction, the vehicle will be led through the middle of that valley. 11

12 Robot/vehicle Cells of the active window Cells of sector k 2 Certainty value Figure 2.1: Certainty grid 2.2 Virtual force eld method The VFF method also uses a certainty grid, that is filled in the same way as in the VFH method. However, in the the VFF method each cell exerts a repulsive force F i,j on the vehicle that is proportional to the certainty value c i,j and inversely proportional to d 2, where d is again the distance between the center of the vehicle and the object. All the repulsive forces of the individual cells are summed up to yield the total repulsive force F r. Besides the total repulsive force, a virtual attractive force F t is excerpted on the vehicle to pull it to its target. F r and F t are added to create the force vector R that is used for the determination of the steering direction. 2.3 Probability function It is possible to apply a probability function to the readings of the ultrasonic sensors, but this is not done for the object avoidance of the halobject. A reason to apply a probability function to the measurement is to account for the fact that an ultrasonic sensor does not detect an object in an 12

13 infinite small line in front of the sensor, but in a cone in front of the sensor. This introduces the probability that the object is not in cell c i,j, but in a cell next to cell c i,j at the same distance. It is computationally intensive to account for the effects of the cone of the sensor by incrementing more than one cell at the time, although it is expected that it is not an issue for the implementation of the object avoidance on the halobject. Furthermore the halobject is making a swinging movement and in combination with the high sample rate also an average distribution is created. 2.4 Object avoidance for the halobject Both the VFH and VFF method can be used on the halobject for object avoidance. However, the setup of the halobject is slightly different from other vehicles as a result of which the algorithms have to be adapted more or less. First the halobject has, in contrary to the vehicles described in [4] and [5] where the VFH and VFF method are used, only 4 sensors. This causes the halobject to have only a limited view that is a little bit extended by the swinging movement, but is not comparable to a vehicle that has 24 sensors in all directions. For that reason the halobject is, in contrary to other setups, not able to read in all directions at the same time. Therefore it is not guaranteed that the same number of measurements is performed in all directions and so the certainty values of the cells in different directions cannot be compared anymore to each other. Another difference is that the halobject acts in a dynamic environment causing the measurements of the ultrasonic sensors to be more chaotic when for example a person walks by. Whereas the VFH and VFF method get their strength from constant reoccurring measurements in the same cells. Another difference in the setup of the halobject and the robots mentioned in the articles is that no position information is available of the halobject, so the halobject does not know its relative position in space. For the application of the VFF and VFH method it means that the halobject can increment a cell when an object is detected, but when the halobject loses sight of the cell as results of the swinging motion and the forward movement, the halobject is not able to find the same cell again to increment it again. A solution for this problem is the use of a local coordinate system that travels along with the halobject. The final major difference between the halobject and in fact almost all robots, is that the halobject has no real goal to travel to, to be successful. The halobject only has to walk around without colliding into objects: The halobject needs only to be guided around or away from objects by the object avoidance algorithm; path planning is left to other parts of the software that control the halobject. It can be concluded that the VFF and VFH method indeed have to be adapted before use in the halobject. It is believed that the polar histogram is a powerful tool that transforms the readings of the sensors into a usable representation of the outside world of the halobject. The force field method, however, has a less subtle way of data reduction and is therefore abstract and less usable. It is decided to use the VFH method and adapt it for the halobject to overcome the above mentioned issues. The way the polar histogram is created and the steering direction is determined, will then be different from the VFH and VFF method. 13

14 Chapter 3 Experimental setup As the halobject moves forward, the body makes the swinging movement that is inherent to the spine walker concept. The swinging movement lets the halobject scan its environment with its sensors and provides the halobject with a broader view than when there would be no scanning movement. To investigate the readings of the sensors combined with the scanning movement without using the halobject, an experimental setup was built. The experimental setup was built with parts that were mostly already available at the halobject laboratory. Only a high power amplifier and a Toshiba laptop were acquired from elsewhere. The constructional parts are built with parts of the VBS system. Only the setup of the front sensors is modeled because the situation for the back sensor is equal to the front, but without the two side sensors. For the setup a bearing in a bearing chamber is fixed to a stand. The bearing holds an axle of 10 mm in diameter. One end of the axle has a reduced diameter of 6 mm to which a cogwheel is attached. To the other end of the axle the arm, to which the ultrasonic sensors are mounted, is attached by a connector of the VBS construction system. The cogwheel is connected by a belt to the cogwheel that is driven by an electrical motor which has a built-in encoder. The cogwheels introduces a reduction of 18/22. The ultrasonic sensors are mounted to plates that are positioned in such a way that they have the same geometrical setup with respect to each other as they have in the halobject. For a schematic overview see figure 3.1 and 3.2. Two TUeDACS/aqi s, connected to a Toshiba 4600 running linux, are used to control the movement of the arm and to process the readings of the ultrasonic sensors in Simulink. The ultrasonic sensors are connected directly to an analogue input of the TUeDACS/aqi s. Furthermore a power supply is connected to the sensors, the motor is connected via a high power amplifier to an analogue output of the TUeDACS/aqi and the encoder of the motor is directly connected to an encoder input of the TUeDACS/aqi. A Simulink model is used to translate the raw data of the sensors and the encoder to distances. Furthermore a manually tuned proportional controller is implemented in Simulink to control the motor. In appendix A an overview of the Simulink file can be found. A third order trajectory is prescribed to the motor from 0 to -34, which is performed because the encoder can only measure angles relative to its starting position. The setup is positioned somewhat oblique which makes the arm fall to one side if the motor is not powered, a stop holds the arm at its starting position, at an angle of approximately 17. When figures 3.1 and 1.2 are compared, it can be seen that not all geometric sizes of the setup correspond to the sizes of the halobject, but this will be compensated during data acquisition. 14

15 Figure 3.1: Schematic overview of the geometry of the experimental set-up Figure 3.2: Picture of the experimental set-up 15

16 Chapter 4 Application of the VFH method In chapter 2 it is decided to use the concept of the certainty grid and polar histogram from the VFH method for the object avoidance of the halobject. In this chapter the implementation of the polar histogram and the total object avoidance is explained. 4.1 Grid As stated in chapter 2, the VFH method uses a grid to store measurements of the ultrasonic sensors. In the certainty grid implementation on the halobject it is chosen to let the total grid travel, like the active window, with the halobject and not to use a separate stationary grid but to introduce a local coordinate system. However, as the halobject moves slowly, the certainty values in the grid are not compensated for the movement of the halobject. Furthermore it is decided to use a circulair grid in the object avoidance for the halobject because it optimally covers the area that is being scanned by the ultrasonic sensors. Moreover, by using a circular grid it is not necessary anymore to calculate which cell is in a specific sector because the columns of cells coincide with sectors. The circular grid is depicted in figure 4.1 and it can be observed that the grid has a smaller radius at the sides as a result of the smaller range of the side sensors. The maximum and minimum angles of the grid with respect to the longitudinal axis are calculated with the maximum angle of rotation of the halobject increased with the viewing angle of the side sensor. This comes down to a minimum and maximum angle of and 44.45, the outer dotted lines in figure 4.1. The origin of the circular grid is positioned at the point where the outer dotted lines coincide and the origin of the grid is thus not positioned at the rotational center of the halobject, but is positioned 0.27 m to the front. Using the dimensions in figures 1.2 and 4.1, and equations 4.1 to 4.8 the position of an object with respect to the center of the polar grid (of figure 4.1) can be calculated from the distance d si measured by the ultrasonic sensors and the angle ϕ of the cover of the halobject. To obtain the distance of an object to the cover of the halobject, the distance of the origin of the grid to the cover of the halobject is subtracted from r i, the distance of an object to the origin of the grid. The distance of the center of the grid to the cover is not constant because of the difference in position of the origin of the grid and the center of rotation of the halobject combined with the swinging movement. As the variation is small, the distance between the cover and center of the grid is taken constant. The safety of the halobject is guaranteed because the real distance is always a fraction larger when taking the maximum distance of the front sensor to the origin of the grid as the distance between the cover and the center of grid. The mentioned maximum distance is reached when the cover is pointed straight 16

17 forward, coming down to a distance of = 0.54 m x 1 = sinϕ sin(ϕ 27.45) ( d s1 ) (4.1) y 1 = cosϕ cos(ϕ 27.45) ( d s1 ) 0.27 (4.2) x 2 = sinϕ (d s ) (4.3) y 2 = cosϕ (d s ) 0.27 (4.4) x 3 = sinϕ sin(ϕ ) ( d s3 ) (4.5) y 3 = cosϕ cos(ϕ ) ( d s3 ) 0.27 (4.6) r i = x i 2 + y i (4.7) ϑ i = tan 1 (x i /y i ) d si = distance to an object measured by ultrasonic sensor i ϕ = angle of the cover of the halobject w.r to the course direction x i, y i = horizontal and vertical position of the object to the origin of the grid r i = distance of the object, measured by sensor i, w.r. to the origin of the grid ϑ i = angle of the object, measured by sensor i, w.r. to the origin of the grid Resolution of the grid (4.8) The angular resolution of the grid is dependent on the width of the detection zone of the ultrasonic sensor for the smallest detectable object at the maximum measurable distance. This is achieved when the angular resolution of the grid is such that the width of the cells is half the width of the cone at the maximum measurable distance, so that an object at the border of the cell will be detected in the complete cell and that all measurements in the sector consist of measurements of the object. From figure 1.1 it can be read that the total detection zone at 3 m is approximately 0.4 m wide for a tube of 27 mm. It is assumed that the objects in the entrance hall are larger than 27 mm in diameter and we calculate an angle of 4.7 for half a detection zone of 0.2 m. If the complete angular range of = is divided by 20 sectors the angular resolution becomes approximately 4.44, which meets the requirement. The radial resolution is determined more arbitrarily. The maximum radial distance is limited by the range of the front middle sensor and the minimum distance is limited by the blind zone of the side sensors that starts at 0.3 m. The object avoidance is considered accurate enough if it can store the distance of objects with an accuracy of approximately 0.25 m. If the maximum viewable range of the ultrasonic sensors is divided by 20, the resolution becomes 0.28 m which satisfies the condition. 17

18 Angle θ Sector k Highest cell number Lowest cell number y x 0.27 m Grid origin Center of rotation of the halobject Outer positions of the swinging movement of the halobject Figure 4.1: Grid used to store certainty values for the halobject. For the back sensor a grid is used that has its origin at the center of the halobject. This can be done because the back sensor is positioned on a line straight through the center of the halobject. No conversions have to be made for a change of origin and the distance between the cover and the center of rotation is constant. 18

19 4.2 From certainty grid to polar histogram The values from the certainty grid are used for the composition of the polar histogram and to overcome the problems of using the VFH method in the halobject, described in chapter 2, adjustments are made in the way the polar histogram is calculated. First, it is decided to change equation 2.1 to equation 4.9, where n s is the number of measurements that are performed in a sector. m i,j = (c i,j )(a bd i,j )/n s (4.9) By using equation 4.9, the values in the polar histogram are not longer dependent on the number of measurements in a direction/sector and can be compared more easily. The quadratic term is dropped and recurring readings are not extra rewarded anymore, which is not regarded as a problem because the sample frequency is high enough to compensate for false readings. The polar histogram has come down to the reverse proportional to the average distance measured in a sector, provided that a and b are chosen correctly. Whereas in the original implementation of the VFH method the sensors perform readings at the same time in all directions, the halobject is only able to measure the distances to objects in all directions during the scanning movement. As a result the measurements do not start in all directions at the same time and the certainty values can therefore not be reset at the same time. To overcome this, it is decided to delete all values in the certainty cells in a sector when a sensor starts distance measurements in a sector, guaranteeing that all certainty values in the certainty grid are from the last scan. However, because not all sectors are scanned in every walking pace it has to be kept up which sectors are scanned during a scan and if a sector is not scanned again the certainty values still have to be deleted so that they cannot influence the polar histogram anymore. To be able to use the polar histogram also in case the halobject is standing still, another modification is done. When the halobject is standing still, the sensors are measuring in only one sector and as a result the certainty values are not reset every once in a while, which causes the number of readings in the sector to get very high. New readings can hardly influence the average distance on which the polar histogram is based and so objects that are coming closer to the halobject are not detected on time. To prevent the described situation if the halobject is standing still for a certain periode of time, all values in the certainty grid are deleted. Furthermore the values are deleted continually when a certain amount of measurements is reached in the sectors. Deleting, or resetting, the certainty values means in the interpretation of polar histogram that no objects are present that have to be avoided, however there is no reason to assume that no objects are present. To prevent the halobject to be momentary blind after deleting all the certainty values, the certainty grid is refilled at the average distance of the polar histogram before deletion with the equivalent of 20 measurements. In practice, by doing this, it is prevented that the halobject directly starts walking after a stop when the certainty values are reset, and then only halts again when the values in the certainty grid have been restored Steering direction Originally the steering direction is selected from the valleys in the polar histogram that are below a certain threshold and are close to the desired direction of travel. The halobject, however, has no real goal to travel to (as the halobject is always doing random walk). Furthermore the halobject is in a more dynamic environment than the vehicles, using the VFH and VFF method, tested in the articles [4] and [5], and so it is doubted whether it is useful to carefully select a steering 19

20 direction whereas the situation can change dramatically in a short periode of time. Moreover the halobject walks very slowly so it should take considerable time to walk to the specified location and the halobject is not able to make sharp turns so not every desired location in its range of view can be reached. It is assumed that the halobject has not to be able to travel between objects for safety reasons because it has no sensors at the sides. The only objects that the halobject will walk in between in practice are dynamic objects, like people, because the entrance hall itself contains only walls and columns shielded by the radio fence system. For the above reasons it is decided not to analyse the polar histogram in the way as described in chapter 2 but to develop a more pragmatic method. This method basically only enforces a travel direction when an object has to be avoided and objects are only avoided by passing them left or right. Because the halobject has limited sight and cannot see whether or not an object has been passed it is decided to use timers to enforce a travel direction for a certain periode of time. In case a travel direction is blocked, the halobject is walking backward, if possible. The time the halobject is allowed to walk backward is limited because the backward view of the halobject is limited. The timers that are used to keep up the time that an evasive action is enforced and the time that the halobject is allowed to walk backward, are called respectively Timerobj and Timerwalkback in the implementation of the object avoidance. The new method implies that the polar histogram is not scanned for valleys but for regions where the values are above a certain threshold. To be able to easily create rules on basis of which it is decided to steer into a certain direction, the area in front of the halobject is divided in 5 regions and using well defined thresholds it is decided whether the region is occupied by an object. On the basis of the occupation of one or more regions a choice is made for a certain action for a certain periode of time. The used regions are depicted in figure 4.2. The area behind the halobject is divided in only one region, region 6. The actions that are defined are subjected to rules to guarantee a certain stability and effectiveness of the algorithm. First it is decided to never change the steering direction during an evasive action to prevent the halobject to make a choice for a certain direction and then changes the direction when someone walks by. Even when the halobject starts walking backward, the steering direction is maintained. Furthermore, in case the halobject has to walk backward, the time that the halobject is walking backward is added to the total time defined for the evasive action, considering walking backward as an additional iteration step in avoiding an object. 20

21 Figure 4.2: Regions used for the determination of the travel direction Parameter values The object avoidance is dependent on a number of parameters. Here it is described how the values of the parameters are chosen. First the polar histogram is dependent on the parameters a and b. An obvious choice for the parameters is a=6 and b=1 because the maximum view of the middle sensor is 6 m. The values of the polar histogram vary between 0 and 6 for objects that are at a distance between 6 and 0 m from the halobject using a=6 and b=1. The regions used for the determination of the travel direction are defined more or less arbitrarily. It is decided to let region 1 and 2 have an inner and outer radius of approximately 0.3 m and 0.5 m. Region 1 contains sector 1 until sector 10 and region 2 contains sector 11 until 20. Regions 3, 4 and 5 have an inner radius of approximately 0.5 m and a outer radius of approximately 3 m. Region 3 exists of sector 1 until 7, region 4 of sector 8 until 13 and region 5 of sector 14 until 20. The outer radius of regions 3, 4 and 5 is chosen to be 3 m for several reasons. The first reason is that it is considered not to be useful to have a view of more than 3 m because the halobject moves not very fast so it is not necessary to look ahead and moreover the far view of 6 m of the middle sensor is limited to only a small angle. The second reason is that the maximum range of the two outer front sensors is only 3 m and in case there is no object in front of the sensor it indicates the maximum measurable 21

22 distance of 3 m. As these readings are not filtered out, a trigger for objects between approximately 2.9 m and 3.1 m always indicates that an object is present and so for setting the thresholds for the regions 3, 4 and 5 this also has to be considered. Furthermore it has to be taken into account that the measurements are arranged into the cells and that for the calculation of the polar histogram values the center of the cells is taken. Region 6 is defined to be the viewable area behind the halobject between 0.3 m and 0.5 m of the sensor. The timers used to fixate the steering direction are set to arbitrary values as it is not known yet what the optimal values are. The optimal values have to be tuned during extensive testing on the halobject. 4.3 Radio fence As stated before, the radio fence is implemented to avoid that the halobject walks out of the entrance hall or collides with one of the pillars in the entrance hall. It can only detect if a certain line is crossed and to be able to take counter measures when the line is crossed, it has to be recorded in which direction the halobject was walking. The output walking direction of the object avoidance algorithm cannot be used for this because it is in some situations not certain whether the halobject is walking the direction that is advised by the object avoidance or walking in a direction that is advised by the character. So, to be able to use the radio fence, the actual walking direction of the halobject has to be known by the object avoidance. In case the radio fence is activated, the halobject has to walk back in the opposite direction in a straight line. It is essential that the halobject walks away from the radio fence in a straight line because in case the angle between the wire of the radio fence system and the walking direction of the halobject is very small, walking with a steering direction unequal to zero could lead to walking further into the danger zone. Walking straight forward or straight backward may in many cases not be the fastest way to get away from the radio fence, but it is theoretical the safest. As soon as the radio fence is turned off, it is considered to be safe to turn corners again. To be able to command the halobject to walk straight backward or forward, changes should be made to the way the walking direction is calculated and effected by the motion controllers. In the configuration of the character defined by Klaas van de Molen [2] it is only possible to overrule the random walk by adding an angle that is higher than the maximum steering angle which allows the object avoidance only to enforce to turn a corner. In the implementation of the object avoidance, in case the radio fence is activated during walking forward, it is simulated in the object avoidance that in the region in front of the halobject an object is present to let the halobject walk backward. In this way no separate command is necessary to change the direction of walking when the radio fence is activated. In the current implementation of the radio fence, its full functionality is not used whereas the radio fence has two warning stages. The first stage is activated when the radio fence system is in the vicinity of the electric wire and the second stage is activated when the radio fence system is on the electrical wire. It is assumed that the second stage only should be used by a security system outside the object avoidance for activating an emergency stop avoiding the halobject to collide with walls. Using the second stage also in the object avoidance to take evasive actions again, is regarded as giving the object avoidance a second chance to choose a travel direction after the first chance failed without guarantee that the second chance will be successful. 22

23 4.4 Implementation The object avoidance is programmed in C, compiled and implemented in the halobject as an S- function in Simulink. The resulting Simulink file, containing the object avoidance and the other parts of the software of the halobject like the motion controllers and character, is built using the real time workshop in Matlab and the resulting executable is run on the built in computer in the halobject. The complete C-file is printed in appendix B Inputs and outputs The inputs of the object avoidance are the distances measured by the four ultrasonic sensors, the angles of the two bodies to which the legs are attached with respect to the middle body of the halobject measured by the encoders and the actual walking direction given by the character. The distances to objects are measured in meters. The two angles of the bodies are used to monitor the direction the halobject is looking in. The magnitudes of these angles are, in case the halobject is walking straight ahead, equal to each other and have a sinusoidal character. However, when the halobject is turning a corner the angels are not equal anymore because the legs at the inside bend take smaller steps than the legs in the outside bend. The cover of the halobject follows the movement of the legs at the inside bend so in the object avoidance algorithm the smallest angle of the two is selected. The actual walking direction is used by the radio fence software. The output of the object avoidance algorithm is the calculated travel direction, indicated by two variables. The first variable indicates the walking direction and is set -1, 0 or 1 for respectively walking backward, standing still and walking forward. The second variable tells whether the halobject has to turn left or right by setting the output number to respectively -20 or 20. This value is added to the output of the random walk module which varies between -10 and 10 for maximum left and maximum right. By adding the output of the object avoidance algorithm the output of the random walk module is always overruled when the object avoidance algorithm indicates that the halobject has to turn left or right. However, in case no objects have to be avoided the second output is zero and the random walk module determines the direction of travel of the halobject Sample frequency The sample frequency of the object avoidance is taken equal to the sample frequency of the PC104 system of the halobject, 1000 Hz. Considering the maximum speed of the halobject of approximately 0.12 m/s, this means that between two samples the halobject moves m. It is very obvious that it is irrelevant that the object avoidance is able to detect such small movements. Moreover the halobject is not able to position that accurate and so it can be concluded that this high sample frequency is not necessary for this purpose. However, an advantage of a higher sample frequency is, up to a certain level, that the high number of sensor readings can account for erroneous readings of the sensors and enhances the accuracy of the reading. It can be concluded that it is not useful to sample at such a high rate, but if it is permitted by the processor capacity of the PC104 of the halobject, there will be no reason to lower the sample rate. Lowering the sample frequency will only be effective for reducing the processor load if the calculations in the object avoidance algorithm are spread out across several processor cycles because the calculation time of the system will remain s. 23

24 Chapter 5 Results It was not possible to test the object avoidance on the halobject as the construction of the halobject was not completely finished at the moment this report is written. However, the separate parts of the object avoidance are tested using the experimental setup and Simulink. In this chapter first the results of some basic tests on the experimental setup are shown and the chapter is closed by a simulation in Simulink. Because the algorithm is not tested on the halobject, no final result can be given from which it can be concluded that the object avoidance will, or will not, work on the halobject. 5.1 Polar histogram Before testing the total object avoidance algorithm, first one of the ultrasonic sensors itself is tested. In figure 5.1 the output data of the front middle sensor of the experimental setup are depicted in case an object is placed at approximately 1.5 m from the sensor. The signal is not smooth and fluctuates approximately 0.01 m, however, it is assumed that the signal is suitable for direct use in the object avoidance algorithm. The fluctuant behavior of the output signal of the ultrasonic sensor is also present in the sensors in the halobject and is thus not caused by imperfections in the data acquisition setup. 24

25 Distance [m] Time [s] Figure 5.1: Distance measurement of sensor 2 when an object is placed at a constant distance of approximately 1.5 m in front of the sensor Using the experimental setup, a scan of a random environment is made. During the scan the arm of the setup is moved from one outer position to the other, and back. Figure 5.2 shows the sectors that are being scanned during that scan. All sectors are scanned and there is one sector of overlap in the scan Sensor 1 Sensor 2 Sensor 3 Sector [ ] Time [s] Figure 5.2: Scanned sectors by the sensors of the experimental setup during a scan Next, some scans are made to verify that the polar histogram is calculated correctly from the measurement date. First the experimental setup is positioned perpendicular in front of a wall at a distance of 3 m and at a distance of 1.5 m a tube, with a diameter of 60 mm, is placed to function as an object (that is blocking the way of the halobject). Again a scan of the environment is made 25

26 and the polar histogram, calculated by the object avoidance, is saved to a.mat file. In figure 5.3 the polar histogram is depicted, which satisfies the expectancy for the created situation, the high values in the center around sector 10 are distinctly caused by the object and the values at the side sectors are caused by the limited measurement distance of the two side sensors. 6 5 Polar histogram value [1/m] Sector[ ] Figure 5.3: Polar histogram when the experimental setup is placed perpendicular to a wall at a distance of 3 m and an object placed in front of the experimental setup at a distance of 1.5 m In the next case the experimental setup is placed in front of a wall at a distance of 4 m. In figure 5.4 the resulting polar histogram is depicted. At the sides the value is fixed because of the limited range of the side sensors, 3 m. The larger range of the center sensor results in lower values in the middle of the polar histogram. The lower values are not symmetric around the center because the polar histogram values are overwritten by the higher values of sensor 1 during the return motion of the arm of the experimental setup. Furthermore there is a point where the value of the polar histogram is below 1, indicating that the distance to the wall is 5 m. This is caused by the fact that the angle between the sensor and the wall is too big at that point in the scan, so the ultrasonic waves are not reflected properly resulting in a false detected larger distance. In figure 5.5 the measurement data of the middle sensor are depicted. It can be seen that the measured distance jumps three times to the maximum measurable distance of 6 m. Although the measured distance is 6 m, the value of the polar histogram is not equal to zero, which is caused by the fact that not all measurements in sector 14 are equal to 6 m. 26

27 6 5 Polar histogram value [1/m] Sector[ ] Figure 5.4: Polar histogram when the experimental setup is placed perpendicular to a wall at a distance of 4 m Distance [m] Time [s] Figure 5.5: Measured distance by the middle front sensor during a scan perpendicular to a wall at a distance of 4 m In the next test, the distance of 4 m to the wall is maintained and the tube is placed between the wall and the setup at a distance of 2 m from the experimental setup. The polar histogram is depicted in figure 5.6 and it can be seen that the object is detected properly. Because the middle sensor looks past the object and through the fact that the angle between the sensor and the wall is too big, the value of the polar histogram is not determined correctly in sector

CONTROL ALGORITHM OP THE WALKER CLIMBING OVER OBSTACLES. D.E. Okhotsimski, A.K, Platonov U S S R

CONTROL ALGORITHM OP THE WALKER CLIMBING OVER OBSTACLES. D.E. Okhotsimski, A.K, Platonov U S S R Session 11 CONTROL ALGORITHM OP THE WALKER CLIMBING OVER OBSTACLES Robot Implementations D.E. Okhotsimski, A.K, Platonov U S S R Abstract. The paper deals with the problem of development the multilevel

More information

Waypoint Navigation with Position and Heading Control using Complex Vector Fields for an Ackermann Steering Autonomous Vehicle

Waypoint Navigation with Position and Heading Control using Complex Vector Fields for an Ackermann Steering Autonomous Vehicle Waypoint Navigation with Position and Heading Control using Complex Vector Fields for an Ackermann Steering Autonomous Vehicle Tommie J. Liddy and Tien-Fu Lu School of Mechanical Engineering; The University

More information

Sensor Modalities. Sensor modality: Different modalities:

Sensor Modalities. Sensor modality: Different modalities: Sensor Modalities Sensor modality: Sensors which measure same form of energy and process it in similar ways Modality refers to the raw input used by the sensors Different modalities: Sound Pressure Temperature

More information

EV3 Programming Workshop for FLL Coaches

EV3 Programming Workshop for FLL Coaches EV3 Programming Workshop for FLL Coaches Tony Ayad 2017 Outline This workshop is intended for FLL coaches who are interested in learning about Mindstorms EV3 programming language. Programming EV3 Controller

More information

Autonomous Vehicle Navigation Using Stereoscopic Imaging

Autonomous Vehicle Navigation Using Stereoscopic Imaging Autonomous Vehicle Navigation Using Stereoscopic Imaging Project Proposal By: Beach Wlaznik Advisors: Dr. Huggins Dr. Stewart December 7, 2006 I. Introduction The objective of the Autonomous Vehicle Navigation

More information

Obstacle Avoidance Project: Final Report

Obstacle Avoidance Project: Final Report ERTS: Embedded & Real Time System Version: 0.0.1 Date: December 19, 2008 Purpose: A report on P545 project: Obstacle Avoidance. This document serves as report for P545 class project on obstacle avoidance

More information

Robotics Project. Final Report. Computer Science University of Minnesota. December 17, 2007

Robotics Project. Final Report. Computer Science University of Minnesota. December 17, 2007 Robotics Project Final Report Computer Science 5551 University of Minnesota December 17, 2007 Peter Bailey, Matt Beckler, Thomas Bishop, and John Saxton Abstract: A solution of the parallel-parking problem

More information

BCC Particle System Generator

BCC Particle System Generator BCC Particle System Generator BCC Particle System is an auto-animated particle generator that provides in-depth control over individual particles as well as the overall shape and movement of the system.

More information

Obstacle Avoidance (Local Path Planning)

Obstacle Avoidance (Local Path Planning) 6.2.2 Obstacle Avoidance (Local Path Planning) The goal of the obstacle avoidance algorithms is to avoid collisions with obstacles It is usually based on local map Often implemented as a more or less independent

More information

Three-Dimensional Laser Scanner. Field Evaluation Specifications

Three-Dimensional Laser Scanner. Field Evaluation Specifications Stanford University June 27, 2004 Stanford Linear Accelerator Center P.O. Box 20450 Stanford, California 94309, USA Three-Dimensional Laser Scanner Field Evaluation Specifications Metrology Department

More information

Obstacle Avoidance (Local Path Planning)

Obstacle Avoidance (Local Path Planning) Obstacle Avoidance (Local Path Planning) The goal of the obstacle avoidance algorithms is to avoid collisions with obstacles It is usually based on local map Often implemented as a more or less independent

More information

CS4758: Rovio Augmented Vision Mapping Project

CS4758: Rovio Augmented Vision Mapping Project CS4758: Rovio Augmented Vision Mapping Project Sam Fladung, James Mwaura Abstract The goal of this project is to use the Rovio to create a 2D map of its environment using a camera and a fixed laser pointer

More information

Selective Space Structures Manual

Selective Space Structures Manual Selective Space Structures Manual February 2017 CONTENTS 1 Contents 1 Overview and Concept 4 1.1 General Concept........................... 4 1.2 Modules................................ 6 2 The 3S Generator

More information

25-1 Interference from Two Sources

25-1 Interference from Two Sources 25-1 Interference from Two Sources In this chapter, our focus will be on the wave behavior of light, and on how two or more light waves interfere. However, the same concepts apply to sound waves, and other

More information

Exam in DD2426 Robotics and Autonomous Systems

Exam in DD2426 Robotics and Autonomous Systems Exam in DD2426 Robotics and Autonomous Systems Lecturer: Patric Jensfelt KTH, March 16, 2010, 9-12 No aids are allowed on the exam, i.e. no notes, no books, no calculators, etc. You need a minimum of 20

More information

Autonomous Mobile Robots, Chapter 6 Planning and Navigation Where am I going? How do I get there? Localization. Cognition. Real World Environment

Autonomous Mobile Robots, Chapter 6 Planning and Navigation Where am I going? How do I get there? Localization. Cognition. Real World Environment Planning and Navigation Where am I going? How do I get there?? Localization "Position" Global Map Cognition Environment Model Local Map Perception Real World Environment Path Motion Control Competencies

More information

Collision avoidance with Vector Field Histogram+ and Nearness Diagram algorithms implemented on a LEGO Mindstorms NXT robot

Collision avoidance with Vector Field Histogram+ and Nearness Diagram algorithms implemented on a LEGO Mindstorms NXT robot Collision avoidance with Vector Field Histogram+ and Nearness Diagram algorithms implemented on a LEGO Mindstorms NXT robot Per Eriksson Felix Foborg Sofia Lindmark February 9, 2014 Abstract In this project

More information

Opleiding Informatica

Opleiding Informatica Opleiding Informatica Robots with Vectors Taco Smits Supervisors: Todor Stefanov & Erik van der Kouwe BACHELOR THESIS Leiden Institute of Advanced Computer Science (LIACS) www.liacs.leidenuniv.nl 31/05/17

More information

Indoor Mobile Robot Navigation and Obstacle Avoidance Using a 3D Camera and Laser Scanner

Indoor Mobile Robot Navigation and Obstacle Avoidance Using a 3D Camera and Laser Scanner AARMS Vol. 15, No. 1 (2016) 51 59. Indoor Mobile Robot Navigation and Obstacle Avoidance Using a 3D Camera and Laser Scanner Peter KUCSERA 1 Thanks to the developing sensor technology in mobile robot navigation

More information

Kinematics of Machines Prof. A. K. Mallik Department of Mechanical Engineering Indian Institute of Technology, Kanpur. Module 10 Lecture 1

Kinematics of Machines Prof. A. K. Mallik Department of Mechanical Engineering Indian Institute of Technology, Kanpur. Module 10 Lecture 1 Kinematics of Machines Prof. A. K. Mallik Department of Mechanical Engineering Indian Institute of Technology, Kanpur Module 10 Lecture 1 So far, in this course we have discussed planar linkages, which

More information

Autonomous Vehicle Navigation Using Stereoscopic Imaging

Autonomous Vehicle Navigation Using Stereoscopic Imaging Autonomous Vehicle Navigation Using Stereoscopic Imaging Functional Description and Complete System Block Diagram By: Adam Beach Nick Wlaznik Advisors: Dr. Huggins Dr. Stewart December 14, 2006 I. Introduction

More information

Critical Aspects when using Total Stations and Laser Scanners for Geotechnical Monitoring

Critical Aspects when using Total Stations and Laser Scanners for Geotechnical Monitoring Critical Aspects when using Total Stations and Laser Scanners for Geotechnical Monitoring Lienhart, W. Institute of Engineering Geodesy and Measurement Systems, Graz University of Technology, Austria Abstract

More information

Advanced Motion Solutions Using Simple Superposition Technique

Advanced Motion Solutions Using Simple Superposition Technique Advanced Motion Solutions Using Simple Superposition Technique J. Randolph Andrews Douloi Automation 740 Camden Avenue Suite B Campbell, CA 95008-4102 (408) 374-6322 Abstract A U T O M A T I O N Paper

More information

Final Report: Dynamic Dubins-curve based RRT Motion Planning for Differential Constrain Robot

Final Report: Dynamic Dubins-curve based RRT Motion Planning for Differential Constrain Robot Final Report: Dynamic Dubins-curve based RRT Motion Planning for Differential Constrain Robot Abstract This project develops a sample-based motion-planning algorithm for robot with differential constraints.

More information

ON THE ANALYSIS OF OIL SPREADING IN BROKEN ICE

ON THE ANALYSIS OF OIL SPREADING IN BROKEN ICE Ice in the Environment: Proceedings of the 16th IAHR International Symposium on Ice Dunedin, New Zealand, 2nd 6th December 2002 International Association of Hydraulic Engineering and Research ON THE ANALYSIS

More information

Universiteit Leiden Computer Science

Universiteit Leiden Computer Science Universiteit Leiden Computer Science Optimizing octree updates for visibility determination on dynamic scenes Name: Hans Wortel Student-no: 0607940 Date: 28/07/2011 1st supervisor: Dr. Michael Lew 2nd

More information

Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning

Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning Sören Schwertfeger / 师泽仁 ShanghaiTech University ShanghaiTech University - SIST - 10.05.2017

More information

Formations in flow fields

Formations in flow fields Formations in flow fields Rick van Meer June 11, 2015 1 Introduction Pathfinding and formations (i.e. an arrangement of agents) are both a part of artificial intelligence and can be used in games. However,

More information

REINFORCEMENT LEARNING: MDP APPLIED TO AUTONOMOUS NAVIGATION

REINFORCEMENT LEARNING: MDP APPLIED TO AUTONOMOUS NAVIGATION REINFORCEMENT LEARNING: MDP APPLIED TO AUTONOMOUS NAVIGATION ABSTRACT Mark A. Mueller Georgia Institute of Technology, Computer Science, Atlanta, GA USA The problem of autonomous vehicle navigation between

More information

Research on Correction and Optimization of Post-processing Imaging of Structure with Non-planar Interface Using Full Matrix Data of Ultrasonic Array

Research on Correction and Optimization of Post-processing Imaging of Structure with Non-planar Interface Using Full Matrix Data of Ultrasonic Array 19 th World Conference on Non-Destructive Testing 2016 Research on Correction and Optimiation of Post-processing Imaging of Structure with Non-planar Interface Using Full Matrix Data of Ultrasonic Array

More information

Practical Robotics (PRAC)

Practical Robotics (PRAC) Practical Robotics (PRAC) A Mobile Robot Navigation System (1) - Sensor and Kinematic Modelling Nick Pears University of York, Department of Computer Science December 17, 2014 nep (UoY CS) PRAC Practical

More information

Final Exam : Introduction to Robotics. Last Updated: 9 May You will have 1 hour and 15 minutes to complete this exam

Final Exam : Introduction to Robotics. Last Updated: 9 May You will have 1 hour and 15 minutes to complete this exam Final Exam 16-311: Introduction to Robotics Last Updated: 9 May 2017 Name: Andrew ID: Team Number: You will have 1 hour and 15 minutes to complete this exam There are 6 sections on 20 pages. Make sure

More information

Motion Planning. Howie CHoset

Motion Planning. Howie CHoset Motion Planning Howie CHoset What is Motion Planning? What is Motion Planning? Determining where to go Overview The Basics Motion Planning Statement The World and Robot Configuration Space Metrics Algorithms

More information

Motion Planning. Howie CHoset

Motion Planning. Howie CHoset Motion Planning Howie CHoset Questions Where are we? Where do we go? Which is more important? Encoders Encoders Incremental Photodetector Encoder disk LED Photoemitter Encoders - Incremental Encoders -

More information

Calibration of a rotating multi-beam Lidar

Calibration of a rotating multi-beam Lidar The 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems October 18-22, 2010, Taipei, Taiwan Calibration of a rotating multi-beam Lidar Naveed Muhammad 1,2 and Simon Lacroix 1,2 Abstract

More information

Robot Motion Control Matteo Matteucci

Robot Motion Control Matteo Matteucci Robot Motion Control Open loop control A mobile robot is meant to move from one place to another Pre-compute a smooth trajectory based on motion segments (e.g., line and circle segments) from start to

More information

Evaluating the Performance of a Vehicle Pose Measurement System

Evaluating the Performance of a Vehicle Pose Measurement System Evaluating the Performance of a Vehicle Pose Measurement System Harry Scott Sandor Szabo National Institute of Standards and Technology Abstract A method is presented for evaluating the performance of

More information

Fast Local Planner for Autonomous Helicopter

Fast Local Planner for Autonomous Helicopter Fast Local Planner for Autonomous Helicopter Alexander Washburn talexan@seas.upenn.edu Faculty advisor: Maxim Likhachev April 22, 2008 Abstract: One challenge of autonomous flight is creating a system

More information

Engineered Diffusers Intensity vs Irradiance

Engineered Diffusers Intensity vs Irradiance Engineered Diffusers Intensity vs Irradiance Engineered Diffusers are specified by their divergence angle and intensity profile. The divergence angle usually is given as the width of the intensity distribution

More information

By Bonemap Extending Isadora s 3D Particles and 3D Model Particles

By Bonemap Extending Isadora s 3D Particles and 3D Model Particles Extending Isadora s 3D Particles and 3D Model Particles By Bonemap 2018 Page 1 v.1 Extending Isadora s 3D Particles and 3D Model Particles with media instances By Bonemap 2018 One of the more difficult

More information

ROSE-HULMAN INSTITUTE OF TECHNOLOGY

ROSE-HULMAN INSTITUTE OF TECHNOLOGY Introduction to Working Model Welcome to Working Model! What is Working Model? It's an advanced 2-dimensional motion simulation package with sophisticated editing capabilities. It allows you to build and

More information

Escher s Circle Limit Anneke Bart Saint Louis University Introduction

Escher s Circle Limit Anneke Bart Saint Louis University  Introduction Escher s Circle Limit Anneke Bart Saint Louis University http://math.slu.edu/escher/ Introduction What are some of the most fundamental things we do in geometry? In the beginning we mainly look at lines,

More information

DOUBLE-VFH: RELIABLE OBSTACLE AVOIDANCE FOR LARGE, NON-POINT, OMNI-DIRECTIONAL MOBILE ROBOTS

DOUBLE-VFH: RELIABLE OBSTACLE AVOIDANCE FOR LARGE, NON-POINT, OMNI-DIRECTIONAL MOBILE ROBOTS Proceedings of the 1999 ANS Conference on Robotics and Remote Systems, Pittsburgh, PA, April 99 DOUBLE-VFH: RELIABLE OBSTACLE AVOIDANCE FOR LARGE, NON-POINT, OMNI-DIRECTIONAL MOBILE ROBOTS Hong Yang 1,

More information

A Comparison of Robot Navigation Algorithms for an Unknown Goal

A Comparison of Robot Navigation Algorithms for an Unknown Goal A Comparison of Robot Navigation Algorithms for an Unknown Goal Russell Bayuk Steven Ratering (faculty mentor) Computer Science Department University of Wisconsin Eau Claire Eau Claire, WI 54702 {bayukrj,

More information

ULTRASONIC. Proximity Sensors. Series UX micro. Key-Features:

ULTRASONIC. Proximity Sensors. Series UX micro. Key-Features: ULTRASONIC Proximity Sensors Series UX micro Key-Features: Content: Technical Data...2 Detection Beam.4 Technical Drawing.4 Connection & Applications...5 Order Code & Accessories...6 - Very small dimensions

More information

Technical Bulletin Global Vehicle Target Specification Version 1.0 May 2018 TB 025

Technical Bulletin Global Vehicle Target Specification Version 1.0 May 2018 TB 025 Technical Bulletin Global Vehicle Target Specification Version 1.0 May 2018 TB 025 Title Global Vehicle Target Specification Version 1.0 Document Number TB025 Author Euro NCAP Secretariat Date May 2018

More information

Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ x + 5y + 7z 9x + 3y + 11z

Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ x + 5y + 7z 9x + 3y + 11z Basic Linear Algebra Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ 1 5 ] 7 9 3 11 Often matrices are used to describe in a simpler way a series of linear equations.

More information

Sense Autonomous 2_11. All rights reserved.

Sense Autonomous 2_11. All rights reserved. Sense Autonomous Sense Autonomous 2_11 All rights reserved. The material in this book may not be copied, duplicated, printed, translated, re-edited or broadcast without prior agreement in writing. For

More information

Localization, Where am I?

Localization, Where am I? 5.1 Localization, Where am I?? position Position Update (Estimation?) Encoder Prediction of Position (e.g. odometry) YES matched observations Map data base predicted position Matching Odometry, Dead Reckoning

More information

Statistical Techniques in Robotics (16-831, F12) Lecture#05 (Wednesday, September 12) Mapping

Statistical Techniques in Robotics (16-831, F12) Lecture#05 (Wednesday, September 12) Mapping Statistical Techniques in Robotics (16-831, F12) Lecture#05 (Wednesday, September 12) Mapping Lecturer: Alex Styler (in for Drew Bagnell) Scribe: Victor Hwang 1 1 Occupancy Mapping When solving the localization

More information

Lecture 7 Notes: 07 / 11. Reflection and refraction

Lecture 7 Notes: 07 / 11. Reflection and refraction Lecture 7 Notes: 07 / 11 Reflection and refraction When an electromagnetic wave, such as light, encounters the surface of a medium, some of it is reflected off the surface, while some crosses the boundary

More information

COMPARISON OF ROBOT NAVIGATION METHODS USING PERFORMANCE METRICS

COMPARISON OF ROBOT NAVIGATION METHODS USING PERFORMANCE METRICS COMPARISON OF ROBOT NAVIGATION METHODS USING PERFORMANCE METRICS Adriano Flores Dantas, Rodrigo Porfírio da Silva Sacchi, Valguima V. V. A. Odakura Faculdade de Ciências Exatas e Tecnologia (FACET) Universidade

More information

Robotics. Lecture 5: Monte Carlo Localisation. See course website for up to date information.

Robotics. Lecture 5: Monte Carlo Localisation. See course website  for up to date information. Robotics Lecture 5: Monte Carlo Localisation See course website http://www.doc.ic.ac.uk/~ajd/robotics/ for up to date information. Andrew Davison Department of Computing Imperial College London Review:

More information

A Walk Through the MSA Software Spectrum Analyzer Mode 12/12/09

A Walk Through the MSA Software Spectrum Analyzer Mode 12/12/09 A Walk Through the MSA Software Spectrum Analyzer Mode 12/12/09 This document is intended to familiarize you with the basic features of the MSA and its software, operating as a Spectrum Analyzer, without

More information

HIGH PRECISION SURVEY AND ALIGNMENT OF LARGE LINEAR COLLIDERS - HORIZONTAL ALIGNMENT -

HIGH PRECISION SURVEY AND ALIGNMENT OF LARGE LINEAR COLLIDERS - HORIZONTAL ALIGNMENT - HIGH PRECISION SURVEY AND ALIGNMENT OF LARGE LINEAR COLLIDERS - HORIZONTAL ALIGNMENT - A. Herty, J. Albert 1 Deutsches Elektronen-Synchrotron DESY, Hamburg, Germany with international partners * 1. INTRODUCTION

More information

Robot Vision without Calibration

Robot Vision without Calibration XIV Imeko World Congress. Tampere, 6/97 Robot Vision without Calibration Volker Graefe Institute of Measurement Science Universität der Bw München 85577 Neubiberg, Germany Phone: +49 89 6004-3590, -3587;

More information

DEVELOPMENT OF POSITION MEASUREMENT SYSTEM FOR CONSTRUCTION PILE USING LASER RANGE FINDER

DEVELOPMENT OF POSITION MEASUREMENT SYSTEM FOR CONSTRUCTION PILE USING LASER RANGE FINDER S17- DEVELOPMENT OF POSITION MEASUREMENT SYSTEM FOR CONSTRUCTION PILE USING LASER RANGE FINDER Fumihiro Inoue 1 *, Takeshi Sasaki, Xiangqi Huang 3, and Hideki Hashimoto 4 1 Technica Research Institute,

More information

Graphics and Interaction Transformation geometry and homogeneous coordinates

Graphics and Interaction Transformation geometry and homogeneous coordinates 433-324 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation

More information

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation

More information

INTERPRETATION OF CROP CIRCLE PATTERNS

INTERPRETATION OF CROP CIRCLE PATTERNS ERIC INTERPRETATION OF CROP CIRCLE PATTERNS Brian Tunstall Key words: Perfield Abstract Diagrams and images of selected crop circle patterns are interpreted in relation knowledge of design requirements

More information

Ch 22 Inspection Technologies

Ch 22 Inspection Technologies Ch 22 Inspection Technologies Sections: 1. Inspection Metrology 2. Contact vs. Noncontact Inspection Techniques 3. Conventional Measuring and Gaging Techniques 4. Coordinate Measuring Machines 5. Surface

More information

Doyle Spiral Circle Packings Animated

Doyle Spiral Circle Packings Animated Doyle Spiral Circle Packings Animated Alan Sutcliffe 4 Binfield Road Wokingham RG40 1SL, UK E-mail: nsutcliffe@ntlworld.com Abstract Doyle spiral circle packings are described. Two such packings illustrate

More information

Final Exam Practice Fall Semester, 2012

Final Exam Practice Fall Semester, 2012 COS 495 - Autonomous Robot Navigation Final Exam Practice Fall Semester, 2012 Duration: Total Marks: 70 Closed Book 2 hours Start Time: End Time: By signing this exam, I agree to the honor code Name: Signature:

More information

instabus EIB System Actuator

instabus EIB System Actuator Product name: 4-channel blind/shutter actuator with manual control, 230 V Design: Modular rail-mounting device Item no.: 1048 00 ETS search path: shutter / shutter / shutter/blind actuator 4-gang 230V

More information

13. Learning Ballistic Movementsof a Robot Arm 212

13. Learning Ballistic Movementsof a Robot Arm 212 13. Learning Ballistic Movementsof a Robot Arm 212 13. LEARNING BALLISTIC MOVEMENTS OF A ROBOT ARM 13.1 Problem and Model Approach After a sufficiently long training phase, the network described in the

More information

Worksheet Answer Key: Scanning and Mapping Projects > Mine Mapping > Investigation 2

Worksheet Answer Key: Scanning and Mapping Projects > Mine Mapping > Investigation 2 Worksheet Answer Key: Scanning and Mapping Projects > Mine Mapping > Investigation 2 Ruler Graph: Analyze your graph 1. Examine the shape formed by the connected dots. i. Does the connected graph create

More information

12 Feb 19. Images and text courtesy of John Bean, University of Virginia

12 Feb 19. Images and text courtesy of John Bean, University of Virginia Here we take the covers off the atomic force microscope. Inside, there is a circuit board that controls and monitors the probe s movement. The probe, itself, is under the cover at the right. 1 2 The probe

More information

5/27/12. Objectives. Plane Curves and Parametric Equations. Sketch the graph of a curve given by a set of parametric equations.

5/27/12. Objectives. Plane Curves and Parametric Equations. Sketch the graph of a curve given by a set of parametric equations. Objectives Sketch the graph of a curve given by a set of parametric equations. Eliminate the parameter in a set of parametric equations. Find a set of parametric equations to represent a curve. Understand

More information

Chapter 3 Path Optimization

Chapter 3 Path Optimization Chapter 3 Path Optimization Background information on optimization is discussed in this chapter, along with the inequality constraints that are used for the problem. Additionally, the MATLAB program for

More information

Stress Analysis of Cross Groove Type Constant Velocity Joint

Stress Analysis of Cross Groove Type Constant Velocity Joint TECHNICAL REPORT Stress Analysis of Cross Groove Type Constant Velocity Joint H. SAITO T. MAEDA The driveshaft is the part that transmits the vehicle's engine torque and rotation to the tires, and predicting

More information

SUPPORTING LINEAR MOTION: A COMPLETE GUIDE TO IMPLEMENTING DYNAMIC LOAD SUPPORT FOR LINEAR MOTION SYSTEMS

SUPPORTING LINEAR MOTION: A COMPLETE GUIDE TO IMPLEMENTING DYNAMIC LOAD SUPPORT FOR LINEAR MOTION SYSTEMS SUPPORTING LINEAR MOTION: A COMPLETE GUIDE TO IMPLEMENTING DYNAMIC LOAD SUPPORT FOR LINEAR MOTION SYSTEMS Released by: Keith Knight Catalyst Motion Group Engineering Team Members info@catalystmotiongroup.com

More information

PHYSICS. Chapter 33 Lecture FOR SCIENTISTS AND ENGINEERS A STRATEGIC APPROACH 4/E RANDALL D. KNIGHT

PHYSICS. Chapter 33 Lecture FOR SCIENTISTS AND ENGINEERS A STRATEGIC APPROACH 4/E RANDALL D. KNIGHT PHYSICS FOR SCIENTISTS AND ENGINEERS A STRATEGIC APPROACH 4/E Chapter 33 Lecture RANDALL D. KNIGHT Chapter 33 Wave Optics IN THIS CHAPTER, you will learn about and apply the wave model of light. Slide

More information

PHY 222 Lab 11 Interference and Diffraction Patterns Investigating interference and diffraction of light waves

PHY 222 Lab 11 Interference and Diffraction Patterns Investigating interference and diffraction of light waves PHY 222 Lab 11 Interference and Diffraction Patterns Investigating interference and diffraction of light waves Print Your Name Print Your Partners' Names Instructions April 17, 2015 Before lab, read the

More information

Motion Control (wheeled robots)

Motion Control (wheeled robots) Motion Control (wheeled robots) Requirements for Motion Control Kinematic / dynamic model of the robot Model of the interaction between the wheel and the ground Definition of required motion -> speed control,

More information

Sphero Lightning Lab Cheat Sheet

Sphero Lightning Lab Cheat Sheet Actions Tool Description Variables Ranges Roll Combines heading, speed and time variables to make the robot roll. Duration Speed Heading (0 to 999999 seconds) (degrees 0-359) Set Speed Sets the speed of

More information

EDUCATIONAL SPECTROPHOTOMETER ACCESSORY KIT AND EDUCATIONAL SPECTROPHOTOMETER SYSTEM

EDUCATIONAL SPECTROPHOTOMETER ACCESSORY KIT AND EDUCATIONAL SPECTROPHOTOMETER SYSTEM GAIN 0 Instruction Manual and Experiment Guide for the PASCO scientific Model OS-8537 and OS-8539 02-06575A 3/98 EDUCATIONAL SPECTROPHOTOMETER ACCESSORY KIT AND EDUCATIONAL SPECTROPHOTOMETER SYSTEM CI-6604A

More information

COMPACT RANGE CALIBRATION AND ALIGNMENT

COMPACT RANGE CALIBRATION AND ALIGNMENT COMPACT RANGE CALIBRATION AND ALIGNMENT M. Juretzko and E. Richter Geodetic Institute, University of Karlsruhe, 76128 Karlsruhe, Germany juretzko@gik.uni-karlsruhe.de richter@gik.uni-karlsruhe.de M. Paquay

More information

Understanding Tracking and StroMotion of Soccer Ball

Understanding Tracking and StroMotion of Soccer Ball Understanding Tracking and StroMotion of Soccer Ball Nhat H. Nguyen Master Student 205 Witherspoon Hall Charlotte, NC 28223 704 656 2021 rich.uncc@gmail.com ABSTRACT Soccer requires rapid ball movements.

More information

BCC Rays Ripply Filter

BCC Rays Ripply Filter BCC Rays Ripply Filter The BCC Rays Ripply filter combines a light rays effect with a rippled light effect. The resulting light is generated from a selected channel in the source image and spreads from

More information

PHYSICS 116 POLARIZATION AND LIGHT MEASUREMENTS

PHYSICS 116 POLARIZATION AND LIGHT MEASUREMENTS Name Date Lab Time Lab TA PHYSICS 116 POLARIZATION AND LIGHT MEASUREMENTS I. POLARIZATION Natural unpolarized light is made up of waves vibrating in all directions. When a beam of unpolarized light is

More information

Real-time Obstacle Avoidance for Fast Mobile Robots in Cluttered Environments

Real-time Obstacle Avoidance for Fast Mobile Robots in Cluttered Environments Real-time Obstacle Avoidance for Fast Mobile Robots in Cluttered Environments J. Borenstein and Y.Koren The University of Michigan, Ann Arbor Advanced Technology Laboratories 1101 Bed Ave., Ann Arbor,

More information

UNIVERSITI MALAYSIA SARAWAK FACULTY OF ENGINEERING CIVIL ENGINEERING DEPARTMENT

UNIVERSITI MALAYSIA SARAWAK FACULTY OF ENGINEERING CIVIL ENGINEERING DEPARTMENT UNIVERSITI MALAYSIA SARAWAK FACULTY OF ENGINEERING CIVIL ENGINEERING DEPARTMENT KNS 1461 CIVIL ENGINEERING LABORATORY 2 LABORATORY MANUAL (Edited : December 2008) CIVIL ENGINEERING LABORATORY 2 KNS 1461

More information

Rutherford Atomic Model: Hidden Obstacles Student Advanced Version

Rutherford Atomic Model: Hidden Obstacles Student Advanced Version Rutherford Atomic Model: Hidden Obstacles Student Advanced Version This lab demonstrates the techniques that scientists used over a century ago to determine the basic structure of the atom. By rolling

More information

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano   tel: Marcello Restelli Dipartimento di Elettronica e Informazione Politecnico di Milano email: restelli@elet.polimi.it tel: 02 2399 3470 Path Planning Robotica for Computer Engineering students A.A. 2006/2007

More information

Lesson 1: Introduction to Pro/MECHANICA Motion

Lesson 1: Introduction to Pro/MECHANICA Motion Lesson 1: Introduction to Pro/MECHANICA Motion 1.1 Overview of the Lesson The purpose of this lesson is to provide you with a brief overview of Pro/MECHANICA Motion, also called Motion in this book. Motion

More information

Experiments with Edge Detection using One-dimensional Surface Fitting

Experiments with Edge Detection using One-dimensional Surface Fitting Experiments with Edge Detection using One-dimensional Surface Fitting Gabor Terei, Jorge Luis Nunes e Silva Brito The Ohio State University, Department of Geodetic Science and Surveying 1958 Neil Avenue,

More information

DSRC Field Trials Whitepaper

DSRC Field Trials Whitepaper DSRC Field Trials Whitepaper August 19, 2017 www.cohdawireless.com 1 Overview Cohda has performed more than 300 Dedicated Short Range Communications (DSRC) field trials, comparing DSRC radios from multiple

More information

Localization and Map Building

Localization and Map Building Localization and Map Building Noise and aliasing; odometric position estimation To localize or not to localize Belief representation Map representation Probabilistic map-based localization Other examples

More information

Adaptive Cruise Control

Adaptive Cruise Control Teacher Notes & Answers 7 8 9 10 11 12 TI-Nspire Investigation Student 50 min Introduction Basic cruise control is where the car s computer automatically adjusts the throttle so that the car maintains

More information

Homework Set 3 Due Thursday, 07/14

Homework Set 3 Due Thursday, 07/14 Homework Set 3 Due Thursday, 07/14 Problem 1 A room contains two parallel wall mirrors, on opposite walls 5 meters apart. The mirrors are 8 meters long. Suppose that one person stands in a doorway, in

More information

Remote Control Electrical Roller Blinds

Remote Control Electrical Roller Blinds Remote Control Electrical Roller Blinds Instruction Manual for Model HT200 Contents 1. Description of Remote Control Electrical Roller Blind General Information Technical Data 2. Parts List Model HT200

More information

Project 1 : Dead Reckoning and Tracking

Project 1 : Dead Reckoning and Tracking CS3630 Spring 2012 Project 1 : Dead Reckoning and Tracking Group : Wayward Sons Sameer Ansari, David Bernal, Tommy Kazenstein 2/8/2012 Wayward Sons CS3630 Spring 12 Project 1 Page 2 of 12 CS 3630 (Spring

More information

OBJECT detection in general has many applications

OBJECT detection in general has many applications 1 Implementing Rectangle Detection using Windowed Hough Transform Akhil Singh, Music Engineering, University of Miami Abstract This paper implements Jung and Schramm s method to use Hough Transform for

More information

Development of 3D Positioning Scheme by Integration of Multiple Wiimote IR Cameras

Development of 3D Positioning Scheme by Integration of Multiple Wiimote IR Cameras Proceedings of the 5th IIAE International Conference on Industrial Application Engineering 2017 Development of 3D Positioning Scheme by Integration of Multiple Wiimote IR Cameras Hui-Yuan Chan *, Ting-Hao

More information

Rutherford Atomic Model: Hidden Obstacles Teacher Version

Rutherford Atomic Model: Hidden Obstacles Teacher Version Rutherford Atomic Model: Hidden Obstacles Teacher Version This lab demonstrates the techniques that scientists used over a century ago to determine the basic structure of the atom. By rolling marbles past

More information

Identification of Shielding Material Configurations Using NMIS Imaging

Identification of Shielding Material Configurations Using NMIS Imaging Identification of Shielding Material Configurations Using NMIS Imaging B. R. Grogan, J. T. Mihalczo, S. M. McConchie, and J. A. Mullens Oak Ridge National Laboratory, P.O. Box 2008, MS-6010, Oak Ridge,

More information

Reliable Line Tracking

Reliable Line Tracking Reliable Line Tracking William Dubel January 5, 2004 Introduction: A common task for a robot is to follow a predetermined path. One popular way to mark a path is with a high contrast line, such as black

More information

THE preceding chapters were all devoted to the analysis of images and signals which

THE preceding chapters were all devoted to the analysis of images and signals which Chapter 5 Segmentation of Color, Texture, and Orientation Images THE preceding chapters were all devoted to the analysis of images and signals which take values in IR. It is often necessary, however, to

More information

ME 3200 Mechatronics Laboratory FALL 2002 Lab Exercise 7: Ultrasonic Sensors

ME 3200 Mechatronics Laboratory FALL 2002 Lab Exercise 7: Ultrasonic Sensors ME 3200 Mechatronics Laboratory FALL 2002 Lab Exercise 7: Ultrasonic Sensors The objective of this lab is to provide you with the experience of using an ultrasonic sensor. Ultrasonic sensors, or sonar

More information

Aston Hall s A-Z of mathematical terms

Aston Hall s A-Z of mathematical terms Aston Hall s A-Z of mathematical terms The following guide is a glossary of mathematical terms, covering the concepts children are taught in FS2, KS1 and KS2. This may be useful to clear up any homework

More information