# Industrial Core
[](http://build.ros.org/job/Idev__industrial_core__ubuntu_trusty_amd64)
[ROS-Industrial][] core meta-package. See the [ROS wiki][] page for more
information.
## Contents
Branch naming follows the ROS distribution they are compatible with. `-devel`
branches may be unstable. Releases are made from the distribution branches
(`hydro`, `indigo`, `jade`).
Older releases may be found in the old ROS-Industrial [subversion repository][].
[ROS-Industrial]: http://wiki.ros.org/Industrial
[ROS wiki]: http://wiki.ros.org/industrial_core
[subversion repository]: https://github.com/ros-industrial/swri-ros-pkg
# 参考
http://ros-industrial.github.io/industrial_training/_source/session4/Introduction-to-Perception.html
# 安装ar 仿真工件 测试包
sudo apt install ros-indigo-calibration-msgs
cd ~/catkin_ws/src
git clone https://github.com/jmeyer1292/fake_ar_publisher.git
source devel/setup.bash
rospack find fake_ar_publisher //找到安装包
# 创建包
cd ~/catkin_ws/src
catkin_create_pkg myworkcell_core roscpp
cd myworkcell_core
## gedit package.xml
// 修改
<build_depend>roscpp</build_depend> 编译依赖
<build_depend>fake_ar_publisher</build_depend>
<run_depend>fake_ar_publisher</run_depend> 运行依赖
<run_depend>roscpp</run_depend>
## gedit CMakeList.txt
// 修改
add_compile_options(-std=c++11) # 支持c++ 11 新标准
find_package(catkin REQUIRED COMPONENTS
roscpp
fake_ar_publisher#依赖其他的包
)
catkin_package(
# INCLUDE_DIRS include
# LIBRARIES myworkcell_core
CATKIN_DEPENDS
roscpp
fake_ar_publisher#运行依赖 其他的包
# DEPENDS system_lib
)
add_executable(vision_node src/vision_node.cpp) # 可执行文件
#依赖
add_dependencies(vision_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
#连接
target_link_libraries(vision_node ${catkin_LIBRARIES})
### 查看信息列表
rosmsg list
显示信息详情
rosmsg show fake_ar_publisher/ARMarker
>>>
std_msgs/Header header
uint32 seq
time stamp
string frame_id
uint32 id
geometry_msgs/PoseWithCovariance pose
geometry_msgs/Pose pose
geometry_msgs/Point position
float64 x
float64 y
float64 z
geometry_msgs/Quaternion orientation
float64 x
float64 y
float64 z
float64 w
float64[36] covariance
uint32 confidence
## Simple ROS Node
/**
** Simple ROS Node
** vision_node.cpp
**/
#include <ros/ros.h>// 系统头文件
#include <fake_ar_publisher/ARMarker.h>// 自定义消息头文件
// 自定义类
class Localizer
{
public:
// 类 初始化函数
Localizer(ros::NodeHandle& nh)//节点句柄引用
{
// 订阅者 消息类型 话题名 队列大小
ar_sub_ = nh.subscribe<fake_ar_publisher::ARMarker>("ar_pose_marker", 1,
&Localizer::visionCallback, this);// 回调函数指针 类自己
}
// 话题回调函数
void visionCallback(const fake_ar_publisher::ARMarkerConstPtr& msg)// 引用 常量指针
{
last_msg_ = msg;//复制一下放置 变化
ROS_INFO_STREAM(last_msg_->pose.pose);//打印位置
}
// 变量定义
ros::Subscriber ar_sub_;// 订阅者
fake_ar_publisher::ARMarkerConstPtr last_msg_;//常量指针
};
int main(int argc, char *argv[] ){
// 初始化 ros节点
ros::init(argc, argv, "vision_node");
// 创建ros节点句柄
ros::NodeHandle nh;
Localizer localizer(nh);
ROS_INFO("Vision node starting");
// 节点 存活 rosnode list 可以一直看到
ros::spin();
}
## 运行
roscore
rosrun fake_ar_publisher fake_ar_publisher_node
rosrun workcell_core vision_node
## 查看节点间关系
rqt_graph
###############################################################################
## 服务 类似函数调用------------------------------------------------------
srv/LocalizePart.srv
#request 请求
string base_frame #目标基坐标系 名称
---
#response 回应
geometry_msgs/Pose pose # 目标坐标系位姿 位置 和 姿态
---------------------------------------------------------------------
gedit package.xml
// 修改
<build_depend>roscpp</build_depend>
<build_depend>fake_ar_publisher</build_depend>
<build_depend>message_generation</build_depend>
<build_depend>geometry_msgs</build_depend>
<run_depend>roscpp</run_depend>
<run_depend>fake_ar_publisher</run_depend>
<run_depend>message_runtime</run_depend>
<run_depend>geometry_msgs</run_depend>
-------------------------------------------------------------------
gedit CMakeList.txt
// 修改
# 包编译依赖
find_package(catkin REQUIRED COMPONENTS
roscpp
fake_ar_publisher#依赖其他的包
message_generation
geometry_msgs
)
#添加服务文件
## Generate services in the 'srv' folder
add_service_files(
FILES
LocalizePart.srv
# Service1.srv
# Service2.srv
)
#信息生成 依赖
## Generate added messages and services with any dependencies listed here
generate_messages(
DEPENDENCIES
std_msgs # Or other packages containing msgs
geometry_msgs
)
#包运行依赖
catkin_package(
# INCLUDE_DIRS include
# LIBRARIES myworkcell_core
CATKIN_DEPENDS
roscpp
fake_ar_publisher#运行依赖 其他的包
message_runtime
geometry_msgs
# DEPENDS system_lib
)
# 提供获取目标位置 服务的节点 订阅话题监控 服务
add_executable(ARserver_node src/ARserver.cpp) # 可执行文件
#依赖
add_dependencies(ARserver_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
#连接
target_link_libraries(ARserver_node ${catkin_LIBRARIES})
# 客户端 请求获取目标位置的服务
add_executable(ARclient_node src/ARclient.cpp) # 可执行文件
#依赖
add_dependencies(ARclient_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
#连接
target_link_libraries(ARclient_node ${catkin_LIBRARIES})
## ARserver.cpp 服务器
---------------------------------------------------------------------
/**
** Simple ROS Node
** ARserver.cpp 服务器
**/
#include <ros/ros.h>// 系统头文件
// git clone https://github.com/jmeyer1292/fake_ar_publisher.git 安装
#include <fake_ar_publisher/ARMarker.h>// 自定义消�
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论


























收起资源包目录





































































































共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论


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


最新资源
- Aestate-Python资源
- 网络营销和策划.pptx
- YKSwiftNetworking-Swift资源
- 三星中小企业网络安全解决方案.doc
- 通信原理教学.pptx
- 网络程序员工作计划样本.doc
- 我爱我家(主题网络)(20220208022735).pdf
- 公司通信调度系统技术规范及技术方案书.docx
- 网络营销与策划实践环节考核.doc
- 物联网简介幻灯片.ppt
- 华为网络认证工程师.docx
- 基于ARM的Buck-Boost双向DC-DC电源变换器:同步BUCK与BOOST电路级联的数字稳压技术
- 计算机科学与技术专业的知识体系与课程体系.pptx
- 网络推广协议范本最新.doc
- 2023年电子商务基础测试题库.doc
- 酒店住宿及消费管理系统数据库.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



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