仅作为记录,如果有代码需要,可以私信
依次运行命令
source devel/setup.bash
roslaunch video_stream_opencv ahrs_data.launch
换一个终端
source devel/setup.bash
roslaunch video_stream_opencv webcam.launch
ahrs_data.launch文件内容
<launch>
<node pkg="video_stream_opencv" name="ahrs_driver" type="ahrs_driver" output="screen" >
<!-- 是否输出debug信息 -->
<param name="debug" value="false"/>
<!-- 串口设备,可通过rules.d配置固定。
若使用DETA100,则value="/dev/wheeltec_ch340"
若使用WHEELTEC N系列,则不需要改动 -->
<param name="port" value="/dev/fdilink_ahrs"/>
<!-- 波特率 -->
<param name="baud" value="921600"/>
<!-- 发布的imu话题名 -->
<param name="imu_topic" value="imu"/>
<!-- 发布的imu话题中的frame_id -->
<param name="imu_frame" value="gyro_link"/>
<!-- 地磁北的yaw角 -->
<param name="mag_pose_2d_topic" value="/mag_pose_2d"/>
<!-- 欧拉角 -->
<param name="Euler_angles_pub_" value="/euler_angles"/>
<!-- 磁力计磁场强度 -->
<param name="Magnetic_pub_" value="/magnetic"/>
<!-- gps数据输出话题-->
<param name="gps_topic_" value="/gps/fix"/>
<!-- 机体系速度数据输出话题-->
<param name="twist_topic_" value="/system_speed"/>
<!-- NED系位移和速度数据输出话题-->
<param name="NED_odom_topic_" value="/NED_odometry"/>
<!-- 发布的数据基于不同设备有不同的坐标系 -->
<param name="device_type" value="1"/> <!-- 0: origin_data, 1: for single imu or ucar in ROS, 2:for Xiao in ROS -->
</node>
</launch>
CMakelists.txt文件
cmake_minimum_required(VERSION 2.8.3)
project(video_stream_opencv)
add_definitions(-std=c++11)
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
nodelet
dynamic_reconfigure
message_generation
tf
nav_msgs
serial
cv_bridge
image_transport
std_msgs
std_srvs
sensor_msgs
camera_info_manager
)
generate_dynamic_reconfigure_options(
cfg/VideoStream.cfg)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
find_package(Eigen3 REQUIRED)
set(Eigen3_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR})
find_package(catkin REQUIRED COMPONENTS
)
catkin_package(
CATKIN_DEPENDS message_runtime
)
## ahrs_driver
add_executable(ahrs_driver src/ahrs_driver.cpp)
target_link_libraries(ahrs_driver crc_table ${catkin_LIBRARIES})# ${SERIAL_LIB}
add_executable(imu_tf src/imu_tf.cpp)
target_link_libraries( imu_tf ${catkin_LIBRARIES})# ${SERIAL_LIB}
add_executable(video_stream_node src/video_stream_node.cpp)
target_link_libraries(video_stream_node ${catkin_LIBRARIES})
## crc_table
add_library(crc_table src/crc_table.cpp)
find_package(OpenCV)
include_directories(
include
src
${catkin_INCLUDE_DIRS}
${Eigen3_INCLUDE_DIRS}
${OpenCV_INCLUDE_DIRS})
add_library(${PROJECT_NAME} SHARED src/video_stream.cpp)
target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${OpenCV_LIBRARIES})
add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_gencfg)