PTI Lidar Plugin icon PTI Lidar Plugin — Pineapple Technology Industries Capstone plugin adds a secretive LiDAR unit to ARC for distance measurement. Try it →
 

Navigation

Feed the robot's position and sensor scans to ARCx's navigation system, which navigation robot skills use to build maps and plan routes, and set whether navigation is running, paused or cancelled. Most projects let their sensor robot skills do this; these commands are for sensors and position sources a script reads itself.

Where to find it: type Navigation. in a Python script, or open the ARCx API view of the script editor and expand Navigation


Commands

Command What it does
Navigation.SetNavigationStatusToNavigating Sets the navigation messaging system's status to navigating and tells the navigation skills listening for status changes.
Navigation.SetNavigationStatusToPause Sets the navigation messaging system's status to paused and tells the navigation skills listening for status changes.
Navigation.SetNavigationStatusToStopCancel Sets the navigation messaging system's status to stopped or cancelled and tells the navigation skills listening for status changes.
Navigation.UpdatePose Report where the robot is, in ROS's frame and units: x metres forward and y metres left of where tracking began, and the yaw in radians, counter-clockwise (positive turning left).
Navigation.UpdateScan Report one distance reading: the range in metres (0 for nothing detected), a confidence from 0 to 255, and the angle in radians from straight ahead, counter-clockwise (PI/2 is left), as in a ROS LaserScan.

Details

Sets the navigation messaging system's status to navigating and tells the navigation skills listening for status changes. Also sets the $NavigationStatus global variable to Navigating.

Navigation.SetNavigationStatusToNavigating()

Sets the navigation messaging system's status to paused and tells the navigation skills listening for status changes. Also sets the $NavigationStatus global variable to Paused.

Navigation.SetNavigationStatusToPause()

Sets the navigation messaging system's status to stopped or cancelled and tells the navigation skills listening for status changes. Also sets the $NavigationStatus global variable to StoppedCancelled.

Navigation.SetNavigationStatusToStopCancel()

Report where the robot is, in ROS's frame and units: x metres forward and y metres left of where tracking began, and the yaw in radians, counter-clockwise (positive turning left).

Navigation.UpdatePose(x, y, yaw)
Navigation.UpdatePose(x, y, yaw, confidence)
Value Type What it is
x float Metres forward of where tracking began.
y float Metres left of where tracking began.
yaw float The heading in radians, counter-clockwise (positive turning left), wrapped into -PI to PI.
confidence float Optional. How sure the position is, from -1 (not confident) to 1 (very confident). Reporting without it uses 1.

Report one distance reading: the range in metres (0 for nothing detected), a confidence from 0 to 255, and the angle in radians from straight ahead, counter-clockwise (PI/2 is left), as in a ROS LaserScan.

Navigation.UpdateScan(range, confidence, angle)
Value Type What it is
range float Distance to the detected object in metres, or 0 when nothing was detected.
confidence int How sure the reading is, 0 (not confident) to 255 (very confident).
angle float Angle in radians from straight ahead, counter-clockwise (PI/2 is left), wrapped into -PI to PI.