Blockly programming support for Clover.
See user documentation at the main Clover documentation site.
Internal package documentation is given below.
The frontend files are located in www
subdirectory. The frontend application uses roslib.js
library for communicating with backend node and other ROS resources.
clover_blocks
is the blocks programming backend, implementing all the services and topics needed for running Blockly-generated Python script.
~run
(clover_blocks/Run) – run Blockly-generated program (in Python).~stop
(std_srvs/Trigger) – terminate the running program.~store
(clover_blocks/load) – store a user program (to<package_path>/programs
by default).~load
(clover_blocks/load) – load all the stored programs.
~programs_dir
(string) – directory for user programs.
Parameters read by frontend:
~navigate_tolerance
(float) – distance tolerance in meters, used for navigate-like blocks (default: 0.2).~navigate_global_tolerance
(float) – distance tolerance for global coordinates navigation (default: 1).~yaw_tolerance
(float) – yaw angle tolerance in degrees, used in set_yaw block (default: 1).~sleep_time
(float) – duration of sleep in loop cycles, used for navigate-like blocks (default: 0.2).~confirm_run
(bool) – enable confirmation to run the program (default: true).
These parameters also can be set as URL GET-parameters, for example:
http://<hostname>/clover_blocks/?navigate_tolerance=0.5&sleep_time=0.1
~running
(std_msgs/Bool) – indicates if the program is currently running.~block
(std_msgs/String) – current executing block (maximum topic rate is limited).~error
(std_msgs/String) – user program errors and exceptions.~prompt
(clover_blocks/Prompt) – user input request (includes random request ID string).
This topic is published from the frontend side:
~prompt/<request_id>
(std_msgs/String) – user input response.