<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tips, tricks and tutorials &#187; Tips and tricks, tutorials</title>
	<atom:link href="http://www.ngohaibac.com/category/research/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ngohaibac.com</link>
	<description>What you share is what you get</description>
	<lastBuildDate>Tue, 15 Jun 2010 15:49:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Howto Stream Video Over Network Using OpenCV</title>
		<link>http://www.ngohaibac.com/howto-stream-video-network-opencv/</link>
		<comments>http://www.ngohaibac.com/howto-stream-video-network-opencv/#comments</comments>
		<pubDate>Fri, 07 May 2010 15:24:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Research]]></category>

		<guid isPermaLink="false">http://www.ngohaibac.com/?p=581</guid>
		<description><![CDATA[I am currently doing one project about Mobile Robot Teleoperation, so stream video over network is one of my part. Actually there are many different approaches, but I chose OpenCV as my main approach because of its advantages in term of Computer Vision. But the crazy thing I have to do is making 2 server [...]<br /><div><img src="http://www.ngohaibac.com/wp-content/plugins/gd-star-rating/gfx.php?value=7.5" /></div><div>Rating: 7.5/<strong>10</strong> (4 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://www.ngohaibac.com/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />
Related posts:<ol>
<li><a href='http://www.ngohaibac.com/how-to-fix-libdc1394-error-failed-to-initialize-libdc1394/' rel='bookmark' title='How to fix libdc1394 error: Failed to initialize libdc1394'>How to fix libdc1394 error: Failed to initialize libdc1394</a> <small>I am doing a project about Mobile Robot Teleoperation which...</small></li>
<li><a href='http://www.ngohaibac.com/how-to-setup-video-calls-in-skype-on-64-bit-ubuntu-system/' rel='bookmark' title='How to setup Video calls in Skype on 64-bit Ubuntu system'>How to setup Video calls in Skype on 64-bit Ubuntu system</a> <small>Skype is a software to make free video and voice...</small></li>
<li><a href='http://www.ngohaibac.com/howto-get-direct-link-from-files-folders-in-boxnet/' rel='bookmark' title='Howto get direct link from files, folders in box.net'>Howto get direct link from files, folders in box.net</a> <small>Homepage: http://box.huhiho.com/ Box.net is the most famous online box store...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>I am currently doing one project about Mobile Robot Teleoperation, so stream video over network is one of my part. Actually there are many different approaches, but I chose OpenCV as my main approach because of its advantages in term of Computer Vision. But the crazy thing I have to do is making 2 server and client programs which run in Windows and Linux, respectively. Ok, now let&#8217;s go together:<br />
</p>
<h3>Install OpenCV</h3>
<blockquote><p><strong>OpenCV</strong> (<strong>Open</strong> Source  <strong>C</strong>omputer <strong>V</strong>ision) is a library of  programming functions for real time computer vision.</p>
<ul>
<li>OpenCV is released  under a <a href="http://creativecommons.org/licenses/BSD/">BSD</a> <a href="http://en.wikipedia.org/wiki/BSD_licenses">license</a>,  it is free for both academic and commercial use.</li>
<li>The library has &gt;500 optimized algorithms <em>(see  figure below)</em>. It is used around the world, has &gt;2M downloads  and &gt;40K people in the user group. Uses range from interactive art,  to mine inspection, stitching maps on the web on through advanced  robotics.</li>
</ul>
</blockquote>
<p><span id="more-581"></span>For more information, go to <a href="http://opencv.willowgarage.com/wiki/">OpenCV Wiki</a>. It is not difficult to build OpenCV in Linux, just base on <a href="http://opencv.willowgarage.com/wiki/InstallGuide">Install Guide</a> but make sure that install all Prerequisites: Python, Intel TBB, &#8230;</p>
<p>In Windows counterpart, I can easily build OpenCV using Microsoft Studio, but I am using program which has multi-thread (POSIX) feature, so I can&#8217;t use this library for that. So I prefer to build OpenCV using Cygwin, but I didn&#8217;t get success yet :d. So what I have done with that ?</p>
<ul>
<li>Download <a href="http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.1/OpenCV-2.1.0-win32-vs2008.exe/download">OpenCV-2.1.0-win32-vs2008.exe</a> and install it</li>
<li>Download OpenCV libs compiled by Cygwin and put it to the /bin and /lib from <a href="http://code.google.com/p/pyopencv/">Python OpenCV project</a>. Just download    <a href="http://pyopencv.googlecode.com/files/opencv210_mingw.7z">opencv210_mingw.7z</a></li>
</ul>
<p>And don&#8217;t forget to install <a href="http://www.cygwin.com/">Cygwin</a> and needed packages like gcc, make, cmake, &#8230; before that <img src='http://cdn.ngohaibac.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3><strong>Program</strong></h3>
<p>This <a href="http://nashruddin.com/Streaming_OpenCV_Videos_Over_the_Network" target="_blank">post</a> describes very well about what do you have to do with OpenCV and socket programming. Thank <strong>Nashruddin</strong> for great effort. But I would like to contribute some things here: cmake list and delay function.</p>
<p>I really love Cmake so much, it is very handy and powerful tool for cross platform applications. If you don&#8217;t know what is Cmake, have a look at <a href="http://cmake.org/">http://cmake.org/</a>, you will love it for sure.</p>
<p>In the folder which has your source code, just create a file named CMakeLists.txt. For the server part it will be:</p>
<pre>project(MobileApp)
cmake_minimum_required(VERSION 2.6)
# Find OpenCV package
FIND_PACKAGE(OpenCV REQUIRED)
# Vision program
add_executable(stream_server stream_server.c)
target_link_libraries(stream_server ${OpenCV_LIBS})
</pre>
<p>REQUIRED<br />
For the client counterpart:</p>
<pre>project(MobileApp)
cmake_minimum_required(VERSION 2.6)
# Find OpenCV package
FIND_PACKAGE(OpenCV REQUIRED)
# Vision program
add_executable(stream_client stream_client.c)
target_link_libraries(stream_client ${OpenCV_LIBS})
</pre>
<p>To build the application, follow these steps:</p>
<pre>$ mkdir build
$ cd build
$ cmake ..
$ make
</pre>
<p>cmake will automatically generate your Makefile based on your system configuration, so whenever you move it to other computer or other platform it will check again.</p>
<p><strong>Note</strong>: there is one issue that cmake couldn&#8217;t understand the parameter OpenCV_LIBS even thought it can detect OpenCV libs, so you need to add OpenCV libs by using other variable OpenCV_DIR.So you need to change <strong>${OpenCV_LIBS}</strong> to <strong>${OpenCV_DIR}/libs</strong>. Have a look at <a href="http://opencv.willowgarage.com/wiki/FindOpenCV.cmake">FindOpenCV.cmake</a></p>
<br /><div><img src="http://www.ngohaibac.com/wp-content/plugins/gd-star-rating/gfx.php?value=7.5" /></div><div>Rating: 7.5/<strong>10</strong> (4 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://www.ngohaibac.com/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br /><img src="http://www.ngohaibac.com/?ak_action=api_record_view&id=581&type=feed" alt="" /><p>Related posts:<ol>
<li><a href='http://www.ngohaibac.com/how-to-fix-libdc1394-error-failed-to-initialize-libdc1394/' rel='bookmark' title='How to fix libdc1394 error: Failed to initialize libdc1394'>How to fix libdc1394 error: Failed to initialize libdc1394</a> <small>I am doing a project about Mobile Robot Teleoperation which...</small></li>
<li><a href='http://www.ngohaibac.com/how-to-setup-video-calls-in-skype-on-64-bit-ubuntu-system/' rel='bookmark' title='How to setup Video calls in Skype on 64-bit Ubuntu system'>How to setup Video calls in Skype on 64-bit Ubuntu system</a> <small>Skype is a software to make free video and voice...</small></li>
<li><a href='http://www.ngohaibac.com/howto-get-direct-link-from-files-folders-in-boxnet/' rel='bookmark' title='Howto get direct link from files, folders in box.net'>Howto get direct link from files, folders in box.net</a> <small>Homepage: http://box.huhiho.com/ Box.net is the most famous online box store...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ngohaibac.com/howto-stream-video-network-opencv/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The HapticMaster &#8211; a good device for Admittance control</title>
		<link>http://www.ngohaibac.com/the-hapticmaster-a-good-device-for-admittance-control/</link>
		<comments>http://www.ngohaibac.com/the-hapticmaster-a-good-device-for-admittance-control/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 08:33:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[HapticMaster]]></category>

		<guid isPermaLink="false">http://www.ngohaibac.com/?p=332</guid>
		<description><![CDATA[This post, I would like to introduce about the HapticMaster just like a summary about the paper I have read: The HapticMaster, a new high-performance haptic interface What is the HapticMASTER ? As you can see from the above picture, the HapticMASTER is a 3 DOF device designed by FCS company and there are 2 [...]<br /><div><img src="http://www.ngohaibac.com/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>10</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://www.ngohaibac.com/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />
Related posts:<ol>
<li><a href='http://www.ngohaibac.com/linux-device-drivers-third-edition/' rel='bookmark' title='Linux Device Drivers, Third Edition'>Linux Device Drivers, Third Edition</a> <small>Hi everyone, I would like to introduce this book: Linux...</small></li>
<li><a href='http://www.ngohaibac.com/videos-lets-speak-korean-program-ep-01/' rel='bookmark' title='[Videos] Let&#8217;s speak Korean program (ep 01)'>[Videos] Let&#8217;s speak Korean program (ep 01)</a> <small>Today, I am looking for Learn Korean videos for my...</small></li>
<li><a href='http://www.ngohaibac.com/lastpass-the-best-password-manager-for-ie-firefox-safari-google-chrome/' rel='bookmark' title='LastPass &#8211; the best password manager for IE, Firefox, Safari, Google Chrome'>LastPass &#8211; the best password manager for IE, Firefox, Safari, Google Chrome</a> <small>Homepage: https://lastpass.com/ What is lastpass and its features ? Actually,...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>This post, I would like to introduce about the HapticMaster just like a summary about the paper I have read: <a href="http://www.haptist.com/resources/linde_2002_eurohaptics.pdf" target="_blank">The HapticMaster, a new high-performance haptic interface</a><br />
</p>
<h3>What is the HapticMASTER ?</h3>
<p>As you can see from the above picture, the HapticMASTER is a 3 DOF device designed by FCS company and there are 2 dedicated industrial computers for a inner controller and a outer controller. Both of them use VxWorks real-time operating system.</p>
<p style="text-align: center;"><a rel="attachment wp-att-335" href="http://www.ngohaibac.com/the-hapticmaster-a-good-device-for-admittance-control/haptics-master-1/"><img class="aligncenter" title="haptics master 1" src="http://cdn.ngohaibac.com/wp-content/uploads/2009/12/haptics-master-1.png" alt="haptics master 1" width="407" height="366" /></a></p>
<p>The end effector plate workspace of the HapticMaster spans a 3-dimensional space with a volume of approximately 80 liters. The end plate of the robot arm allows the mounting of difference end effectors.</p>
<p style="text-align: center;"><a rel="attachment wp-att-334" href="http://www.ngohaibac.com/the-hapticmaster-a-good-device-for-admittance-control/haptic-master-actuators/"><img class="aligncenter" title="haptic master actuators" src="../wp-content/uploads/2009/12/haptic-master-actuators-600x351.png" alt="haptic master actuators" width="466" height="272" /></a></p>
<h3>Controller of HapticMASTER</h3>
<p>The HapticMASTER is a force controlled haptic interface:</p>
<ul>
<li>Input: force from the human</li>
<li>Output: the proper displacement</li>
</ul>
<p>It means when a human pushes the hand, by using the force sensor the device can measure an exact force, therefore give the proper displacement. So simply called: force in and displacement out. It is a Admittance control.</p>
<p><a rel="attachment wp-att-333" href="http://www.ngohaibac.com/the-hapticmaster-a-good-device-for-admittance-control/haptic-controller/"><img class="aligncenter size-large wp-image-333" title="haptic controller" src="http://cdn.ngohaibac.com/wp-content/uploads/2009/12/haptic-controller-600x170.png" alt="haptic controller" width="600" height="170" /></a>There are 2 controller which are inner servo loop and outer control loop. I just take an explanation from the paper:</p>
<blockquote>
<p style="margin: 0in; font-family: Calibri; font-size: 11pt;">The HapticMaster measures the force exerted by the user, preferably measured close to the human hand with a sensitive force sensor. An internal model then calculates the Position, Velocity, and Acceleration (PVA), which a (virtual) object touched in space would get as a result of this force. The PVA-vector is commanded to the robot, which then makes the movement by means of a conventional control law. The general control algorithm is illustrated in Fig. 2. The internal model will typically contain a certain mass, to avoid commanding infinite accelerations. The inner servo loop will cancel the real mass and friction of the mechanical device.</p>
</blockquote>
<p>An other interesting thing is two loops of the controllers run at a fixed update rate of 2500 Hz, which is approximately ten times higher than the maximal human discrepance value [Burdea, 1996].</p>
<p>There are some examples people in some laboratories did with HapticMaster:</p>
<p><a href="http://www.ngohaibac.com/the-hapticmaster-a-good-device-for-admittance-control/"><em>Click here to view the embedded video.</em></a></p>
<br /><div><img src="http://www.ngohaibac.com/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>10</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://www.ngohaibac.com/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br /><img src="http://www.ngohaibac.com/?ak_action=api_record_view&id=332&type=feed" alt="" /><p>Related posts:<ol>
<li><a href='http://www.ngohaibac.com/linux-device-drivers-third-edition/' rel='bookmark' title='Linux Device Drivers, Third Edition'>Linux Device Drivers, Third Edition</a> <small>Hi everyone, I would like to introduce this book: Linux...</small></li>
<li><a href='http://www.ngohaibac.com/videos-lets-speak-korean-program-ep-01/' rel='bookmark' title='[Videos] Let&#8217;s speak Korean program (ep 01)'>[Videos] Let&#8217;s speak Korean program (ep 01)</a> <small>Today, I am looking for Learn Korean videos for my...</small></li>
<li><a href='http://www.ngohaibac.com/lastpass-the-best-password-manager-for-ie-firefox-safari-google-chrome/' rel='bookmark' title='LastPass &#8211; the best password manager for IE, Firefox, Safari, Google Chrome'>LastPass &#8211; the best password manager for IE, Firefox, Safari, Google Chrome</a> <small>Homepage: https://lastpass.com/ What is lastpass and its features ? Actually,...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ngohaibac.com/the-hapticmaster-a-good-device-for-admittance-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced (User agent is rejected)
Database Caching 9/74 queries in 17.322 seconds using disk: basic
Object Caching 1143/1184 objects using disk: basic
Content Delivery Network via cdn.ngohaibac.com

Served from: www.ngohaibac.com @ 2012-02-05 20:30:42 -->
