Roomba Create Trajectory Roomba Waypoint Navigation navigation bar

Table of Contents

Roomba Track Blob

Generates motion commands (velocity and radius of curvature) to track a blob.

Library

QUARC Targets/Devices/Third-Party/iRobot/Roomba/Applications

MATLAB Command Line

Click to copy the following command line to the clipboard. Then paste it in the MATLAB Command Window:

qc_open_library('quarc_library/Devices/Third-Party/iRobot/Roomba/Applications')

Description

Roomba Track Blob

The Roomba Track Blob block generates motion commands (velocity and radius of curvature) to track a blob in the current image frame of the camera. The blob is specified using its orientation with respect to the image center. The robot stops when it detects obstacles using range or bump sensor.

Input Ports

angle

Horizontal and vertical angular deviation of the blob (in degrees) with respect the image center (see Vision Get Centroid Pose block).

distance

Distance to obstacles obtained from range sensors. Use -1 if range sensors are not mounted on the robot.

bump

Bump sensor value returned by Roomba. Use Roomba Sensor Request or Roomba Query List block to get bump feedback.

Output Ports

velocity

Velocity of the robot to reach the target position. Use this output as the velocity input of Roomba Drive block.

radius

Radius of curvature of the robot's motion to reach the target. Use this output as the radius input of Roomba Drive block.

err

The signal returns negative value in case of memory allocation error.

Parameters and Dialog Box

Roomba Track Blob

Minimum search speed

Specifies the minimum velocity of the robot. The velocity must be 0 to 500 mm/s.

Maximum search speed

Specifies the maximum velocity of the robot. The velocity must be 0 to 500 mm/s and greater than the minimum velocity.

Fied of view of the camera

Specifies the field of view of the camera in degrees. The parameter value must be 0 to 360 degrees. Note that this value must be the same as specified in Vision Get Centroid Pose block. Lower values of this parameter result in less changes in the robot's motion direction.

Angular error margin

Specifies the angular error margin in degrees used for motion command generation. The robot maintains the same motion direction and velocity if the angular deviation between the robot's orientation and the specified blob is less than the error margin.

Radius gain

Specifies the radius gain which is used to control the radius curvature of the robot's motion. The parameter value must be greater than zero. Lower values of this parameter cause sharp changes in robot's motion direction.

Sample time

The sample time of the block. A sample time of 0 indicates that the block will be treated as a continuous time block. A positive sample time indicates that the block is a discrete time block with the given sample time. A sample time of -1 indicates that the block inherits its sample time.

Targets

Target Name

Compatible*

Model Referencing

Comments

QUARC Win32 Target

Yes

Yes

QUARC Win64 Target

Yes

Yes

QUARC Linux Nvidia Target

Yes

Yes

QUARC Linux QBot Platform Target

Yes

Yes

QUARC Linux QCar 2 Target

Yes

Yes

QUARC Linux QDrone 2 Target

Yes

Yes

QUARC Linux Raspberry Pi 3 Target

Yes

Yes

QUARC Linux Raspberry Pi 4 Target

Yes

Yes

QUARC Linux RT ARMv7 Target

Yes

Yes

QUARC Linux x64 Target

Yes

Yes

QUARC Linux DuoVero Target

Yes

Yes

QUARC Linux DuoVero 2016 Target

Yes

Yes

QUARC Linux Verdex Target

Yes

Yes

QUARC QNX x86 Target

Yes

Yes

Last fully supported in QUARC 2018.

Rapid Simulation (RSIM) Target

Yes

Yes

S-Function Target

No

N/A

Old technology. Use model referencing instead.

Normal simulation

Yes

Yes

* Compatible means that the block can be compiled for the target.

See Also

 

navigation bar