From c43f2195f34c8a00bb3214cbe77799210da1e588 Mon Sep 17 00:00:00 2001 From: Jonas Dech Date: Thu, 14 Nov 2024 21:26:42 +0100 Subject: [PATCH 1/3] [doc] Added doc about costmaps --- doc/images/gaussian_costmap.png | Bin 0 -> 12987 bytes doc/images/occupancy_costmap.png | Bin 0 -> 88791 bytes doc/images/visibility_costmap.png | Bin 0 -> 50751 bytes doc/source/_toc.yml | 1 + doc/source/costmap.rst | 228 ++++++++++++++++++++++++++++++ src/pycram/costmaps.py | 2 + 6 files changed, 231 insertions(+) create mode 100644 doc/images/gaussian_costmap.png create mode 100644 doc/images/occupancy_costmap.png create mode 100644 doc/images/visibility_costmap.png create mode 100644 doc/source/costmap.rst diff --git a/doc/images/gaussian_costmap.png b/doc/images/gaussian_costmap.png new file mode 100644 index 0000000000000000000000000000000000000000..c81d3f388979e161abbbfd3521dd42e02880ddb4 GIT binary patch literal 12987 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 M3TpDHXK&p9KV4~BH~;_u literal 0 HcmV?d00001 diff --git a/doc/images/occupancy_costmap.png b/doc/images/occupancy_costmap.png new file mode 100644 index 0000000000000000000000000000000000000000..056643d3d6d4831b2750144b9ed7f55faafbd0c7 GIT binary patch literal 88791 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
D_n=TK-mB) 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

6@6P90!H2pFTP6 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 literal 0 HcmV?d00001 diff --git a/doc/images/visibility_costmap.png b/doc/images/visibility_costmap.png new file mode 100644 index 0000000000000000000000000000000000000000..617e4181648f7e21bf0f2e74bf3332315881d4cc GIT binary patch literal 50751 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 z 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 E5C5PZ`~Uy| literal 0 HcmV?d00001 diff --git a/doc/source/_toc.yml b/doc/source/_toc.yml index 39a4fc485..3aebc861b 100644 --- a/doc/source/_toc.yml +++ b/doc/source/_toc.yml @@ -14,6 +14,7 @@ parts: - file: new_robot.rst - file: notebooks.rst - file: designators.rst + - file: costmap.rst - caption: Trouble Shooting chapters: diff --git a/doc/source/costmap.rst b/doc/source/costmap.rst new file mode 100644 index 000000000..e992c94f6 --- /dev/null +++ b/doc/source/costmap.rst @@ -0,0 +1,228 @@ +======== +Costmaps +======== + +Costmaps are way to describe positions in a defined area around a pose with respect to certain constrains. For example, +there is a costmap which contains every position from which a certain object is visible. + +In PyCRAM these costmaps are used to dynamically generate poses for certain criteria like visibility, reachability +or occupancy. So if you, for example, want to find a position from where the robot can see a certain object you would +generate a costmap for the visibility and one for occupancy. These costmaps can then be merged with one another and +result in a costmap which contains every position from which the object is visible and where the robot can stand. + +Currently there are four types of costmaps implemented: + + * Occupancy Costmap + * visibility Costmap + * Gaussian Costmap + * Semantic Costmap + + +----------------- +Occupancy Costmap +----------------- +Occupancy costmaps represent all positions that don't have any objects positioned above them. Meaning the robot can +stand there without colliding with anything. The occupancy costmap can be generated in two ways, either by using a map +provided by the ROS map_server or by directly generating it from the BulletWorld. Additionally user can specify a value +by which obstacles should be inflated creating a boundary around obstacles to avoid colliding with them. Below you can +see the constructor for the Occupancy Costmap if it is generated from the ROS map_server. + +.. code-block:: python + + from pycram.costmaps import OccupancyCostmap + + occupancy = OccupancyCostmap(0.2, True) + +In this case is it enough to specify the value by which obstacles should be inflated as well as the boolean which says +that this costmap should be generated from the ROS map_server. The value is given in metre meaning 0.2 translates to 20 +centimetre. Since the costmap that generated in this way is rather large and usually encompasses the whole environment +the robot is operating in there is a method that can cut out a smaller map from the whole occupancy map. This is done +to get a local costmap that is centered around the point of interest. This is also necessary since the merging of +costmaps requires that all given costmaps have the same size. + +.. code-block:: python + + from pycram.datastructures.pose import Pose + + local_ocupancy = occupancy._create_sub_map(Pose([1, 0.3, 0]), 200) + + +The parameter given to the method are the new origin around which the local costmap is centered and the size the costmap +should have. + +In the case where the costmap is generated from the BulletWorld the constructor gets more parameter, specifying the +exact dimensions of the costmap. + +.. code-block:: python + + from pycram.costmaps import OccupancyCostmap + from pycram.datastructures.pose import Pose + + occupancy = OccupancyCostmap(distance_to_obstacle=0.2, + from_ros=False, + size=200, + resolution=0.02, + origin=Pose([1, 0.3, 0])) + +The given parameter are: + + * The inflation radius + * The the costmap should not be created from Ros + * The size + * The resolution + * The origin + +The inflation radius was already explained above while the boolean just specifies if the cosmap should be created from +the ROS map_server or the BulletWorld. The size specifies the height and width of the costmap, costmaps are usually +created as a square. The resolution determines how many metre a pixel in the costmap represents in the real world. The +origin is the pose, around which the costmap is centered. + +You can see an image of the final Occupancy costmap with an inflation radius of 0.2 m below. + +.. image:: ../images/occupancy_costmap.png + +------------------ +Visibility Costmap +------------------ + +Visibility costmaps show the visibility for a specific position in a restricted area. This means every position from +which the robot can see the position given as the map origin. + +The visibility costmap is created by taking depth images from the origin +position of the costmap and then checking which positions are occluded by other objects. Essentially, this specifies +how far you can look from the object in all direction. Afterwards, a 2D representation is created from these depth images. + +The constructor for the visibility costmap gets the following parameter + +.. code-block:: python + + from pycram.costmaps import VisibilityCostmap + from pycram.datastructures.pose import Pose + + visibility = VisibilityCostmap(min_height=1.27, + max_height=1.6, + size=200, + resolution=0.02, + origin=Pose([1, 0.3, 0])) + +The parameter for the constructor are: + + * Minimal height of the camera + * Maximal height of the camera + * Size of the costmap + * Resolution of the costmap + * Origin of the costmap + +The minimal and maximal height of the camera specify the height of the camera from the ground. This is in case the +camera can move, either if the torso of the robot moves or the camera itself is movable. Since the movement of the camera +gives the robot more opportunities to see the pose this is taken into account with these parameters. If the camera +on the robot can not change its height, just set both parameter to the height of the camera. + +Size of the costmap is the height and width of the resulting costmap. Resolution is how many metre a pixel in the +costmap represents in the real world. Origin is the position the costmap is centered around as well as the position +for which the visibility is calculated. + +A simple visibility costmap with two objects can be seen below. + +.. image:: ../images/visibility_costmap.png + +---------------- +Gaussian Costmap +---------------- + +A gaussian costmap is essentially a 2D gauss distribution with its peak at the centre of the the costmap. Gaussian +costmaps are, for example, used to approximate reachability of objects. The idea being that to reach an object the +robot has to be relatively close to the object to reach it. + +Since all other objects use just 0 or 1 to represent if an entry in the costmap is valid according to their respective +constraint Gaussian Costmaps add some variance to highlight a certain point. This is especially useful when keeping in +mind that sampling from the costmap is based on the maximum likelihood, meaning the cells with the highest value will be +sampled first. + +.. code-block:: python + + from pycram.costmaps import GaussianCostmap + from pycram.datastructures.pose import Pose + + gauss = GaussianCostmap(mean=200, + sigma=15, + resolution=0.02, + origin=Pose([1, 0.3, 0])) + +The parameter given to the gaussian costmap are: + + * Mean of gaussian distribution + * Sigma of the gaussian distribution + * Resolution of the costmap + * Origin of the costmap + +The mean is the mean value of the gaussian distribution as well as the size of the resulting costmap. Sigma is the +sigma value of the gaussian distribution which is contained in the costmap. Resolution and origin are the same as for +other costmaps. + +A plot of the gaussian costmap can be seen below. This is a matplotlib plot of the costmap to better show the +distribution. + +.. image:: ../images/gaussian_costmap.png + + +---------------- +Semantic Costmap +---------------- + +------------------------- +Visualization of Costmaps +------------------------- + +Costmaps can be visualized in the BulletWorld, for this every costmap contains the method “visualize” which can be +directly called for the costmap. + +.. code-block:: python + + visibility.visualize() + +To make the visualization of a costmap disappear from the BulletWorld you can simply call the “close_visualization” +method for the same costmap. + +.. code-block:: python + + visibility.close_visualization() + +The images for the occupancy and visibility costmap show the visualisation in the BulletWorld with this method. +Debugging Visualization. + +For a more comprehensive visualization of the costmao the is the method “plot_grid” in the costmap.py file. This +creates a matplotlib plot of the 2D numpy array which represents the costmap. The “plot_grid” method can be called as +follows: + +.. code-block:: python + + from pycram.costmaps import VisibilityCostmap + from pycram.datastructures.pose import Pose + + visibility = VisibilityCostmap(1.27, 1.6, 200, 0.02, Pose([1, 0.3, 0])) + plot_grid(visibility.map) + +The image for the gaussian costmap shows the plot of matplotlib. +Merging of Costmaps. + +It is possible to merge different costmaps to create a costmaps that contains positions that adhere to more than one +constraint. For example, if you merge a visibility and occupancy costmap you get a costmap that contains positions +where the robot can stand and see a specific point. + +To be able to merge different costmaps there are a few restrictions that you have to follow. The restrictions are: + + * The costmaps must have the same size + * The costmaps must have the same origin + * The costmaps must have the same resolution + +These restrictions make it much easier to merge costmaps and also reduce the probability of errors occurring in the +resulting costmap. Since all for all costmaps these parameter can be set when creating them, it shouldn't pose a +problem to match these parameter for all created costmaps, making them able to be merged. + +The one exception for this is the occupancy costmap when generated from the ROS map_server, in this case all +parameter are already decided by the map_server. However, for this case there is the “_create_sub_map” method which +creates a local costmap from the bigger occupancy costmap. The only thing that can not be fixed with this is the +resolution of the occupancy map, which stays the same for the local costmap. But then again, since when creating the +other costmaps a resolution can be specified the resolution given for the other costmaps can be adjusted to the one +of the occupancy costmap. diff --git a/src/pycram/costmaps.py b/src/pycram/costmaps.py index 9ce0ecfdf..69abb8f34 100644 --- a/src/pycram/costmaps.py +++ b/src/pycram/costmaps.py @@ -325,6 +325,8 @@ def __init__(self, distance_to_obstacle: float, else: self.size = size self.origin = Pose() if not origin else origin + lt = LocalTransformer() + self.origin = lt.transform_pose(self.origin, "map") self.resolution = resolution self.distance_obstacle = max(int(distance_to_obstacle / self.resolution), 1) self.map = self._create_from_world(size, resolution) From 88e24a6dc7998d4174ca34fde778df0a0d4f4a40 Mon Sep 17 00:00:00 2001 From: Jonas Dech Date: Fri, 15 Nov 2024 09:55:55 +0100 Subject: [PATCH 2/3] [doc] Doc for semantic costmaps --- doc/images/semantic_costmap.png | Bin 0 -> 44661 bytes doc/source/costmap.rst | 43 ++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 doc/images/semantic_costmap.png diff --git a/doc/images/semantic_costmap.png b/doc/images/semantic_costmap.png new file mode 100644 index 0000000000000000000000000000000000000000..c997d42dfaa5009e036700b397ca2e20834eaed5 GIT binary patch literal 44661 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 literal 0 HcmV?d00001 diff --git a/doc/source/costmap.rst b/doc/source/costmap.rst index e992c94f6..6a1a24a3b 100644 --- a/doc/source/costmap.rst +++ b/doc/source/costmap.rst @@ -170,6 +170,49 @@ distribution. Semantic Costmap ---------------- +Semantic costmaps allow to specify a costmap based on a semantic description of the environment. This means that the +costmap is created given an object and a link in the belief state. The costmap is created by taking the bounding box of +the given link and creating a distribution above it. + +The semantic costmap is meant to be used to create poses for symbolic descriptions of the environment. For example, if +the robot should place an object on the table but no specific pose is given, the semantic costmap can be used to create +a costmap that contains all possible positions on the table. A sample of this costmap can then be used to parametrize +the plan. + +A semantic costmap is created by specifying the object and the link in the belief state. Optionally the resolution of +the resulting costmap can also be specified. + +.. code-block:: python + + from pycram.costmaps import GaussianCostmap + + semantic = SemanticCostmap(object=apartment, + link="table_area_main", + resolution=0.02) + +The image below show a semantic costmap created for a table. + +.. image:: ../images/semantic_costmap.png + + +-------------------------- +Algebraic Semantic Costmap +-------------------------- + +A algebraic semantic costmap is a special for of a semantic costmap. It is created using `Random Event `_. +This allows to slice the created costmap to specify the area of interest. For example, the costmap is created above the +whole table but we only want to place an object on the lower right area or the outer perimeter of the table. This can be +done as follows: + +.. code-block:: python + + from pycram.costmaps import GaussianCostmap + + semantic = AlgebraicSemanticCostmap(object=apartment, + link="table_area_main") + semantic = semantic.right & + + ------------------------- Visualization of Costmaps ------------------------- From 6887e2f1d1390307c203e94e39ab725a717ea48c Mon Sep 17 00:00:00 2001 From: Jonas Dech Date: Fri, 15 Nov 2024 10:54:53 +0100 Subject: [PATCH 3/3] [doc] added doc for algebraic semantic costmaps --- doc/images/algebraic_costmap.png | Bin 0 -> 43063 bytes doc/source/costmap.rst | 6 +++++- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 doc/images/algebraic_costmap.png diff --git a/doc/images/algebraic_costmap.png b/doc/images/algebraic_costmap.png new file mode 100644 index 0000000000000000000000000000000000000000..487ba85366c518432c4c1c79a39035dd5beac017 GIT binary patch literal 43063 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

$+0bwrem#!zmf+zf=ql!p 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 literal 0 HcmV?d00001 diff --git a/doc/source/costmap.rst b/doc/source/costmap.rst index 6a1a24a3b..10407b5d4 100644 --- a/doc/source/costmap.rst +++ b/doc/source/costmap.rst @@ -210,8 +210,12 @@ done as follows: semantic = AlgebraicSemanticCostmap(object=apartment, link="table_area_main") - semantic = semantic.right & + semantic.valid_area &= semantic.right() + semantic.valid_area &= semantic.bottom() +The result of this operation can be seen in the image below. + +.. image:: ../images/algebraic_costmap.png ------------------------- Visualization of Costmaps