mirror of
https://github.com/CopterExpress/clover.git
synced 2026-05-26 21:19:35 +00:00
clover_blocks
Blockly programming support for Clover.
See user documentation at the main Clover documentation site.
Internal package documentation is given below.
Frontend
The frontend files are located in www subdirectory. The frontend application uses roblib.js library for communicating with backend node and other ROS resources.
clover_blocks node
clover_blocks is the blocks programming backend, implementing all the services and topics needed for running Blockly-generated Python script.
Services
~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>/programsby default).~load(clover_blocks/load) – load all the stored programs.
Parameters
~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).~yaw_tolerance(float) – yaw angle tolerance in degrees, used in set_yaw block (default: 20).~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
Topics
Published
~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.