PatrolBot robot
===============

.. image:: ../../../media/robots/patrolbot.png
  :align: center
  :width: 600


The Research PatrolBot, developed by MobileRobots, is a
differential-drive robot to carry payloads and sensors over all
normal indoor surfaces in wheelchair-accessible facilities. The
PatrolBot is an all-purpose indoor base, it can travel at speeds up
to 2 m/s, and can carry up to 40kg over flat surfaces.


.. cssclass:: properties morse-section

Configuration parameters for patrolbot robot
--------------------------------------------


You can :

- set the mass of the robot using the builder method :py:meth:`morse.builder.morsebuilder.Robot.set_mass()`
- set the friction coefficient of the robot using the builder method :py:meth:`morse.builder.morsebuilder.Robot.set_friction()`


You can set these properties in your scripts with ``<component>.properties(<property1>=..., <property2>=...)``.

- ``HasSuspension`` (bool, default: ``True``)
	Determine if the underlaying robot has suspension,                   i.e. wheels can move independently of the body of the                   robot
- ``HasSteering`` (bool, default: ``True``)
	Determine if the wheels turn independently of the body                   of the robot.
- ``FixTurningSpeed`` (double, default: ``0.0``)
	Overwrite the value of the distance between wheels in the computations of the wheel speeds. This effectively changes the turning speed of the robot, and can be used to compensate for the slip of the wheels while turning. The real distance between wheels in the robot is 0.624m. By forcing a distance of 1.23m, the robot will turn over a smaller radius, as would a two wheeled differential drive robot. If the value 0.0 is used, the real distance between wheels is used.


.. cssclass:: services morse-section

Services for PatrolBot robot
----------------------------

*This component does not expose any service.*

.. cssclass:: examples morse-section

Examples
--------


The following example shows how to use this component in a *Builder* script:

.. code-block:: python


    from morse.builder import *
    
    # creates a new instance of the robot
    patrolbot = PatrolBot()

    # place your component at the correct location
    patrolbot.translate(<x>, <y>, <z>)
    patrolbot.rotate(<rx>, <ry>, <rz>)
    
    # define one or several communication interface, like 'socket'
    patrolbot.add_interface(<interface>)

    env = Environment('empty')
    

.. cssclass:: files morse-section

Other sources of examples
+++++++++++++++++++++++++

- `Source code <../../_modules/morse/robots/patrolbot.html>`_
- `Unit-test <../../_modules/base/patrolbot_testing.html>`_




*(This page has been auto-generated from MORSE module morse.robots.patrolbot.)*
