You are on page 1of 36

Week 4

QBot2 and QUARC


Autonomous Systems – MANU2206

Dr. Tu Le
School of Engineering
RMIT University, Victoria, Australia
Email: tu.le@rmit.edu.au
Qbot: Our Robots in the Lab

• Major components:
– iRobot Create® robotic platform
– an array of infrared sensors
– an array of sonar sensors
– a Logitech Quickcam Pro 9000
USB camera
– An embedded system called
Quanser Control Module (QCM)
• QUARC: Quanser's real-time
control software.
– QCM uses the Gumstix
computer to run QUARC and
2 data acquisition card (DAC).
QBot 2: Our Robots in the Lab

• Major components:
– Mobile Platform: 2-wheeled iClebo Kobuki mobile base
from Yujin Robot
– On-board Computer: Gumstix DuoVero Zephyr with
integrated 802.11 b/g/n WiFi
3
QBot 2: Our Robots in the Lab

• Sensors:
– 3 digital bump sensors
– 1 Kinect® RGBD sensor
– 2 wheel encoders
– 3 digital wheel drop sensors
– 3 cliff sensors
– 3-axis gyroscope
– 1 Z-axis angle measurement (heading)
– 2 analog motor current sensors
NOTE:
– 3 digital buttons
Only the sensors in
– 2 overcurrent sensors
green will be used in
– 1 battery voltage sensor our lab experiments.
4
QBot 2: Our Robots in the Lab

• Quantities and limits:


– QBot 2 diameter = 35 cm
– Wheel-base = 0.235 m
– Maximum speed = 0.7 m/s
– Camera resolution = 640 × 480
5 – Depth sensor range = 0.5 – 6 m
QBot 2: Our Robots in the Lab

6
Local Coordinate System
z

7
The Kinect Sensor

• An integrated RGB camera


and depth sensor.
• Provides RGB image
capture and 11-bit depth
sensing at a resolution of
640×480.
• Kinect’s depth sensor
utilizes infrared light and has
a range of 0.5 m to 6 m.
• QBot 2 Kinect should only
be used indoors in locations
without direct sunlight for
best results.
8
The Kinect Sensor

9
Relevant Simulink Blocks from QUARC

– Selects the DAQ board and


configures the board
parameters.
– It is named via the Board name
parameter, and all other HIL
blocks reference the
corresponding HIL Initialize
through its name.
– The HIL blocks will interface to
the DAQ specified in the HIL
Initialize Board type parameter
qbot2.
10
Relevant Simulink Blocks from QUARC

• This block receives two inputs:


– The right velocity (o2000); and
– The left velocity (o2001).

• When the model is compiled


and run, the robot moves
according to the velocities given at
the inputs of this block.

11
Relevant Simulink Blocks from QUARC

• Outputs all sensor readings


except the Kinect, such as:
• Analog sensors;
• Wheel encoders; and
• Digital inputs.

• We will use this block primarily


to read wheel encoder
measurements (pulse counts).

12
Relevant Simulink Blocks from QUARC

• It is very similar to HIL Initialize.

• Provides information for


communication with the Kinect
Sensor.

• A Must-Have block in any


model where Kinect data are read
and used.

13
Relevant Simulink Blocks from QUARC

• Reads the image taken by the


camera on board the Kinect
sensor.

• The resolution can be varied


(maximum is 640×480).

• # (the frame number) and time


outputs can be used but we will
normally not use them (connected
to terminators).

14
Relevant Simulink Blocks from QUARC

• Reads the depth data as a point cloud from Kinect.


• The resolution can be varied (maximum is 640×480).
• In this example, the frame number outputs of the block is
displayed for the user’s information.

15
Relevant Simulink Blocks from QUARC

• The depth output is a matrix of vertical depth distances


from the camera plane.
• Having the vertical angular width and height of the field
of view, we can calculate the x and y coordinates of points
in the point cloud.

𝑥𝑃 = 𝑧𝑃 tan 𝑎𝑃
𝑧
𝑦𝑃 = 𝑧𝑃 tan 𝑏𝑃 𝑥 𝑧𝑃 =measured range

−28.5∘ ≤ 𝑎𝑃 ≤ 28.5∘ 𝑃
𝑏𝑃
−23.5∘ ≤ 𝑏𝑃 ≤ 23.5∘ 𝑥𝑃 𝑎𝑃

𝑦
𝑂 𝑦𝑃
16
Relevant Simulink Blocks from QUARC

• An example of the acquired point cloud and its associated


image:

17
Touch Sensors and Switches

Switches
Normally Open (NO) or Normally Closed (NC)
Pole: the moving element
Throw: contact point

SPST NO Push Button

SPDT
18 NC Push Button
Touch Sensors and Switches

• Common Types of Switches and Push Buttons:


– SPST
A B
• When closed: A → B

– SPDT
• Two states: B
A
State 1: A → B C
State 2: A → C
– DPST
• When closed: A B
A→B
D C
D→C

19
Touch Sensors and Switches

• Common Types of Switches and Push Buttons


(Continued):
E
– DPDT A B
• Three states:
D C
Open: no pins connected
F
E

A B
Right: E → B
F→C D C
F
E
Left: E→A A B
F→D
D C
20
F
Connecting Touch Sensors to a Processor

Pull-up and pull-down resistors Vcc

– Pull-up resistor: Pull-up


• Push button pressed: The input to the Resistor
Processor
processor is logical 0.
• Push button not pressed: The pull-up
resistor allows the input to the
processor to become logical 1.
Vcc
– Pull-down resistor:
• Push button pressed: The input to the
processor is logical 1. Processor

• Push button not pressed: The pull- Pull-down


down resistor allows the input to the Resistor
processor to become logical 0.
21
Encoders

• An encoder provides a digital output proportional to angular


displacement of a rotating element.
• Incremental encoder: detects the changes in rotation from
some reference position.

A beam of light passes through slots in a


disk and is detected by the light sensor.
When the disk rotates, a pulse is
produced by the sensor.
The number of pulses is proportional to
the angular displacement.

22
Range Sensors

• Infrared range sensors


– Principle of operation: It consists
of an integrated combination of
PSD (position sensitive detector),
IRED (infrared emitting diode) and
signal processing circuit.
– The point on the PSD hit by the
reflected IR, depends on the
position or distance of the
reflective object.
– The signal processing unit
generates a voltage output that
depends on where the reflected
23 IR hits the PSD.
Range Sensors

– Sharp GP2Y0A02YK0F Analog Distance Sensor

24
Range Sensors

• Ultrasonic range sensors


– Principle of operation: a high frequency sound wave
(usually 40KHz) is sent and reflected and the distance is
evaluated based on time of flight of the wave.
• Speed of sound ≈ 340 m/s
1
• Distance = d = × 340 × 𝑡 where 𝑡 is the time of flight.
2
• Output of the sensor: an analogue voltage proportional to
distance.
– Important: You may need to record several
measurements and average them to reduce the level of
noise in the range measurement. Usually 3-5
measurements suffice, depending on the noise and the
range being measured.
25
Range Sensors

• Problems with ultrasonic sensors

– soft surfaces that absorb most of the sound


energy

– surfaces that are far from being


perpendicular to the direction of the sound
cause specular reflection

26
Vision Sensor

We will talk about this for 4 hours!!


Two complete lectures (weeks 6 and 7).

27
Classification of Sensors

• WHAT:
– Proprioceptive sensors
• measure values internally to the system (robot) e.g. motor
speed, wheel load, heading of the robot, battery status
– Exteroceptive sensors
• information from the robot’s environment, e.g. distances to
objects, intensity of the ambient light, unique features.

• HOW:
– Passive sensors
• energy coming from the environment
– Active sensors
• emit their proper energy and measure the reaction
• better performance, but some influence on environment
28
Classification of Sensors

29
Classification of Sensors

30
Characterizing Sensor Performance

Measurement in real world environment is error prone

• Basic sensor response ratings


– Dynamic range
• ratio between upper and lower limits, usually in decibels
(dB, power)
• e.g. power measurement from 1 mW to 20 W
20
10 log = 43 dB
0.001
• e.g. voltage measurement from 1 mV to 20 V
20
20 log = 86 dB
0.001
Note: 20 instead of 10 because the power of a signal is
proportional to its square !!
31
Characterizing Sensor Performance

• Basic sensor response ratings (continued…)


– Resolution
• minimum difference between two values
• usually: lower limit of dynamic range = resolution
• for digital sensors it is usually the A/D resolution.
• e.g. 5V / 255 (8 bit)
– Linearity
• variation of output signal as function of the input signal
𝑥→𝑓 𝑥
ቋ ⇒ 𝛼 𝑥 + 𝛽 𝑦 → 𝛼 𝑓 𝑥 + 𝛽 𝑓(𝑦)
𝑦→𝑓 𝑦
• linearity is less important when signal is treated with a
computer
32
Characterizing Sensor Performance

• Basic sensor response ratings (continued…)


– Bandwidth or Frequency
• the speed with which a sensor can provide a stream of
readings
• usually there is an upper limit depending on the sensor
and the sampling rate
• lower limit is also possible, e.g. acceleration sensor
• one has also to consider phase (delay) of the signal

33
Sensing in Mobile Robotics

• Mobile Robot has to perceive, analyse and interpret the


state of the surrounding.

• Measurements in real world environment are


dynamically changing and error prone.

• Examples:
– changing illuminations
– specular reflections
– light or sound absorbing surfaces

34
Measurement Errors

• Systematic error
– Deterministic
– Caused by factors that can (in theory) be modeled
– Predictable
• Calibration of a laser sensor
• Calibration of the distortion cause by the optic lens of a
camera
• Calibration of odometry for self-localisation
• Random error
– non-deterministic
– no prediction possible
– however, can be described probabilistically
35
• Error of range measurements
More Reading

SECTION 4: Perception
Textbook:
Introduction to Autonomous
Mobile Robots
Authors:
Roland Siegwart and Illah R.
Nourbakhsh,
Publisher:
MIT Press,
ISBN: 978-0-262-19502-7
36

You might also like