mirror of
https://github.com/CopterExpress/clover.git
synced 2026-05-26 11:43:25 +00:00
* docs: minor fix * docs: update PX4 docs links * docs: info on no mags found error * docs: some updates in setup section * docs: use enumerated list for consistency * docs: update firmware flashing section * docs: update * selfcheck.py: remove timestamps from selfcheck reports * selfcheck.py: add gzclient and gzserver to cpu eaters whitelist * selfcheck.py: make not finding vcgencmd not a failure * selfcheck.py: fix and simplify firmware version parsing, remove Clover firmware warning * docs: some updates to optical flow article * ci: cancel previous docs builds to avoid publishing old site * vpe_publisher: rename parameter publish_zero to force_init * genmap.py: use -p flag in example * selfcheck.py: add checking map=>body transform * selfcheck.py: bring back info about non-Clover firmware * docs: reduce qgc-params.png file size * docs: reduce size of some images * docs: rephrase firmware flashing section to continue recommending COEX firmware * docs: update PX4 docs links * docs: rename px4_parameters.md article to parameters.md * docs: add note about possible unintended switching out of LAND mode * docs: remove obsolete notes and simplify titles in autonomous flight article * clover.launch: add force_init argument PX4 1.12.3 doesn’t init by flow without mag force_init runs vpe_publisher to force init using vpe * docs: rework parameters article, make summary parameters table * docs: remove unused asset
94 lines
4.1 KiB
XML
94 lines
4.1 KiB
XML
<launch>
|
|
<arg name="fcu_conn" default="usb"/>
|
|
<arg name="fcu_ip" default="127.0.0.1"/>
|
|
<arg name="fcu_sys_id" default="1"/>
|
|
<arg name="gcs_bridge" default="tcp"/>
|
|
<arg name="web_video_server" default="true"/>
|
|
<arg name="rosbridge" default="true"/>
|
|
<arg name="main_camera" default="true"/>
|
|
<arg name="optical_flow" default="true"/>
|
|
<arg name="aruco" default="false"/>
|
|
<arg name="rangefinder_vl53l1x" default="true"/>
|
|
<arg name="led" default="true"/>
|
|
<arg name="blocks" default="false"/>
|
|
<arg name="rc" default="false"/>
|
|
<arg name="force_init" value="true"/> <!-- force estimator to init by publishing zero pose -->
|
|
|
|
<arg name="simulator" default="false"/> <!-- flag that we are operating on a simulated drone -->
|
|
|
|
<!-- log formatting -->
|
|
<env name="ROSCONSOLE_FORMAT" value="[${severity}] [${time}]: ${logger}: ${message}"/>
|
|
|
|
<!-- mavros -->
|
|
<include file="$(find clover)/launch/mavros.launch">
|
|
<arg name="fcu_conn" value="$(arg fcu_conn)"/>
|
|
<arg name="fcu_ip" value="$(arg fcu_ip)"/>
|
|
<arg name="fcu_sys_id" value="$(arg fcu_sys_id)"/>
|
|
<arg name="gcs_bridge" value="$(arg gcs_bridge)"/>
|
|
</include>
|
|
|
|
<!-- web video server -->
|
|
<node name="web_video_server" pkg="web_video_server" type="web_video_server" if="$(arg web_video_server)" required="false" respawn="true" respawn_delay="5">
|
|
<param name="default_stream_type" value="ros_compressed"/>
|
|
<param name="publish_rate" value="1.0"/>
|
|
</node>
|
|
|
|
<!-- aruco markers -->
|
|
<include file="$(find clover)/launch/aruco.launch" if="$(eval aruco or force_init)">
|
|
<arg name="force_init" value="$(arg force_init)"/>
|
|
<arg name="disable" value="$(eval not aruco)"/>
|
|
</include>
|
|
|
|
<!-- optical flow -->
|
|
<node pkg="nodelet" type="nodelet" name="optical_flow" args="load clover/optical_flow main_camera_nodelet_manager" if="$(arg optical_flow)" clear_params="true" output="screen" respawn="true">
|
|
<remap from="image_raw" to="main_camera/image_raw"/>
|
|
<remap from="camera_info" to="main_camera/camera_info"/>
|
|
<param name="calc_flow_gyro" value="true"/>
|
|
<param name="roi_rad" value="0.8"/>
|
|
</node>
|
|
|
|
<node pkg="tf2_ros" type="static_transform_publisher" name="map_flipped_frame" args="0 0 0 3.1415926 3.1415926 0 map map_flipped"/>
|
|
|
|
<!-- simplified offboard control -->
|
|
<node name="simple_offboard" pkg="clover" type="simple_offboard" output="screen" clear_params="true">
|
|
<param name="reference_frames/main_camera_optical" value="map"/>
|
|
</node>
|
|
|
|
<!-- main camera -->
|
|
<include file="$(find clover)/launch/main_camera.launch" if="$(arg main_camera)">
|
|
<arg name="simulator" value="$(arg simulator)"/>
|
|
</include>
|
|
|
|
<!-- rosbridge -->
|
|
<include file="$(find rosbridge_server)/launch/rosbridge_websocket.launch" if="$(eval rosbridge or rc)"/>
|
|
|
|
<!-- tf2 republisher for web visualization -->
|
|
<node name="tf2_web_republisher" pkg="tf2_web_republisher" type="tf2_web_republisher" output="screen" if="$(arg rosbridge)"/>
|
|
|
|
<!-- vl53l1x ToF rangefinder -->
|
|
<node name="rangefinder" pkg="vl53l1x" type="vl53l1x_node" output="screen" if="$(eval rangefinder_vl53l1x and not simulator)">
|
|
<param name="frame_id" value="rangefinder"/>
|
|
<param name="min_signal" value="0.4"/>
|
|
<param name="pass_statuses" type="yaml" value="[0, 6, 7, 11]"/>
|
|
</node>
|
|
|
|
<!-- led strip -->
|
|
<include file="$(find clover)/launch/led.launch" if="$(arg led)">
|
|
<arg name="simulator" value="$(arg simulator)"/>
|
|
</include>
|
|
|
|
<!-- Clover Blocks -->
|
|
<node name="clover_blocks" pkg="clover_blocks" type="clover_blocks" output="screen" if="$(arg blocks)"/>
|
|
|
|
<!-- rc backend -->
|
|
<node name="rc" pkg="clover" type="rc" output="screen" if="$(arg rc)" clear_params="true">
|
|
<!-- Send fake GCS heartbeats. Set to "true" for upstream PX4 -->
|
|
<param name="use_fake_gcs" value="false"/>
|
|
</node>
|
|
|
|
<!-- Update static directory -->
|
|
<node pkg="roswww_static" name="roswww_static" type="main.py" clear_params="true">
|
|
<param name="default_package" value="clover"/>
|
|
</node>
|
|
</launch>
|