diff --git a/Makefile b/Makefile
index 8064d597f85edf137bea3a4ef9e85a6d3dd6a580..677534cd8ecb144a311e705483d902bc85da9804 100644
--- a/Makefile
+++ b/Makefile
@@ -85,6 +85,7 @@ SUBDIR+= 	track-target-genom
 SUBDIR+=	trajectory-monitor-genom
 SUBDIR+=	transgen3
 SUBDIR+=	urbi
+SUBDIR+= 	urg
 SUBDIR+=	visp
 SUBDIR+=	visuserv-genom
 SUBDIR+= 	vnet-yarp
diff --git a/urg/DESCR b/urg/DESCR
new file mode 100644
index 0000000000000000000000000000000000000000..be7886b45f9852e225fc663543e9db2d9d7c92b2
--- /dev/null
+++ b/urg/DESCR
@@ -0,0 +1 @@
+Drivers and tools for URG laser scanner
diff --git a/urg/Makefile b/urg/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..230f7383f0a7bd53a8c133531d0eaf8e28a6ff55
--- /dev/null
+++ b/urg/Makefile
@@ -0,0 +1,21 @@
+# robotpkg Makefile for:	hardware/urg
+# Created:			Arnaud Degroote on Mon, 16 Dec 2013
+#
+
+DISTNAME=		urg-${VERSION}
+VERSION=		0.8.18
+CATEGORIES=		hardware
+MASTER_SITES=	http://www.hokuyo-aut.jp/02sensor/07scanner/download/urg_programs_en/
+EXTRACT_SUFX= 	.zip
+
+GNU_CONFIGURE=	yes
+
+MAINTAINER=		arnaud.degroote@sae.fr
+COMMENT=		Drivers for URG laser scanner
+LICENSE=		gnu-lgpl-v3
+
+include ../../pkgtools/pkg-config/depend.mk
+include ../../mk/language/c.mk
+include ../../mk/language/c++.mk
+include ../../mk/sysdep/SDL_net.mk
+include ../../mk/robotpkg.mk
diff --git a/urg/PLIST b/urg/PLIST
new file mode 100644
index 0000000000000000000000000000000000000000..aa4646a92ac2438bcab1d0bea54e42c6e70ab74b
--- /dev/null
+++ b/urg/PLIST
@@ -0,0 +1,69 @@
+@comment Mon Dec 16 09:59:33 CET 2013
+bin/c_urg-config
+bin/urg-config
+include/c_urg/detect_os.h
+include/c_urg/math_utils.h
+include/c_urg/ring_buffer.h
+include/c_urg/serial_ctrl.h
+include/c_urg/serial_t.h
+include/c_urg/serial_t_lin.h
+include/c_urg/serial_t_win.h
+include/c_urg/serial_utils.h
+include/c_urg/urg_ctrl.h
+include/c_urg/urg_delay.h
+include/c_urg/urg_parameter_t.h
+include/c_urg/urg_t.h
+include/c_urg/urg_ticks.h
+include/urg/Angle.h
+include/urg/CaptureSettings.h
+include/urg/ConditionVariable.h
+include/urg/Connection.h
+include/urg/ConnectionUtils.h
+include/urg/Coordinate.h
+include/urg/DetectOS.h
+include/urg/DeviceIpManager.h
+include/urg/DeviceServer.h
+include/urg/FindComPorts.h
+include/urg/IsUsbCom.h
+include/urg/Lock.h
+include/urg/LockGuard.h
+include/urg/LogNameHolder.h
+include/urg/MathUtils.h
+include/urg/MonitorDataHandler.h
+include/urg/MonitorEventScheduler.h
+include/urg/MonitorModeManager.h
+include/urg/Point.h
+include/urg/Position.h
+include/urg/RangeCaptureMode.h
+include/urg/RangeSensor.h
+include/urg/RangeSensorParameter.h
+include/urg/RingBuffer.h
+include/urg/Semaphore.h
+include/urg/SerialDevice.h
+include/urg/TcpipServer.h
+include/urg/TcpipSocket.h
+include/urg/Thread.h
+include/urg/UrgCtrl.h
+include/urg/UrgDevice.h
+include/urg/UrgServer.h
+include/urg/UrgUsbCom.h
+include/urg/UrgUtils.h
+include/urg/delay.h
+include/urg/findUrgPorts.h
+include/urg/isUsingComDriver.h
+include/urg/log_printf.h
+include/urg/mConnection.h
+include/urg/mUrgDevice.h
+include/urg/split.h
+include/urg/ticks.h
+lib/libc_urg.la
+lib/libc_urg_connection.la
+lib/libc_urg_system.la
+lib/liburg.la
+lib/liburg_common.la
+lib/liburg_connection.la
+lib/liburg_connection_sdl.la
+lib/liburg_coordinate.la
+lib/liburg_geometry.la
+lib/liburg_monitor.la
+lib/liburg_system.la
diff --git a/urg/depend.mk b/urg/depend.mk
new file mode 100644
index 0000000000000000000000000000000000000000..78063b7381601f11dc611a905c89ebcf803b36b6
--- /dev/null
+++ b/urg/depend.mk
@@ -0,0 +1,27 @@
+# robotpkg depend.mk for:	hardware/urg
+# Created:			Arnaud Degroote on Mon, 16 Dec 2013
+#
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH}+
+URG_DEPEND_MK:=${URG_DEPEND_MK}+
+
+ifeq (+,$(DEPEND_DEPTH))
+DEPEND_PKG+=		urg
+endif
+
+ifeq (+,$(URG_DEPEND_MK))
+PREFER.urg?=	robotpkg
+
+DEPEND_USE+=		urg
+
+DEPEND_ABI.urg?=	urg>=0.8.18
+DEPEND_DIR.urg?=	../../wip/urg
+
+SYSTEM_SEARCH.urg=\
+	bin/urg-config \
+	include/urg/UrgCtrl.h
+	lib/liburg.so 
+endif
+
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH:+=}
diff --git a/urg/distinfo b/urg/distinfo
new file mode 100644
index 0000000000000000000000000000000000000000..7f4054ed9f75a14de9b81ca45ee36f972ef7f6ed
--- /dev/null
+++ b/urg/distinfo
@@ -0,0 +1,6 @@
+SHA1 (urg-0.8.18.zip) = 1c40aeaaf9fd6937315fc3b0f72c318cdb59eabe
+RMD160 (urg-0.8.18.zip) = 7e5d5d1327dce6703601935be039ee1ff3e52918
+Size (urg-0.8.18.zip) = 727407 bytes
+SHA1 (patch-aa) = 5453d669988de10dbe3ca970bb6dbfa4b5df8add
+SHA1 (patch-ab) = 837f5f7c29610064c54251cdb19e22ace2c21a63
+SHA1 (patch-ac) = 9671217a269eecfdcbeb670b9df263583d769464
diff --git a/urg/patches/patch-aa b/urg/patches/patch-aa
new file mode 100644
index 0000000000000000000000000000000000000000..0178ec4aa431e0ce4350aa741498a9610f77c4a8
--- /dev/null
+++ b/urg/patches/patch-aa
@@ -0,0 +1,19 @@
+Fix include for select and time related structure
+
+--- src/c/connection/serial_ctrl_lin.c.orig	2013-12-09 15:17:41.325531943 +0100
++++ src/c/connection/serial_ctrl_lin.c	2013-12-09 15:19:49.545528147 +0100
+@@ -18,6 +18,14 @@
+ #include <errno.h>
+ #include <string.h>
+ 
++/* According to POSIX.1-2001 */
++#include <sys/select.h>
++
++/* According to earlier standards */
++#include <sys/time.h>
++#include <sys/types.h>
++#include <unistd.h>
++
+ //#include <ctype.h>
+ 
+ enum {
diff --git a/urg/patches/patch-ab b/urg/patches/patch-ab
new file mode 100644
index 0000000000000000000000000000000000000000..e331552de61953eb2ec1bfde796acb74f1510e72
--- /dev/null
+++ b/urg/patches/patch-ab
@@ -0,0 +1,11 @@
+--- urg-config.in.orig	2013-12-16 10:12:17.261667231 +0100
++++ urg-config.in	2013-12-16 10:12:33.765667647 +0100
+@@ -19,7 +19,7 @@
+       echo -I@includedir@/urg
+       ;;
+     --libs)
+-      echo @INSTALL_LIBS@
++      echo -L@prefix@/lib @INSTALL_LIBS@
+       ;;
+     *)
+       echo "${usage}" 1>&2
diff --git a/urg/patches/patch-ac b/urg/patches/patch-ac
new file mode 100644
index 0000000000000000000000000000000000000000..74c05ec205093caa74531bb45e418226a1f5df84
--- /dev/null
+++ b/urg/patches/patch-ac
@@ -0,0 +1,11 @@
+--- c_urg-config.in.orig	2013-12-16 10:15:37.693672279 +0100
++++ c_urg-config.in	2013-12-16 10:15:53.909672687 +0100
+@@ -19,7 +19,7 @@
+       echo -I@includedir@/c_urg
+       ;;
+     --libs)
+-      echo @C_INSTALL_LIBS@
++      echo -L@prefix@/lib @C_INSTALL_LIBS@
+       ;;
+     *)
+       echo "${usage}" 1>&2