mirror of
https://github.com/CopterExpress/clover.git
synced 2026-05-26 11:43:25 +00:00
* Allow using nans for most of services parameters * Add terrain frame * Remove yaw_rate parameter from most services * Add set_yaw and set_yaw_rate services * Correct order for pitch and roll everywhere to match XYZ convention * Add simple_offboard/state topic * Add essential tests * Stop publishing setpoints when land called
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 roslib.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).~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
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.