ROS学习

  1. ROS学习
    1. rosrun和roslaunch
    2. 包的编译和安装
    3. 启动rqt和rqt_plot报错
    4. 用python写tf的broadcaster
    5. 用python写tf的listener

ROS学习

rosnode list #列出活跃的节点信息

​.msg文件就是一个描述ROS中所使用消息类型的简单文本,它放在package的msg目录下,该文件实际上就是每行声明一个数据类型和变量名
​ROS客户端库允许使用不同编程语言编写的节点之间互相通信(即节点的生成形式不受到限制)

rospy      #python 客户端库
roscpp     #c++ 客户端库

rosrun和roslaunch

​rosrun允许你使用包名直接运行一个包内的节点(不需要知道这个包具体的路径),但是该ros包需要在终端中能找到(即需要source路径),且一个.py或者.cpp文件(可执行文件)就是一个节点。

rosrun [package_name] [node_name]

roslaunch可以用来启动定义在launch文件中的多个节点

roslaunch [package] [filename.launch]

rolaunch中启动的不一定要是单个节点,也可以是另一个子launch文件,例如:

启动单个节点(可执行程序)

<node pkg="franka_control_node" type="control_node.py" name="franka_driver" output="screen"/>

启动另一个launch文件,即启动其中的所有节点

<include file="$(find kinect2_bridge)/launch/kinect2_bridge.launch" />

机器人gazebo仿真控制 Matlab Simulink工具箱 基于模型设计MBD

基于Matlab/simulink-ros 联合机器人开发

rosdep install --from-paths src --ignore-src -r -y
#可以将该工作空间内的所有package的依赖项一起安装

roslaunch时遇到无法定位节点

ERROR: cannot launch node of type [main_control/position_transform.py]: can't locate node [position_transform.py] in package [main_control]
#1、查看是否source路径 2、赋予文件执行权限 sudo chmod +x aaaaaa.py

包的编译和安装

mkdir build
cd build
cmake ..
make
sudo make install
#可以将包安装到/home/xx/.local

启动rqt和rqt_plot报错

由于matplotlib版本原因启动rqt_plot报错,降级(升级)后仍无效,可考虑卸载qt5再重装
sudo apt remove ros-kinetic-qt5*

用python写tf的broadcaster

import tf as tf_ros
#在回调函数中写
b1 = tf_ros.TransformBroadcaster()
b1.sendTransform( (b_point0[0],b_point0[1],b_point0[2] ),
    tf_ros.transformations.quaternion_from_matrix(T_base_temp),    
            rospy.Time.now(),
            '/temp',
            "/panda_link0")

#sendTransform参数为(子坐标系原点在父坐标系的位置,姿态(dx,dy,dz,dw),时刻,子坐标系名称,父坐标系名称)

用python写tf的listener

import tf as tf_ros
listener = tf_ros.TransformListener()
(trans,rot) = listener.lookupTransform('/base_link', '/grasp_frame', rospy.Time(0))
#trans为子坐标系原点在父坐标系下的位置,rot为姿态(dx,dy,dz,dw),'/base_link'是父坐标系,'/grasp_frame'是子坐标系,rospy.Time(0)为当前时刻

文章标题:ROS学习

本文作者:Echo

发布时间:2020-11-10, 19:42:44

最后更新:2021-04-26, 21:22:49

原始链接:http://dmzecho.github.io/2020/11/10/ROS%E5%AD%A6%E4%B9%A0/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录