cmake_minimum_required(VERSION 2.8.3)
project(serial_msgs)
## 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 message_generation std_msgs serial)
## 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 tag for "message_generation"
## * 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 dependency has been pulled in
## but can be declared for certainty nonetheless:
## * 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 RlEQUIRED 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
serial.msg
# Message2.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 # Or other packages containing msgs
)
################################################
## Declare ROS dynamic reconfigure parameters ##
################################################
## To declare and build dynamic reconfigure parameters within this
## package, follow these steps:
## * In the file package.xml:
## * add a build_depend and a run_depend tag for "dynamic_reconfigure"
## * In this file (CMakeLists.txt):
## * add "dynamic_reconfigure" to
## find_package(catkin REQUIRED COMPONENTS ...)
## * uncomment the "generate_dynamic_reconfigure_options" section below
## and list every .cfg file to be processed
## Generate dynamic reconfigure parameters in the 'cfg' folder
# generate_dynamic_reconfigure_options(
# cfg/DynReconf1.cfg
# cfg/DynReconf2.cfg
# )
###################################
## 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 include
# LIBRARIES serial_msgs
CATKIN_DEPENDS
message_runtime
serial
std_msgs
# CATKIN_DEPENDS other_catkin_pkg
# DEPENDS system_lib
)
include_directories(
${catkin_INCLUDE_DIRS}
)
add_executable(serial_example_node1 src/serial_example_node1.cpp)
add_executable(listen1 src/listen1.cpp)
target_link_libraries(listen1 ${catkin_LIBRARIES})
target_link_libraries(serial_example_node1 ${catkin_LIBRARIES})
add_dependencies(listen1 serial_msgs_gencpp)
add_dependencies(serial_example_node1 serial_msgs_gencpp)
###########
## Build ##
###########
## Specify additional locations of header files
## Your package locations should be listed before other locations
# include_directories(include)
## Declare a C++ library
# add_library(serial_msgs
# src/${PROJECT_NAME}/serial_msgs.cpp
# )
## Add cmake target dependencies of the library
## as an example, code may need to be generated before libraries
## either from message generation or dynamic reconfigure
# add_dependencies(serial_msgs ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
## Declare a C++ executable
# add_executable(serial_msgs_node src/serial_msgs_node.cpp)
## Add cmake target dependencies of the executable
## same as for the library above
# add_dependencies(serial_msgs_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
## Specify libraries to link a library or executable target against
# target_link_libraries(serial_msgs_node
# ${catkin_LIBRARIES}
# )
#############
## 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 serial_msgs serial_msgs_node
# 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_serial_msgs.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)
没有合适的资源?快使用搜索试试~ 我知道了~
ROS读取键盘通过串口控制电机例程

温馨提示
程序版本Ubuntu16.04+kinetic 该package利用订阅控制小海龟运动的cmd_vel话题,读取键盘方向键。 然后通过串口发送控制指令到电机控制器,控制电机前进后退转向。 是学习ROS控制机器人运动的一个基础例程。 使用前需安装ros的serial工具包 sudo apt-get install ros-kinetic-serial 关于串口: 程序使用的是电脑主板自带的9针232串口,可以根据自己具体串口调整程序 查看设备dmesg,如果使用USB转串口一般设备号是ttyUSB0 我用的是Ubuntu16.04实际测试USB转串口芯片ch340和PL2302都可以直接识别 可以先安装cutecom进行串口调试,看看是否可用,该工具是窗口界面,比较方便 安装sudo apt-get install cutecom 安装完成运行要root权限才能读取串口 sudo cutecom 程序使用的是serial_example_node1节点,另外一个节点listen1没有用到 将代码解压到自己的工作空间后编译 然后启动serial_example_node1节点和turtle_teleop_key节点 rosrun serial_msgs serial_example_node1 rosrun turtlesim turtle_teleop_key 保证当前窗口在key读取命令窗口,按键盘方向键,串口节点会收到数据,并串口发送数据。 如果串口启动提示失败,提示Unable to open port,可能是权限问题需运行命令 sudo chmod 666 /dev/ttyS0 节点读取串口做了5个字节的测试 发多个字节需自己修改读取字节数
资源推荐
资源详情
资源评论











格式:zip 资源大小:70.4MB


















收起资源包目录










共 6 条
- 1
资源评论

- qq_381881552018-10-24不错不错,实用


潇湘VV夜雨
- 粉丝: 17
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 计算机在现代测绘技术的应用.docx
- 互联网科技IT产品宣传介绍PPT模板ppt模板.pptx
- 分解因式与互联网搜索教案设计方案.doc
- 项目管理培训及应用感受分析.docx
- office计算机二级办公软件考试-office高级应用技术元文档.doc
- 人大金仓KingbaseES企业数据库中的两种垂直分区技术详解.doc
- GIS实用技术的洪水淹没模拟及灾害评估.doc
- 新型网络技术对教师继续教育培训行业的影响.docx
- 滨海新区智慧城市建设与发展研究.doc
- 机械设计制造及其自动化专业人才培养研究与实践.docx
- 学生宿舍管理系统数据库课程研究设计doc.doc
- 论计算机网络安全与防火墙技术.docx
- 基于网络的土工虚拟仿真试验室开发.docx
- 深度学习下小学语文习作单元活动设计与思考.docx
- 运用信息化手段进行科学课导入的方法例谈.docx
- hplc体内药物分析实用技术.ppt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
