The RCC (Robot Communication Client) is a software tool for communicating with the r-one robots, both locally and remotely connected. Multiple people or sessions can view the data being printed by each robot in real-time via telnet connections. It also contains various features to help with data collection, such as logging and AprilTag integration.
You can grab the RCC executable from the rone Git repository, or from here: Click Me!
Basic Use and Overview
On start, the RCC automatically connects to all robots connected via serial, and will continually connect to robots when they are plugged into the computer (this might take a few seconds). The RCC can now allow connections over telnet to the IP and port displayed in the top-left to view what each robot is printing over serial.
To connect to the AprilTag server, click on the AprilTag Server textbox in the upper-right, type in the IP address and port (default 2001) to the server, and press enter. The screen will now split and show a map of each AprilTag seen.
Click functions can be chosen from the toolbar on the left-hand side of the screen, which will be detailed in the next section.
To select a click-mode, click on one of the two letter sets on the left-hand toolbar on the RCC. The current click-mode will be highlighted in red.
The click functions of the RCC are as follows:
CT (Connect over Telnet): Clicking on a robot or AprilTag will spawn a Secure CRT connection to the RCC already connected to the robot or AprilTag clicked. If the robot or AprilTag is linked to an AprilTag or robot respectively, it will also display this data.
- If a robot is locally connected, input typed and sent over telnet will be forwarded to the robot.
- Messages received from the robots are time-stamped by the server as soon as they are received.
- The time-stamp is delimited by a comma so that if the robot is outputting CSV-styled data, it will still be easily parsable.
RH (Make robot into a Radio Host): Clicking on a locally connected robot with this click-mode will send a command to the robot to enable remote terminal radio hosting, allowing remote robots to print to the RCC.
- Shown by a red ring around the robot.
BL (Blacklist a robot): Blacklists this robot ID from auto-connecting and disconnects the robot from the RCC. This allows for other programs to connect the robot over serial. If clicked again, the robot is un-blacklisted and reconnected if available.
- Shown by a red X over the robot.
SC (Serial Connect): Blacklists a robot and opens a Secure CRT connection over serial to communicate with the robot.
LG (Log data): Begins to log all data received by either a robot or AprilTag to a file.
- Shown by a square box with an 'L'
- By default these logs are stored in the ''.\logs\'' directory and are time-stamped by ''ID_YYYY-MM-DD-THHMMSS.log''
AL (AprilTag Link): By clicking on a robot then AprilTag or AprilTag then robot, the two's data is paired. Whenever any connection is made to either the robot or AprilTag the latest data from its pair is retrieved and sent as well. This also works for logging, as when paired the log file will contain the data from both the robot and AprilTag. To unlink, double-click on either the robot or AprilTag. Tags are automatically un-linked when another tag or robot is paired.
- The data from the AprilTag is always put after the robot's data if paired, and is separated by commas in the format ''x, y, theta''
- Shown by a square box in the bottom right with the AprilTag's ID
IN (Information): By clicking or a robot or AprilTag, additional information about that robot or AprilTag is displayed. For robots, radio subnet and approximate bandwidth are shown along with other visually displayed data. For AprilTags, exact coordinates are shown.
These are the buttons underneath the click-modes that do some helpful functions.
OL (Open all Local robots): Opens a telnet connection to all locally connected robots.
OR (Open all Remote robots): Opens a telnet connection to all remotely connected robots.
KO (Kill all Open connections): Forcibly kills all open SecureCRT windows.
?? (Help): Shows a help with a quick reference to all buttons and functions.
There are several command-line arguments that can be fed to specify some default parameters of the RCC.
They are as follows:
-v | --verbose : Prints verbose debugging output. -p | --port : Specifies the port the RCC will attempt to listen on. -w | --width : The beginning maximum X value for the AprilTag map. -h | --height : The beginning maximum Y value for the AprilTag map. -l | --log : The directory to put log-files in. Will create the directory if it does not exist.
There are many keyboard shortcuts to quickly access different click-modes or utility functions. Here is a comprehensive list:
1 - 7: The number keys will quickly tab through the various click-modes, with each number key corresponding to the click-mode along the left.
Ctrl-a: Makes the AprilTag textbox active for input.
Ctrl-l: Performs the same as OL, which opens all locally connected robots via telnet.
Ctrl-r: Performs the same as OR, which opens all remotely connected robots via telnet.
Ctrl-w: Performs the same as KO, which kills all open Secure CRT windows.
Esc: Closes the RCC.
Shift-Left Click: Acts like CT, opens a telnet connection to a robot or AprilTag.
Ctrl-Left Click: Acts like BL, blacklists a robot.
Shift-Ctrl-Left Click: Acts like LG, logs a robot or AprilTag.
Alt-Left Click: Acts like RH, makes a robot a radio host.
Ctrl-Alt-Left Click: Acts like SC, connects to a robot directly via serial.