James Goppert
9 years ago
committed by
GitHub
72 changed files with 642 additions and 671 deletions
@ -1 +1 @@
@@ -1 +1 @@
|
||||
Subproject commit 00dcabb1c2c001b40713903da1a4a7f71d01ef27 |
||||
Subproject commit 9486c331a758fcadfaa314f6e9e44c36af5f243b |
@ -1,3 +1,3 @@
@@ -1,3 +1,3 @@
|
||||
include(configs/posix_rpi_common) |
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchains/Toolchain-native.cmake) |
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-native.cmake) |
||||
|
@ -1,334 +0,0 @@
@@ -1,334 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8.3) |
||||
project(px4) |
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") |
||||
add_definitions(-D__PX4_ROS) |
||||
add_definitions(-D__EXPORT=) |
||||
add_definitions(-DMAVLINK_DIALECT=common) |
||||
|
||||
## Find catkin macros and libraries |
||||
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) |
||||
## is used, also find other catkin packages |
||||
find_package(catkin REQUIRED COMPONENTS |
||||
roscpp |
||||
rospy |
||||
std_msgs |
||||
geometry_msgs |
||||
message_generation |
||||
cmake_modules |
||||
gazebo_msgs |
||||
sensor_msgs |
||||
mav_msgs |
||||
libmavconn |
||||
tf |
||||
) |
||||
find_package(Eigen REQUIRED) |
||||
|
||||
## System dependencies are found with CMake's conventions |
||||
# find_package(Boost REQUIRED COMPONENTS system) |
||||
|
||||
|
||||
## Uncomment this if the package has a setup.py. This macro ensures |
||||
## modules and global scripts declared therein get installed |
||||
## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html |
||||
# catkin_python_setup() |
||||
|
||||
################################################ |
||||
## Declare ROS messages, services and actions ## |
||||
################################################ |
||||
|
||||
## To declare and build messages, services or actions from within this |
||||
## package, follow these steps: |
||||
## * Let MSG_DEP_SET be the set of packages whose message types you use in |
||||
## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). |
||||
## * In the file package.xml: |
||||
## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET |
||||
## * If MSG_DEP_SET isn't empty the following dependencies might have been |
||||
## pulled in transitively but can be declared for certainty nonetheless: |
||||
## * add a build_depend tag for "message_generation" |
||||
## * add a run_depend tag for "message_runtime" |
||||
## * In this file (CMakeLists.txt): |
||||
## * add "message_generation" and every package in MSG_DEP_SET to |
||||
## find_package(catkin REQUIRED COMPONENTS ...) |
||||
## * add "message_runtime" and every package in MSG_DEP_SET to |
||||
## catkin_package(CATKIN_DEPENDS ...) |
||||
## * uncomment the add_*_files sections below as needed |
||||
## and list every .msg/.srv/.action file to be processed |
||||
## * uncomment the generate_messages entry below |
||||
## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) |
||||
|
||||
## Generate messages in the 'msg' folder |
||||
add_message_files( |
||||
FILES |
||||
actuator_armed.msg |
||||
actuator_controls.msg |
||||
commander_state.msg |
||||
control_state.msg |
||||
distance_sensor.msg |
||||
manual_control_setpoint.msg |
||||
mc_virtual_rates_setpoint.msg |
||||
offboard_control_mode.msg |
||||
parameter_update.msg |
||||
position_setpoint.msg |
||||
position_setpoint_triplet.msg |
||||
rc_channels.msg |
||||
ros/actuator_controls_0.msg |
||||
ros/actuator_controls_virtual_mc.msg |
||||
vehicle_attitude.msg |
||||
vehicle_attitude_setpoint.msg |
||||
vehicle_control_mode.msg |
||||
vehicle_force_setpoint.msg |
||||
vehicle_global_velocity_setpoint.msg |
||||
vehicle_local_position.msg |
||||
vehicle_local_position_setpoint.msg |
||||
vehicle_rates_setpoint.msg |
||||
vehicle_status.msg |
||||
) |
||||
|
||||
## Generate services in the 'srv' folder |
||||
# add_service_files( |
||||
# FILES |
||||
# Service1.srv |
||||
# Service2.srv |
||||
# ) |
||||
|
||||
## Generate actions in the 'action' folder |
||||
# add_action_files( |
||||
# FILES |
||||
# Action1.action |
||||
# Action2.action |
||||
# ) |
||||
|
||||
## Generate added messages and services with any dependencies listed here |
||||
generate_messages( |
||||
DEPENDENCIES |
||||
std_msgs |
||||
gazebo_msgs |
||||
) |
||||
|
||||
################################### |
||||
## catkin specific configuration ## |
||||
################################### |
||||
## The catkin_package macro generates cmake config files for your package |
||||
## Declare things to be passed to dependent projects |
||||
## INCLUDE_DIRS: uncomment this if you package contains header files |
||||
## LIBRARIES: libraries you create in this project that dependent projects also need |
||||
## CATKIN_DEPENDS: catkin_packages dependent projects also need |
||||
## DEPENDS: system dependencies of this project that dependent projects also need |
||||
catkin_package( |
||||
INCLUDE_DIRS src/include |
||||
LIBRARIES px4 |
||||
CATKIN_DEPENDS message_runtime roscpp rospy std_msgs libmavconn |
||||
DEPENDS system_lib |
||||
) |
||||
|
||||
########### |
||||
## Build ## |
||||
########### |
||||
|
||||
## Specify additional locations of header files |
||||
## Your package locations should be listed before other locations |
||||
include_directories( |
||||
${catkin_INCLUDE_DIRS} |
||||
src/platforms |
||||
src/platforms/ros/px4_messages |
||||
src/include |
||||
src/modules |
||||
${CMAKE_BINARY_DIR}/src/modules |
||||
src/ |
||||
src/lib |
||||
src/lib/matrix |
||||
${EIGEN_INCLUDE_DIRS} |
||||
integrationtests |
||||
) |
||||
|
||||
## generate multiplatform wrapper headers |
||||
## note that the message header files are generated as in any ROS project with generate_messages() |
||||
set(MULTIPLATFORM_HEADER_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/platforms/ros/px4_messages) |
||||
set(MULTIPLATFORM_TEMPLATE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/msg/templates/px4/ros) |
||||
set(TOPICHEADER_TEMP_DIR ${CMAKE_BINARY_DIR}/topics_temporary) |
||||
set(MULTIPLATFORM_PREFIX px4_) |
||||
add_custom_target(multiplatform_message_headers ALL ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/Tools/px_generate_uorb_topic_files.py |
||||
--headers -d ${CMAKE_CURRENT_SOURCE_DIR}/msg -o ${MULTIPLATFORM_HEADER_DIR} -e ${MULTIPLATFORM_TEMPLATE_DIR} |
||||
-t ${TOPICHEADER_TEMP_DIR} -p ${MULTIPLATFORM_PREFIX}) |
||||
|
||||
## Declare a cpp library |
||||
add_library(px4 |
||||
src/platforms/ros/px4_ros_impl.cpp |
||||
src/platforms/ros/perf_counter.cpp |
||||
src/platforms/ros/geo.cpp |
||||
src/lib/mathlib/math/Limits.cpp |
||||
src/modules/systemlib/circuit_breaker.cpp |
||||
) |
||||
add_dependencies(px4 ${PROJECT_NAME}_generate_messages_cpp multiplatform_message_headers) |
||||
|
||||
target_link_libraries(px4 |
||||
${catkin_LIBRARIES} |
||||
) |
||||
|
||||
## Declare a test publisher |
||||
add_executable(publisher |
||||
src/examples/publisher/publisher_main.cpp |
||||
src/examples/publisher/publisher_example.cpp) |
||||
add_dependencies(publisher ${PROJECT_NAME}_generate_messages_cpp multiplatform_message_headers) |
||||
target_link_libraries(publisher |
||||
${catkin_LIBRARIES} |
||||
px4 |
||||
) |
||||
|
||||
## Declare a test subscriber |
||||
add_executable(subscriber |
||||
src/examples/subscriber/subscriber_main.cpp |
||||
src/examples/subscriber/subscriber_example.cpp) |
||||
add_dependencies(subscriber ${PROJECT_NAME}_generate_messages_cpp multiplatform_message_headers) |
||||
target_link_libraries(subscriber |
||||
${catkin_LIBRARIES} |
||||
px4 |
||||
) |
||||
|
||||
## MC Attitude Control |
||||
add_executable(mc_att_control |
||||
src/modules/mc_att_control_multiplatform/mc_att_control_main.cpp |
||||
src/modules/mc_att_control_multiplatform/mc_att_control.cpp |
||||
src/modules/mc_att_control_multiplatform/mc_att_control_base.cpp) |
||||
add_dependencies(mc_att_control ${PROJECT_NAME}_generate_messages_cpp_cpp) |
||||
target_link_libraries(mc_att_control |
||||
${catkin_LIBRARIES} |
||||
px4 |
||||
) |
||||
|
||||
## MC Position Control |
||||
add_executable(mc_pos_control |
||||
src/modules/mc_pos_control_multiplatform/mc_pos_control_main.cpp |
||||
src/modules/mc_pos_control_multiplatform/mc_pos_control.cpp) |
||||
add_dependencies(mc_pos_control ${PROJECT_NAME}_generate_messages_cpp_cpp) |
||||
target_link_libraries(mc_pos_control |
||||
${catkin_LIBRARIES} |
||||
px4 |
||||
) |
||||
|
||||
## Attitude Estimator dummy |
||||
add_executable(attitude_estimator |
||||
src/platforms/ros/nodes/attitude_estimator/attitude_estimator.cpp) |
||||
add_dependencies(attitude_estimator ${PROJECT_NAME}_generate_messages_cpp_cpp) |
||||
target_link_libraries(attitude_estimator |
||||
${catkin_LIBRARIES} |
||||
px4 |
||||
) |
||||
|
||||
## Position Estimator dummy |
||||
add_executable(position_estimator |
||||
src/platforms/ros/nodes/position_estimator/position_estimator.cpp) |
||||
add_dependencies(position_estimator ${PROJECT_NAME}_generate_messages_cpp_cpp) |
||||
target_link_libraries(position_estimator |
||||
${catkin_LIBRARIES} |
||||
px4 |
||||
) |
||||
|
||||
## Manual input |
||||
add_executable(manual_input |
||||
src/platforms/ros/nodes/manual_input/manual_input.cpp) |
||||
add_dependencies(manual_input ${PROJECT_NAME}_generate_messages_cpp_cpp) |
||||
target_link_libraries(manual_input |
||||
${catkin_LIBRARIES} |
||||
px4 |
||||
) |
||||
|
||||
## Multicopter Mixer dummy |
||||
add_executable(mc_mixer |
||||
src/platforms/ros/nodes/mc_mixer/mc_mixer.cpp) |
||||
add_dependencies(mc_mixer ${PROJECT_NAME}_generate_messages_cpp_cpp) |
||||
target_link_libraries(mc_mixer |
||||
${catkin_LIBRARIES} |
||||
px4 |
||||
) |
||||
|
||||
## Commander dummy |
||||
add_executable(commander |
||||
src/platforms/ros/nodes/commander/commander.cpp) |
||||
add_dependencies(commander ${PROJECT_NAME}_generate_messages_cpp_cpp) |
||||
target_link_libraries(commander |
||||
${catkin_LIBRARIES} |
||||
px4 |
||||
) |
||||
|
||||
## Mavlink dummy |
||||
add_executable(mavlink |
||||
src/platforms/ros/nodes/mavlink/mavlink.cpp) |
||||
add_dependencies(mavlink ${PROJECT_NAME}_generate_messages_cpp_cpp) |
||||
target_link_libraries(mavlink |
||||
${catkin_LIBRARIES} |
||||
px4 |
||||
) |
||||
|
||||
## Offboard Position Setpoint Demo |
||||
add_executable(demo_offboard_position_setpoints |
||||
src/platforms/ros/nodes/demo_offboard_position_setpoints/demo_offboard_position_setpoints.cpp) |
||||
add_dependencies(demo_offboard_position_setpoints ${PROJECT_NAME}_generate_messages_cpp_cpp) |
||||
target_link_libraries(demo_offboard_position_setpoints |
||||
${catkin_LIBRARIES} |
||||
px4 |
||||
) |
||||
|
||||
## Offboard Attitude Setpoint Demo |
||||
add_executable(demo_offboard_attitude_setpoints |
||||
src/platforms/ros/nodes/demo_offboard_attitude_setpoints/demo_offboard_attitude_setpoints.cpp) |
||||
add_dependencies(demo_offboard_attitude_setpoints ${PROJECT_NAME}_generate_messages_cpp_cpp) |
||||
target_link_libraries(demo_offboard_attitude_setpoints |
||||
${catkin_LIBRARIES} |
||||
px4 |
||||
) |
||||
|
||||
############# |
||||
## Install ## |
||||
############# |
||||
|
||||
# all install targets should use catkin DESTINATION variables |
||||
# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html |
||||
|
||||
## Mark executable scripts (Python etc.) for installation |
||||
## in contrast to setup.py, you can choose the destination |
||||
# install(PROGRAMS |
||||
# scripts/my_python_script |
||||
# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} |
||||
# ) |
||||
|
||||
## Mark executables and/or libraries for installation |
||||
install(TARGETS ${PROJECT_NAME} |
||||
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} |
||||
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} |
||||
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} |
||||
) |
||||
|
||||
## Mark cpp header files for installation |
||||
# install(DIRECTORY include/${PROJECT_NAME}/ |
||||
# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} |
||||
# FILES_MATCHING PATTERN "*.h" |
||||
# PATTERN ".svn" EXCLUDE |
||||
# ) |
||||
|
||||
## Mark other files for installation (e.g. launch and bag files, etc.) |
||||
# install(FILES |
||||
# # myfile1 |
||||
# # myfile2 |
||||
# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} |
||||
# ) |
||||
|
||||
############# |
||||
## Testing ## |
||||
############# |
||||
|
||||
## Add gtest based cpp test target and link libraries |
||||
# catkin_add_gtest(${PROJECT_NAME}-test test/test_px4test.cpp) |
||||
# if(TARGET ${PROJECT_NAME}-test) |
||||
# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) |
||||
# endif() |
||||
|
||||
## Add folders to be run by python nosetests |
||||
# catkin_add_nosetests(test) |
||||
|
||||
## Tests on multiplatform SITL (deprecated) have been moved to POSIX SITL |
||||
#if(CATKIN_ENABLE_TESTING) |
||||
# find_package(rostest REQUIRED) |
||||
# add_rostest(integrationtests/demo_tests/direct_tests.launch) |
||||
# add_rostest(integrationtests/demo_tests/mavros_tests.launch) |
||||
#endif() |
@ -1,19 +1,31 @@
@@ -1,19 +1,31 @@
|
||||
<launch> |
||||
|
||||
<!-- Posix SITL environment launch script --> |
||||
|
||||
<arg name="vehicle" default="iris"/> |
||||
<arg name="world" default="$(find mavlink_sitl_gazebo)/worlds/empty.world"/> |
||||
<arg name="sdf" default="$(find mavlink_sitl_gazebo)/models/$(arg vehicle)/$(arg vehicle).sdf"/> |
||||
<arg name="rcS" default="$(find px4)/posix-configs/SITL/init/rcS_gazebo_$(arg vehicle)"/> |
||||
|
||||
<arg name="headless" default="false"/> |
||||
<arg name="gui" default="true"/> |
||||
<arg name="ns" default="/"/> |
||||
<arg name="world" default="iris"/> |
||||
<arg name="build" default="posix_sitl_default"/> |
||||
|
||||
<node pkg="px4" type="sitl_run.sh" name="simulator" args="posix-configs/SITL/init/rcS none gazebo $(arg world) $(find px4)/build_$(arg build)"> |
||||
<env name="no_sim" value="1" /> |
||||
<node name="sitl" pkg="px4" type="px4" output="screen" |
||||
args="$(find px4) $(arg rcS)"> |
||||
</node> |
||||
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch"> |
||||
<arg name="headless" value="$(arg headless)"/> |
||||
<arg name="gui" value="$(arg gui)"/> |
||||
<arg name="world_name" value="$(find px4)/Tools/sitl_gazebo/worlds/$(arg world).world" /> |
||||
<arg name="world_name" value="$(arg world)" /> |
||||
</include> |
||||
|
||||
<node name="$(anon vehicle_spawn)" output="screen" pkg="gazebo_ros" type="spawn_model" |
||||
args="-sdf -file $(arg sdf) -model $(arg vehicle)"/> |
||||
|
||||
|
||||
</launch> |
||||
|
||||
<!-- vim: set et ft=xml fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : --> |
||||
|
Loading…
Reference in new issue