diff --git a/launch/fake_laserscanner_bringup.launch b/launch/fake_laserscanner_bringup.launch
new file mode 100644
index 0000000..33f13c3
--- /dev/null
+++ b/launch/fake_laserscanner_bringup.launch
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/scripts/fake_laserscanner.py b/scripts/fake_laserscanner.py
new file mode 100755
index 0000000..cd5f162
--- /dev/null
+++ b/scripts/fake_laserscanner.py
@@ -0,0 +1,136 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+from __future__ import print_function
+import roslib
+import rospy
+import rostopic
+
+import argparse
+import importlib
+import sys
+
+from sensor_msgs.msg import LaserScan
+from std_srvs.srv import SetBool, SetBoolResponse
+from std_msgs.msg import String
+from threading import Lock
+
+"""
+@author: enriquefernandez
+Original file: https://github.com/ros/ros_comm/blob/noetic-devel/tools/topic_tools/scripts/transform
+CHANGES:
+ - added Lock to original TopicOp class
+ - added a service to change transform function at run-time
+"""
+
+
+class TopicOp:
+
+ def __init__(self):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.RawTextHelpFormatter,
+ description='Apply a Python operation to a topic.\n\n'
+ 'A node is created that subscribes to a topic,\n'
+ 'applies a Python expression to the topic (or topic\n'
+ 'field) message \'m\', and publishes the result\n'
+ 'through another topic.\n\n'
+ 'Usage:\n\trosrun topic_tools transform '
+ '