xacro是为了解决在编写urdf文件过程中,出现的标签内容重复,但又不得不去写。一些值的计算有依赖的问题。为了和urdf文件区分,我们定义的模型文件名后缀为.xacro

从功能的角度来说,xacro提供了属性定义,数学运算,条件判断和宏定义等功能。

注意:必须在robot标签中加入xmlns:xacro="http://www.ros.org/wiki/xacro"属性!!

该文件中注释不能用中文!!!

http://wiki.ros.org/xacro

阅读全文

单独使用OpenCV的时候遇到了之前因为安装 ROS 而导致的一些坑点。

故记录下来。

问题描述

使用了 Anaconda 的虚拟环境,并且确认已经安装过 OpenCV

运行 Python,直接 xxx(不可描述)。

1
2
3
4
Traceback (most recent call last):
File "/home/askeynil/Desktop/cv/class/1. demo.py", line 1, in <module>
import cv2 as cv
ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type
阅读全文

Service通讯机制

Service通讯分为client端server端

  • client端负责发送请求(Request)给server端
  • server端负责接收client端发送的请求数据。
  • server端收到数据后,根据请求数据和当前的业务需求,产生数据,将数据(Response)返回给client端

Service通讯的特点:

  • 同步数据访问
  • 具有响应反馈机制
  • 一个server多个client
  • 注重业务逻辑处理
阅读全文

消息(msg)和服务(srv)总览

  • 消息(msg)就是一个描述 ROS 中所使用的消息类型的简单文本,后缀以.msg命名。
  • 服务(srv)就是一个描述 ROS 服务数据的文本,后缀以.srv 命名。它包含两个部分:requestresponse

msg文件存放在 package 目录的 msg 目录下,srv 文件存放在 package 目录的 srv 目录下。

阅读全文

修改自 ros 官方 wiki

http://wiki.ros.org/catkin/CMakeLists.txt

CMakeLists.txtCMake 构建系统的输入,用于构建软件包。catkinCMakeLists.txt 带有一些其它的约束

总体结构

  1. 所需的 CMake 版本。( cmake_minimum_required

  2. 包名称。( project

  3. 查找构建所需的 CMake或 Catkin 软件包。( find_package

  4. 启动 Python 模块支持。( catkin_python_setup

  5. 消息、服务、动作生成器。( add_message_filesadd_service_filesadd_action_files

  6. 调用消息、服务、动作生成。( generate_messages

  7. 指定包构建信息导出。( catkin_package

  8. 添加要构建的库或可执行文件。( add_libraryadd_executabletarget_link_libraries

  9. 测试构建。( catkin_add_gtest

  10. 安装规则。( install

阅读全文