mirror of
https://github.com/CopterExpress/clover.git
synced 2026-06-01 07:29:32 +00:00
Compare commits
80 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6defbea453 | ||
|
|
9e8470a3cb | ||
|
|
e9cd3d917c | ||
|
|
373cefb01c | ||
|
|
d0039ea23f | ||
|
|
bd25818aa7 | ||
|
|
a73457c5c5 | ||
|
|
c8a4d49577 | ||
|
|
123379b60e | ||
|
|
71d3144691 | ||
|
|
d306a9d96d | ||
|
|
1d514cf5ca | ||
|
|
c0707e066a | ||
|
|
91c6998633 | ||
|
|
96adadeae9 | ||
|
|
a1061ff32c | ||
|
|
e9d13b865c | ||
|
|
b655a4274e | ||
|
|
d58a59afab | ||
|
|
7b431fa021 | ||
|
|
d0fabd8b3e | ||
|
|
b50207e5e9 | ||
|
|
97797a9178 | ||
|
|
1e8569b664 | ||
|
|
21cc47eecb | ||
|
|
4c56adafb2 | ||
|
|
8a524a8aa5 | ||
|
|
5493445747 | ||
|
|
0ef26334dc | ||
|
|
8d83e8faa3 | ||
|
|
9b90214d9d | ||
|
|
224f6cee27 | ||
|
|
ff04b2fb75 | ||
|
|
473444ae33 | ||
|
|
168734ad8c | ||
|
|
4e7b2e379a | ||
|
|
ad1d51fd9e | ||
|
|
57c415db22 | ||
|
|
568386a758 | ||
|
|
55f8f4fa1a | ||
|
|
dd0dd6b5c1 | ||
|
|
4c40bea226 | ||
|
|
6b3f5c3690 | ||
|
|
63067823ee | ||
|
|
880f67c3bc | ||
|
|
839aeb6a26 | ||
|
|
b123585756 | ||
|
|
fa4757a4c8 | ||
|
|
28d77aea33 | ||
|
|
0425e1da24 | ||
|
|
692d424a0b | ||
|
|
1c9fd7b126 | ||
|
|
a1752c1642 | ||
|
|
0dbd2d1048 | ||
|
|
79408861a2 | ||
|
|
063f2c3c13 | ||
|
|
68819bbd34 | ||
|
|
3a5c3d5bb4 | ||
|
|
032eb52a88 | ||
|
|
7dc24437cf | ||
|
|
1ccb756931 | ||
|
|
b5268a7b62 | ||
|
|
a0663d6b36 | ||
|
|
26f2c966ff | ||
|
|
4517186862 | ||
|
|
5236afe035 | ||
|
|
fe1707d0c3 | ||
|
|
03854d2589 | ||
|
|
28339e65af | ||
|
|
e11f0cf054 | ||
|
|
c1045cd11e | ||
|
|
aa3373da58 | ||
|
|
a4ad408228 | ||
|
|
0d436637cd | ||
|
|
18daff1044 | ||
|
|
b96d17a746 | ||
|
|
1506d3fd96 | ||
|
|
eec0833707 | ||
|
|
f9883baa87 | ||
|
|
3bebecf91e |
20
.github/workflows/build.yml
vendored
20
.github/workflows/build.yml
vendored
@@ -25,8 +25,8 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
path: catkin_ws/src/clover
|
||||
- name: Install pip
|
||||
run: apt-get update && apt-get -y install python3-pip
|
||||
- name: Install requirements
|
||||
run: apt-get update && apt-get -y install python3-pip fakeroot python3-bloom debhelper dpkg-dev
|
||||
- name: Install dependencies
|
||||
run: rosdep update && rosdep install --from-paths src --ignore-src -y
|
||||
- name: Install GeographicLib datasets
|
||||
@@ -35,5 +35,17 @@ jobs:
|
||||
run: source /opt/ros/$ROS_DISTRO/setup.bash && catkin_make
|
||||
- name: Run tests
|
||||
run: source devel/setup.bash && catkin_make run_tests && catkin_test_results
|
||||
- name: Install
|
||||
run: source devel/setup.bash && catkin_make install
|
||||
- name: Build Debian packages
|
||||
run: |
|
||||
source devel/setup.bash
|
||||
for file in `find . -name "package.xml"`; do
|
||||
cd $(dirname ${file})
|
||||
bloom-generate rosdebian --os-name ubuntu --os-version $(lsb_release -cs) --ros-distro $ROS_DISTRO
|
||||
fakeroot debian/rules binary
|
||||
cd -
|
||||
done
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: debian-packages
|
||||
path: catkin_ws/src/clover/*.deb
|
||||
retention-days: 1
|
||||
|
||||
735
builder/assets/noetic-bullseye.yaml
Normal file
735
builder/assets/noetic-bullseye.yaml
Normal file
@@ -0,0 +1,735 @@
|
||||
catkin:
|
||||
debian:
|
||||
bullseye: [ros-noetic-catkin]
|
||||
genmsg:
|
||||
debian:
|
||||
bullseye: [ros-noetic-genmsg]
|
||||
gencpp:
|
||||
debian:
|
||||
bullseye: [ros-noetic-gencpp]
|
||||
geneus:
|
||||
debian:
|
||||
bullseye: [ros-noetic-geneus]
|
||||
genlisp:
|
||||
debian:
|
||||
bullseye: [ros-noetic-genlisp]
|
||||
gennodejs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-gennodejs]
|
||||
genpy:
|
||||
debian:
|
||||
bullseye: [ros-noetic-genpy]
|
||||
bond_core:
|
||||
debian:
|
||||
bullseye: [ros-noetic-bond-core]
|
||||
cmake_modules:
|
||||
debian:
|
||||
bullseye: [ros-noetic-cmake-modules]
|
||||
class_loader:
|
||||
debian:
|
||||
bullseye: [ros-noetic-class-loader]
|
||||
common_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-common-msgs]
|
||||
common_tutorials:
|
||||
debian:
|
||||
bullseye: [ros-noetic-common-tutorials]
|
||||
cpp_common:
|
||||
debian:
|
||||
bullseye: [ros-noetic-cpp-common]
|
||||
desktop:
|
||||
debian:
|
||||
bullseye: [ros-noetic-desktop]
|
||||
diagnostics:
|
||||
debian:
|
||||
bullseye: [ros-noetic-diagnostics]
|
||||
executive_smach:
|
||||
debian:
|
||||
bullseye: [ros-noetic-executive-smach]
|
||||
geometry:
|
||||
debian:
|
||||
bullseye: [ros-noetic-geometry]
|
||||
geometry_tutorials:
|
||||
debian:
|
||||
bullseye: [ros-noetic-geometry-tutorials]
|
||||
gl_dependency:
|
||||
debian:
|
||||
bullseye: [ros-noetic-gl-dependency]
|
||||
image_common:
|
||||
debian:
|
||||
bullseye: [ros-noetic-image-common]
|
||||
image_pipeline:
|
||||
debian:
|
||||
bullseye: [ros-noetic-image-pipeline]
|
||||
image_transport_plugins:
|
||||
debian:
|
||||
bullseye: [ros-noetic-image-transport-plugins]
|
||||
laser_pipeline:
|
||||
debian:
|
||||
bullseye: [ros-noetic-laser-pipeline]
|
||||
mavlink:
|
||||
debian:
|
||||
bullseye: [ros-noetic-mavlink]
|
||||
media_export:
|
||||
debian:
|
||||
bullseye: [ros-noetic-media-export]
|
||||
message_generation:
|
||||
debian:
|
||||
bullseye: [ros-noetic-message-generation]
|
||||
message_runtime:
|
||||
debian:
|
||||
bullseye: [ros-noetic-message-runtime]
|
||||
mk:
|
||||
debian:
|
||||
bullseye: [ros-noetic-mk]
|
||||
nodelet_core:
|
||||
debian:
|
||||
bullseye: [ros-noetic-nodelet-core]
|
||||
orocos_kdl:
|
||||
debian:
|
||||
bullseye: [ros-noetic-orocos-kdl]
|
||||
perception:
|
||||
debian:
|
||||
bullseye: [ros-noetic-perception]
|
||||
perception_pcl:
|
||||
debian:
|
||||
bullseye: [ros-noetic-perception-pcl]
|
||||
python_orocos_kdl:
|
||||
debian:
|
||||
bullseye: [ros-noetic-python-orocos-kdl]
|
||||
qt_dotgraph:
|
||||
debian:
|
||||
bullseye: [ros-noetic-qt-dotgraph]
|
||||
qt_gui:
|
||||
debian:
|
||||
bullseye: [ros-noetic-qt-gui]
|
||||
qt_gui_py_common:
|
||||
debian:
|
||||
bullseye: [ros-noetic-qt-gui-py-common]
|
||||
qwt_dependency:
|
||||
debian:
|
||||
bullseye: [ros-noetic-qwt-dependency]
|
||||
robot:
|
||||
debian:
|
||||
bullseye: [ros-noetic-robot]
|
||||
ros:
|
||||
debian:
|
||||
bullseye: [ros-noetic-ros]
|
||||
ros_base:
|
||||
debian:
|
||||
bullseye: [ros-noetic-ros-base]
|
||||
ros_comm:
|
||||
debian:
|
||||
bullseye: [ros-noetic-ros-comm]
|
||||
ros_core:
|
||||
debian:
|
||||
bullseye: [ros-noetic-ros-core]
|
||||
ros_environment:
|
||||
debian:
|
||||
bullseye: [ros-noetic-ros-environment]
|
||||
ros_tutorials:
|
||||
debian:
|
||||
bullseye: [ros-noetic-ros-tutorials]
|
||||
rosapi:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosapi]
|
||||
rosbag_migration_rule:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosbag-migration-rule]
|
||||
rosbash:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosbash]
|
||||
rosboost_cfg:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosboost-cfg]
|
||||
rosbridge_server:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosbridge-server]
|
||||
rosbridge_suite:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosbridge-suite]
|
||||
rosbuild:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosbuild]
|
||||
rosclean:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosclean]
|
||||
roscpp_core:
|
||||
debian:
|
||||
bullseye: [ros-noetic-roscpp-core]
|
||||
roscpp_traits:
|
||||
debian:
|
||||
bullseye: [ros-noetic-roscpp-traits]
|
||||
roscreate:
|
||||
debian:
|
||||
bullseye: [ros-noetic-roscreate]
|
||||
rosgraph:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosgraph]
|
||||
roslang:
|
||||
debian:
|
||||
bullseye: [ros-noetic-roslang]
|
||||
roslint:
|
||||
debian:
|
||||
bullseye: [ros-noetic-roslint]
|
||||
roslisp:
|
||||
debian:
|
||||
bullseye: [ros-noetic-roslisp]
|
||||
rosmake:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosmake]
|
||||
rosmaster:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosmaster]
|
||||
rospack:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rospack]
|
||||
roslib:
|
||||
debian:
|
||||
bullseye: [ros-noetic-roslib]
|
||||
rosparam:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosparam]
|
||||
rospy:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rospy]
|
||||
rosserial:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosserial]
|
||||
rosserial_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosserial-msgs]
|
||||
rosserial_python:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosserial-python]
|
||||
rosservice:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosservice]
|
||||
rostime:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rostime]
|
||||
roscpp_serialization:
|
||||
debian:
|
||||
bullseye: [ros-noetic-roscpp-serialization]
|
||||
python_qt_binding:
|
||||
debian:
|
||||
bullseye: [ros-noetic-python-qt-binding]
|
||||
roslaunch:
|
||||
debian:
|
||||
bullseye: [ros-noetic-roslaunch]
|
||||
rosunit:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosunit]
|
||||
angles:
|
||||
debian:
|
||||
bullseye: [ros-noetic-angles]
|
||||
libmavconn:
|
||||
debian:
|
||||
bullseye: [ros-noetic-libmavconn]
|
||||
rosconsole:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosconsole]
|
||||
pluginlib:
|
||||
debian:
|
||||
bullseye: [ros-noetic-pluginlib]
|
||||
qt_gui_cpp:
|
||||
debian:
|
||||
bullseye: [ros-noetic-qt-gui-cpp]
|
||||
resource_retriever:
|
||||
debian:
|
||||
bullseye: [ros-noetic-resource-retriever]
|
||||
rosconsole_bridge:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosconsole-bridge]
|
||||
roslz4:
|
||||
debian:
|
||||
bullseye: [ros-noetic-roslz4]
|
||||
rosserial_client:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosserial-client]
|
||||
rostest:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rostest]
|
||||
rqt_action:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-action]
|
||||
rqt_bag:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-bag]
|
||||
rqt_bag_plugins:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-bag-plugins]
|
||||
rqt_common_plugins:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-common-plugins]
|
||||
rqt_console:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-console]
|
||||
rqt_dep:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-dep]
|
||||
rqt_graph:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-graph]
|
||||
rqt_gui:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-gui]
|
||||
rqt_logger_level:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-logger-level]
|
||||
rqt_moveit:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-moveit]
|
||||
rqt_msg:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-msg]
|
||||
rqt_nav_view:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-nav-view]
|
||||
rqt_plot:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-plot]
|
||||
rqt_pose_view:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-pose-view]
|
||||
rqt_publisher:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-publisher]
|
||||
rqt_py_console:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-py-console]
|
||||
rqt_reconfigure:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-reconfigure]
|
||||
rqt_robot_dashboard:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-robot-dashboard]
|
||||
rqt_robot_monitor:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-robot-monitor]
|
||||
rqt_robot_plugins:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-robot-plugins]
|
||||
rqt_robot_steering:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-robot-steering]
|
||||
rqt_runtime_monitor:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-runtime-monitor]
|
||||
rqt_service_caller:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-service-caller]
|
||||
rqt_shell:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-shell]
|
||||
rqt_srv:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-srv]
|
||||
rqt_tf_tree:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-tf-tree]
|
||||
rqt_top:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-top]
|
||||
rqt_topic:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-topic]
|
||||
rqt_web:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-web]
|
||||
smach:
|
||||
debian:
|
||||
bullseye: [ros-noetic-smach]
|
||||
smclib:
|
||||
debian:
|
||||
bullseye: [ros-noetic-smclib]
|
||||
std_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-std-msgs]
|
||||
actionlib_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-actionlib-msgs]
|
||||
bond:
|
||||
debian:
|
||||
bullseye: [ros-noetic-bond]
|
||||
diagnostic_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-diagnostic-msgs]
|
||||
geometry_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-geometry-msgs]
|
||||
eigen_conversions:
|
||||
debian:
|
||||
bullseye: [ros-noetic-eigen-conversions]
|
||||
kdl_conversions:
|
||||
debian:
|
||||
bullseye: [ros-noetic-kdl-conversions]
|
||||
nav_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-nav-msgs]
|
||||
rosbridge_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosbridge-msgs]
|
||||
rosgraph_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosgraph-msgs]
|
||||
rosmsg:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosmsg]
|
||||
rqt_py_common:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-py-common]
|
||||
shape_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-shape-msgs]
|
||||
smach_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-smach-msgs]
|
||||
std_srvs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-std-srvs]
|
||||
tf2_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-tf2-msgs]
|
||||
tf2:
|
||||
debian:
|
||||
bullseye: [ros-noetic-tf2]
|
||||
tf2_eigen:
|
||||
debian:
|
||||
bullseye: [ros-noetic-tf2-eigen]
|
||||
trajectory_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-trajectory-msgs]
|
||||
control_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-control-msgs]
|
||||
urdf_parser_plugin:
|
||||
debian:
|
||||
bullseye: [ros-noetic-urdf-parser-plugin]
|
||||
urdfdom_py:
|
||||
debian:
|
||||
bullseye: [ros-noetic-urdfdom-py]
|
||||
uuid_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-uuid-msgs]
|
||||
geographic_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-geographic-msgs]
|
||||
vision_opencv:
|
||||
debian:
|
||||
bullseye: [ros-noetic-vision-opencv]
|
||||
visualization_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-visualization-msgs]
|
||||
visualization_tutorials:
|
||||
debian:
|
||||
bullseye: [ros-noetic-visualization-tutorials]
|
||||
viz:
|
||||
debian:
|
||||
bullseye: [ros-noetic-viz]
|
||||
webkit_dependency:
|
||||
debian:
|
||||
bullseye: [ros-noetic-webkit-dependency]
|
||||
xmlrpcpp:
|
||||
debian:
|
||||
bullseye: [ros-noetic-xmlrpcpp]
|
||||
roscpp:
|
||||
debian:
|
||||
bullseye: [ros-noetic-roscpp]
|
||||
bondcpp:
|
||||
debian:
|
||||
bullseye: [ros-noetic-bondcpp]
|
||||
bondpy:
|
||||
debian:
|
||||
bullseye: [ros-noetic-bondpy]
|
||||
nodelet:
|
||||
debian:
|
||||
bullseye: [ros-noetic-nodelet]
|
||||
nodelet_tutorial_math:
|
||||
debian:
|
||||
bullseye: [ros-noetic-nodelet-tutorial-math]
|
||||
pluginlib_tutorials:
|
||||
debian:
|
||||
bullseye: [ros-noetic-pluginlib-tutorials]
|
||||
roscpp_tutorials:
|
||||
debian:
|
||||
bullseye: [ros-noetic-roscpp-tutorials]
|
||||
rosout:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosout]
|
||||
async_web_server_cpp:
|
||||
debian:
|
||||
bullseye: [ros-noetic-async-web-server-cpp]
|
||||
camera_calibration:
|
||||
debian:
|
||||
bullseye: [ros-noetic-camera-calibration]
|
||||
diagnostic_aggregator:
|
||||
debian:
|
||||
bullseye: [ros-noetic-diagnostic-aggregator]
|
||||
diagnostic_updater:
|
||||
debian:
|
||||
bullseye: [ros-noetic-diagnostic-updater]
|
||||
diagnostic_common_diagnostics:
|
||||
debian:
|
||||
bullseye: [ros-noetic-diagnostic-common-diagnostics]
|
||||
dynamic_reconfigure:
|
||||
debian:
|
||||
bullseye: [ros-noetic-dynamic-reconfigure]
|
||||
filters:
|
||||
debian:
|
||||
bullseye: [ros-noetic-filters]
|
||||
joint_state_publisher:
|
||||
debian:
|
||||
bullseye: [ros-noetic-joint-state-publisher]
|
||||
message_filters:
|
||||
debian:
|
||||
bullseye: [ros-noetic-message-filters]
|
||||
ros_pytest:
|
||||
debian:
|
||||
bullseye: [ros-noetic-ros-pytest]
|
||||
rosauth:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosauth]
|
||||
rosbag_storage:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosbag-storage]
|
||||
rosnode:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosnode]
|
||||
rospy_tutorials:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rospy-tutorials]
|
||||
rosshow:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosshow]
|
||||
rostopic:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rostopic]
|
||||
rqt_gui_cpp:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-gui-cpp]
|
||||
rqt_gui_py:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-gui-py]
|
||||
self_test:
|
||||
debian:
|
||||
bullseye: [ros-noetic-self-test]
|
||||
smach_ros:
|
||||
debian:
|
||||
bullseye: [ros-noetic-smach-ros]
|
||||
tf2_py:
|
||||
debian:
|
||||
bullseye: [ros-noetic-tf2-py]
|
||||
topic_tools:
|
||||
debian:
|
||||
bullseye: [ros-noetic-topic-tools]
|
||||
rosbag:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosbag]
|
||||
actionlib:
|
||||
debian:
|
||||
bullseye: [ros-noetic-actionlib]
|
||||
actionlib_tutorials:
|
||||
debian:
|
||||
bullseye: [ros-noetic-actionlib-tutorials]
|
||||
diagnostic_analysis:
|
||||
debian:
|
||||
bullseye: [ros-noetic-diagnostic-analysis]
|
||||
nodelet_topic_tools:
|
||||
debian:
|
||||
bullseye: [ros-noetic-nodelet-topic-tools]
|
||||
roswtf:
|
||||
debian:
|
||||
bullseye: [ros-noetic-roswtf]
|
||||
rqt_launch:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-launch]
|
||||
sensor_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-sensor-msgs]
|
||||
camera_calibration_parsers:
|
||||
debian:
|
||||
bullseye: [ros-noetic-camera-calibration-parsers]
|
||||
cv_bridge:
|
||||
debian:
|
||||
bullseye: [ros-noetic-cv-bridge]
|
||||
image_geometry:
|
||||
debian:
|
||||
bullseye: [ros-noetic-image-geometry]
|
||||
image_transport:
|
||||
debian:
|
||||
bullseye: [ros-noetic-image-transport]
|
||||
camera_info_manager:
|
||||
debian:
|
||||
bullseye: [ros-noetic-camera-info-manager]
|
||||
compressed_depth_image_transport:
|
||||
debian:
|
||||
bullseye: [ros-noetic-compressed-depth-image-transport]
|
||||
compressed_image_transport:
|
||||
debian:
|
||||
bullseye: [ros-noetic-compressed-image-transport]
|
||||
cv_camera:
|
||||
debian:
|
||||
bullseye: [ros-noetic-cv-camera]
|
||||
image_proc:
|
||||
debian:
|
||||
bullseye: [ros-noetic-image-proc]
|
||||
image_publisher:
|
||||
debian:
|
||||
bullseye: [ros-noetic-image-publisher]
|
||||
map_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-map-msgs]
|
||||
mavros_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-mavros-msgs]
|
||||
pcl_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-pcl-msgs]
|
||||
pcl_conversions:
|
||||
debian:
|
||||
bullseye: [ros-noetic-pcl-conversions]
|
||||
polled_camera:
|
||||
debian:
|
||||
bullseye: [ros-noetic-polled-camera]
|
||||
rqt_image_view:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-image-view]
|
||||
stereo_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-stereo-msgs]
|
||||
image_view:
|
||||
debian:
|
||||
bullseye: [ros-noetic-image-view]
|
||||
rosbridge_library:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rosbridge-library]
|
||||
stereo_image_proc:
|
||||
debian:
|
||||
bullseye: [ros-noetic-stereo-image-proc]
|
||||
tf2_ros:
|
||||
debian:
|
||||
bullseye: [ros-noetic-tf2-ros]
|
||||
depth_image_proc:
|
||||
debian:
|
||||
bullseye: [ros-noetic-depth-image-proc]
|
||||
mavros:
|
||||
debian:
|
||||
bullseye: [ros-noetic-mavros]
|
||||
tf:
|
||||
debian:
|
||||
bullseye: [ros-noetic-tf]
|
||||
interactive_markers:
|
||||
debian:
|
||||
bullseye: [ros-noetic-interactive-markers]
|
||||
interactive_marker_tutorials:
|
||||
debian:
|
||||
bullseye: [ros-noetic-interactive-marker-tutorials]
|
||||
laser_geometry:
|
||||
debian:
|
||||
bullseye: [ros-noetic-laser-geometry]
|
||||
laser_assembler:
|
||||
debian:
|
||||
bullseye: [ros-noetic-laser-assembler]
|
||||
laser_filters:
|
||||
debian:
|
||||
bullseye: [ros-noetic-laser-filters]
|
||||
pcl_ros:
|
||||
debian:
|
||||
bullseye: [ros-noetic-pcl-ros]
|
||||
tf2_geometry_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-tf2-geometry-msgs]
|
||||
image_rotate:
|
||||
debian:
|
||||
bullseye: [ros-noetic-image-rotate]
|
||||
tf2_kdl:
|
||||
debian:
|
||||
bullseye: [ros-noetic-tf2-kdl]
|
||||
tf2_web_republisher:
|
||||
debian:
|
||||
bullseye: [ros-noetic-tf2-web-republisher]
|
||||
tf_conversions:
|
||||
debian:
|
||||
bullseye: [ros-noetic-tf-conversions]
|
||||
theora_image_transport:
|
||||
debian:
|
||||
bullseye: [ros-noetic-theora-image-transport]
|
||||
turtlesim:
|
||||
debian:
|
||||
bullseye: [ros-noetic-turtlesim]
|
||||
turtle_actionlib:
|
||||
debian:
|
||||
bullseye: [ros-noetic-turtle-actionlib]
|
||||
turtle_tf:
|
||||
debian:
|
||||
bullseye: [ros-noetic-turtle-tf]
|
||||
turtle_tf2:
|
||||
debian:
|
||||
bullseye: [ros-noetic-turtle-tf2]
|
||||
urdf:
|
||||
debian:
|
||||
bullseye: [ros-noetic-urdf]
|
||||
kdl_parser:
|
||||
debian:
|
||||
bullseye: [ros-noetic-kdl-parser]
|
||||
kdl_parser_py:
|
||||
debian:
|
||||
bullseye: [ros-noetic-kdl-parser-py]
|
||||
mavros_extras:
|
||||
debian:
|
||||
bullseye: [ros-noetic-mavros-extras]
|
||||
robot_state_publisher:
|
||||
debian:
|
||||
bullseye: [ros-noetic-robot-state-publisher]
|
||||
rviz:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rviz]
|
||||
librviz_tutorial:
|
||||
debian:
|
||||
bullseye: [ros-noetic-librviz-tutorial]
|
||||
rqt_rviz:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rqt-rviz]
|
||||
rviz_plugin_tutorials:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rviz-plugin-tutorials]
|
||||
rviz_python_tutorial:
|
||||
debian:
|
||||
bullseye: [ros-noetic-rviz-python-tutorial]
|
||||
urdf_tutorial:
|
||||
debian:
|
||||
bullseye: [ros-noetic-urdf-tutorial]
|
||||
usb_cam:
|
||||
debian:
|
||||
bullseye: [ros-noetic-usb-cam]
|
||||
visualization_marker_tutorials:
|
||||
debian:
|
||||
bullseye: [ros-noetic-visualization-marker-tutorials]
|
||||
vl53l1x:
|
||||
debian:
|
||||
bullseye: [ros-noetic-vl53l1x]
|
||||
web_video_server:
|
||||
debian:
|
||||
bullseye: [ros-noetic-web-video-server]
|
||||
xacro:
|
||||
debian:
|
||||
bullseye: [ros-noetic-xacro]
|
||||
led_msgs:
|
||||
debian:
|
||||
bullseye: [ros-noetic-led-msgs]
|
||||
ws281x:
|
||||
debian:
|
||||
bullseye: [ros-noetic-ws281x]
|
||||
ddynamic_reconfigure:
|
||||
debian:
|
||||
bullseye: [ros-noetic-ddynamic-reconfigure]
|
||||
librealsense2:
|
||||
debian:
|
||||
bullseye: [ros-noetic-librealsense2]
|
||||
realsense2_camera:
|
||||
debian:
|
||||
bullseye: [ros-noetic-realsense2-camera]
|
||||
realsense2_description:
|
||||
debian:
|
||||
bullseye: [ros-noetic-realsense2-description]
|
||||
100
builder/image-build-ros.sh
Executable file
100
builder/image-build-ros.sh
Executable file
@@ -0,0 +1,100 @@
|
||||
#! /usr/bin/env bash
|
||||
|
||||
#
|
||||
# Script for building ROS packages from scratch
|
||||
#
|
||||
# Copyright (C) 2022 Copter Express Technologies
|
||||
#
|
||||
# Author: Oleg Kalachev <okalachev@gmail.com>
|
||||
#
|
||||
# Distributed under MIT License (available at https://opensource.org/licenses/MIT).
|
||||
# The above copyright notice and this permission notice shall be included in all
|
||||
# copies or substantial portions of the Software.
|
||||
#
|
||||
|
||||
set -ex # exit on error, echo commands
|
||||
|
||||
# http://wiki.ros.org/Installation/Source
|
||||
|
||||
export ROS_DISTRO=noetic
|
||||
. /etc/os-release # set $VERSION_CODENAME to Debian release code name
|
||||
export ROS_OS_OVERRIDE=debian:11:$VERSION_CODENAME
|
||||
|
||||
echo "=== Building ROS from scratch"
|
||||
|
||||
#echo "--- Adding sources"
|
||||
#echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list
|
||||
#curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
|
||||
|
||||
apt-get update
|
||||
apt-get install -y python3-distutils python3-rosdep python3-rosinstall-generator build-essential git # python3-vcstool
|
||||
|
||||
# install vcstool using pip
|
||||
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && python3 get-pip.py && rm get-pip.py
|
||||
pip3 install -U vcstool
|
||||
|
||||
# sudo rosdep init
|
||||
rm /etc/ros/rosdep/sources.list.d/20-default.list
|
||||
rosdep init
|
||||
rosdep update
|
||||
|
||||
# rm /etc/ros/rosdep/sources.list.d/20-default.list && rosdep init
|
||||
# rosdep --os=debian:$VERSION_CODENAME update
|
||||
|
||||
echo "--- Create Catkin workspace to build ROS package"
|
||||
mkdir ~/ros_catkin_ws
|
||||
cd ~/ros_catkin_ws
|
||||
|
||||
echo "--- Download ROS sources"
|
||||
rosinstall_generator ros_base --rosdistro $ROS_DISTRO --deps --tar > noetic.rosinstall
|
||||
mkdir ./src
|
||||
vcs import --input noetic.rosinstall ./src
|
||||
|
||||
# https://answers.ros.org/question/343367/catkin-package-dependencies-issue-when-installing-ros-melodic-on-raspberry-pi-4/
|
||||
#sudo apt remove python-rospkg
|
||||
#sudo apt remove python-catkin-pkg
|
||||
##sudo apt --fix-broken install
|
||||
#sudo apt-get autoremove
|
||||
|
||||
echo "--- Install catkin_pkg"
|
||||
cd
|
||||
git clone https://github.com/ros-infrastructure/catkin_pkg.git
|
||||
cd catkin_pkg
|
||||
python3 setup.py install
|
||||
cd ~/ros_catkin_ws
|
||||
|
||||
echo "--- Resolve dependencies"
|
||||
rosdep install --from-paths ./src --ignore-packages-from-source --rosdistro $ROS_DISTRO -y --os=debian:$VERSION_CODENAME --skip-keys="python3-catkin-pkg python3-catkin-pkg-modules python3-rosdep-modules"
|
||||
|
||||
echo "--- Build ROS"
|
||||
# https://github.com/ros/catkin/issues/863#issuecomment-290392074
|
||||
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release \
|
||||
-DSETUPTOOLS_DEB_LAYOUT=OFF \
|
||||
--install-space=/opt/ros/$ROS_DISTRO
|
||||
|
||||
# source ~/ros_catkin_ws/install_isolated/setup.bash
|
||||
source /opt/ros/$ROS_DISTRO/setup.bash
|
||||
|
||||
echo "--- List built ROS packages"
|
||||
set +x
|
||||
rospack list-names | while read line; do echo $line `rosversion $line`; done
|
||||
set -x
|
||||
|
||||
echo "--- Build Debian packages"
|
||||
apt-get install -y python3-bloom debhelper dpkg-dev libtinyxml-dev
|
||||
|
||||
# add rosdep file to help bloom-generate resolve missing bullseye dependencies
|
||||
echo "yaml file:///etc/ros/rosdep/noetic-bullseye.yaml" >> /etc/ros/rosdep/sources.list.d/20-default.list
|
||||
rosdep update
|
||||
|
||||
pip3 install setuptools==45.2.0 # https://github.com/ros/catkin/issues/863#issuecomment-1000446018
|
||||
|
||||
for file in `find . -name "package.xml" -not -path "*/debian/*"`; do
|
||||
cd $(dirname ${file})
|
||||
rm -rf debian
|
||||
bloom-generate rosdebian --os-name debian --os-version $VERSION_CODENAME --ros-distro $ROS_DISTRO --debug
|
||||
debian/rules binary # fakeroot is not needed as we are root
|
||||
cd -
|
||||
done
|
||||
|
||||
ls
|
||||
@@ -16,7 +16,7 @@
|
||||
set -e # Exit immidiately on non-zero result
|
||||
|
||||
# https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
|
||||
SOURCE_IMAGE="https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2021-05-28/2021-05-07-raspios-buster-armhf-lite.zip"
|
||||
SOURCE_IMAGE="https://downloads.raspberrypi.com/raspios_lite_armhf/images/raspios_lite_armhf-2023-12-11/2023-12-11-raspios-bookworm-armhf-lite.img.xz"
|
||||
|
||||
export DEBIAN_FRONTEND=${DEBIAN_FRONTEND:='noninteractive'}
|
||||
export LANG=${LANG:='C.UTF-8'}
|
||||
@@ -104,7 +104,7 @@ ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/butterf
|
||||
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/butterfly.socket' '/lib/systemd/system/'
|
||||
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/monkey.service' '/lib/systemd/system/'
|
||||
# software install
|
||||
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} exec ${SCRIPTS_DIR}'/image-software.sh'
|
||||
# ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} exec ${SCRIPTS_DIR}'/image-software.sh'
|
||||
# network setup
|
||||
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} exec ${SCRIPTS_DIR}'/image-network.sh'
|
||||
# avahi setup
|
||||
@@ -113,13 +113,14 @@ ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/avahi-s
|
||||
# If RPi then use a one thread to build a ROS package on RPi, else use all
|
||||
[[ $(arch) == 'armv7l' ]] && NUMBER_THREADS=1 || NUMBER_THREADS=$(nproc --all)
|
||||
# Clover
|
||||
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/noetic-rosdep-clover.yaml' '/etc/ros/rosdep/'
|
||||
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/noetic-bullseye.yaml' '/etc/ros/rosdep/'
|
||||
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/ros_python_paths' '/etc/sudoers.d/'
|
||||
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/pigpiod.service' '/lib/systemd/system/'
|
||||
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/launch.nanorc' '/usr/share/nano/'
|
||||
# ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/kinetic-ros-clover.rosinstall' '/home/pi/ros_catkin_ws/'
|
||||
# Add rename script
|
||||
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} exec ${SCRIPTS_DIR}'/image-ros.sh' ${REPO_URL} ${IMAGE_VERSION} false false ${NUMBER_THREADS}
|
||||
#${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} exec ${SCRIPTS_DIR}'/image-ros.sh' ${REPO_URL} ${IMAGE_VERSION} false false ${NUMBER_THREADS}
|
||||
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} exec ${SCRIPTS_DIR}'/image-build-ros.sh'
|
||||
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} exec ${SCRIPTS_DIR}'/image-validate.sh'
|
||||
|
||||
${BUILDER_DIR}/image-resize.sh ${IMAGE_PATH}
|
||||
|
||||
@@ -97,3 +97,13 @@ PX4_SIM_SPEED_FACTOR=0.42 roslaunch clover_simulation simulator.launch
|
||||
The virtual machine may benefit from several CPU cores, especially if the cores are not very performant. In our tests, a four-core machine with only a single core allocated to the VM was unable to run the simulation, with constant interface freezes and dropped ROS messages. The same machine with all four cores available to the VM was able to run the simulation at 0.25 real-time speed.
|
||||
|
||||
Do note that you should not allocate more resources than you have on your host hardware.
|
||||
|
||||
### Changing the map of ArUco-markers in the simulator
|
||||
|
||||
In order to change the map of ArUco-markers in the simulator, you can use the following command:
|
||||
|
||||
```bash
|
||||
rosrun clover_simulation aruco_gen --single-model --source-world=$(catkin_find clover_simulation resources/worlds/clover.world) $(catkin_find aruco_pose map/map.txt) > $(catkin_find clover_simulation resources/worlds/clover_aruco.world)
|
||||
```
|
||||
|
||||
In this example, `map.txt` is the name of markers name.
|
||||
|
||||
@@ -240,6 +240,30 @@ ros_msg = mavlink.convert_to_rosmsg(msg)
|
||||
mavlink_pub.publish(ros_msg)
|
||||
```
|
||||
|
||||
<!-- markdownlint-disable MD044 -->
|
||||
|
||||
### # {#mavlink-receive}
|
||||
|
||||
<!-- markdownlint-enable MD044 -->
|
||||
|
||||
Subscribe to all MAVLink messages from the flight controller and decode them:
|
||||
|
||||
```python
|
||||
from mavros_msgs.msg import Mavlink
|
||||
from mavros import mavlink
|
||||
from pymavlink import mavutil
|
||||
|
||||
link = mavutil.mavlink.MAVLink('', 255, 1)
|
||||
|
||||
def mavlink_cb(msg):
|
||||
mav_msg = link.decode(mavlink.convert_to_bytes(msg))
|
||||
print('msgid =', msg.msgid, mav_msg) # print message id and parsed message
|
||||
|
||||
mavlink_sub = rospy.Subscriber('mavlink/from', Mavlink, mavlink_cb)
|
||||
|
||||
rospy.spin()
|
||||
```
|
||||
|
||||
### # {#rc-sub}
|
||||
|
||||
React to the drone's mode switching (may be used for starting an autonomous flight, see [example](https://gist.github.com/okalachev/b709f04522d2f9af97e835baedeb806b)):
|
||||
|
||||
@@ -99,3 +99,13 @@ PX4_SIM_SPEED_FACTOR=0.42 roslaunch clover_simulation simulator.launch
|
||||
Выделение нескольких процессорных ядер для виртуальной машины может значительно повысить производительность симуляции. В наших испытаниях виртуальная машина, для которой было выделено одно ядро, не позволяла работать в симуляторе: окно Gazebo не реагировало на пользовательский ввод, сообщения ROS терялись. После выделения четырёх ядер для этой же виртуальной машины симуляция стала работать со скоростью 0.25 от реального времени.
|
||||
|
||||
При этом не следует пытаться выделить для виртуальной машины больше ресурсов, чем доступно на основной системе.
|
||||
|
||||
### Изменение карты ArUco-меток в симуляторе
|
||||
|
||||
Для того, чтобы изменить карту ArUco-меток в симуляторе, можно использовать следующую команду:
|
||||
|
||||
```bash
|
||||
rosrun clover_simulation aruco_gen --single-model --source-world=$(catkin_find clover_simulation resources/worlds/clover.world) $(catkin_find aruco_pose map/map.txt) > $(catkin_find clover_simulation resources/worlds/clover_aruco.world)
|
||||
```
|
||||
|
||||
В данном примере `map.txt` – имя карты меток.
|
||||
|
||||
@@ -251,6 +251,30 @@ ros_msg = mavlink.convert_to_rosmsg(msg)
|
||||
mavlink_pub.publish(ros_msg)
|
||||
```
|
||||
|
||||
<!-- markdownlint-disable MD044 -->
|
||||
|
||||
### # {#mavlink-receive}
|
||||
|
||||
<!-- markdownlint-enable MD044 -->
|
||||
|
||||
Подписка на все MAVLink-сообщения от полетного контроллера и их декодирование:
|
||||
|
||||
```python
|
||||
from mavros_msgs.msg import Mavlink
|
||||
from mavros import mavlink
|
||||
from pymavlink import mavutil
|
||||
|
||||
link = mavutil.mavlink.MAVLink('', 255, 1)
|
||||
|
||||
def mavlink_cb(msg):
|
||||
mav_msg = link.decode(mavlink.convert_to_bytes(msg))
|
||||
print('msgid =', msg.msgid, mav_msg) # print message id and parsed message
|
||||
|
||||
mavlink_sub = rospy.Subscriber('mavlink/from', Mavlink, mavlink_cb)
|
||||
|
||||
rospy.spin()
|
||||
```
|
||||
|
||||
### # {#rc-sub}
|
||||
|
||||
Реакция на переключение режима на пульте радиоуправления (может быть использовано для запуска автономного полета, см. [пример](https://gist.github.com/okalachev/b709f04522d2f9af97e835baedeb806b)):
|
||||
|
||||
Reference in New Issue
Block a user