Roomba Track Blob End of trail navigation bar

Table of Contents

Roomba Waypoint Navigation

Generates motion commands (velocity and radius of curvature) to reach the specified waypoints.

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 Waypoint Navigation

The Roomba Waypoint Navigation block generates motion commands (velocity and radius of curvature) to reach the specified waypoints. It uses distance, and angle sensory data for continuous localization of the robot. The robot's coordinate is updated using the traveled distance and its current angular orientation with respect to its initial position. The updated coordinate may be inaccurate in case of wheel slip. The state output of this block shows the robot's position with respect to current waypoint.

Input Ports

wpts

Specifies the waypoints to be reached. The input must be an n x 2 matrix in which each row is a waypoint. Each waypoint includes orientation (in degrees) and distance (in mm) of a target position. For example, [90 100; -180 1000] indicates the following motion planning:

feedback

The sensor packet returned by Roomba according to the specified sensor_id.

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.

sensor_id

The sensor packet number is either 19 (distance) or 20 (angle). To reach a waypoint, the robot, first, rotates to the target position and moves forward to the target. Hence, this block, first, requests angle sensor packet and then requests distance sensor packet. Use this output as the packet ID input of Roomba Sensor Request or Roomba Query List block. Roomba Query List block.

states

This vector includes

Parameters and Dialog Box

Roomba Waypoint Navigation

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