ros

ROS Installation error ( ROS Kinetic in Ubuntu 16.04 )

柔情痞子 提交于 2020-01-23 06:20:09
问题 The sequence of steps listed in http://wiki.ros.org/kinetic/Installat.. . have been followed. (Trying to install ROS kinetic in Ubuntu 16.04) Error when entering the following command : $sudo apt-get install ros-kinetic-desktop-full Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may

ROS节点中创建msg和srv文件(kinetic/melodic)

坚强是说给别人听的谎言 提交于 2020-01-23 00:34:39
1.msg文件创建 #创建msg文件夹 roscd ros_pkg mkdir msg cd msg #创建msg文件 touch a_msg.msg gedit a_msg.msg 在a_msg.msg文件中写入msg内容,举个栗子 #数据类型 数据名称 int8 A int8 B 修改package.xml,添加如下内容 <build_depend>message_generation</build_depend> <run_depend>message_runtime</run_depend> 修改CMakeList.txt,添加如下内容 find_package(catkin REQUIRED COMPONENTS ... ... std_msgs message_generation ... ) catkin_package( ... CATKIN_DEPENDS message_runtime ... ...) add_message_files( FILES a_msg.msg ) generate_messages( DEPENDENCIES std_msgs ) 2.srv文件创建 #创建srv文件夹 cd ros_pkg mkdir srv cd srv #创建srv文件 touch b_srv.srv gedit b_srv.srv 在b_srv

ROS:从入门到放弃(三) 发布接收不同类型消息1

僤鯓⒐⒋嵵緔 提交于 2020-01-21 06:32:45
发布接收int类型消息 第一篇文章我们发布接收了string类型的消息.我们提到在ROS里发布的消息必须是在ROS中定义了的.就是如果你要发布一个string类型的消息,你不能直接发布一个std::string,你得发布一个std_msgs::String类型的消息.后者在ROS中才有定义.那么发布其他类型的消息我该怎么办呢?比如现在如果我想发布一个int8类型的消息,Int8是8位整型的消息,范围从-128到127.可以想象,代码在很大程度上应该和发布string类型的代码相似.咱们先直接贴上代码,然后来找不同.首先打开一个terminal.输入下面内容 cd ~ / catkin_ws / src / pub_sub_test / src touch pub_int8 . cpp touch sub_int8 . cpp 咱们创建了用来发布8位整型message的发布程序和接收程序.接着,打开pub_int8.cpp,把下面的代码粘贴进去,保存再退出. # include "ros/ros.h" # include "std_msgs/Int8.h" //#include "std_msgs/String.h" # include <sstream> int main ( int argc , char * * argv ) { ros :: init ( argc ,

ROS命名空间 和 参数加载

浪尽此生 提交于 2020-01-20 21:10:20
ROS命名空间 和 参数加载 ROS命名空间 参数设置 ROS命名空间 ROS命名空间,在我的理解就是我们在一个范围下(这个范围就是指的是命名空间)建立变量,节点等。这些变量,节点的有效范围就是他所在的命名空间。一般默认的是全局空间,即变量,节点全局有效。就像c++中的name space std,我们也可以自己定义自己的命名空间,一些操作和变量只在命名空间有效。为节点选择一个不同的默认命名空间的最好也是最常用的方法是在启动文件中使用命名空间(ns)属性。 ros::NodeHandle nh_private; //默认命名空间,即全局命名空间:/(根) ros::NodeHandle nh_private(“/my_ros_name_space”); // 命名空间为/my_node_handle_namespace ros::NodeHandle nh_private("~"); //私有命名空间,与相对名称的主要差别在于,私有名称不是用当前默认命名空间,而是用的它们节点名称作为命名空间。 参数设置 ROS的参数设置都在一个叫参数服务器的地方存在。那又是什么操作将参数添加到参数服务器里的呢?是roslaunch工具在启动launch文件时,将参数添加到参数服务器的,具体的就是在launch文件中,如果要设置参数,需要使用rosparam加载参数。比如下面这个launch文件:

NAO学习——从NAOqi和rviz开始学习在ROS上运行NAO

一世执手 提交于 2020-01-20 10:09:05
1. 开始连接一个实体NAO 1.1 运行nao_bringup 在开始之前,我们首先要确定三个必须的依赖包 naoqi_driver,naoqi_bridge 和 nao_description 是否满足。这三个包可以通过包管理器或者从github上clone。 为了运行nao_bringup, 需要执行下列命令: $ roslaunch nao_bringup nao_full.launch nao_ip:=<robot_ip> roscore_ip:=<roscore_ip> 如果用的是Python SDK,则需要执行: $ roslaunch nao_bringup nao_full_py.launch nao_ip:=<robot_ip> roscore_ip:=<roscore_ip> <robot_ip>是NAO的地址,’’是运行roscore的电脑IP地址。因为roscore并不是在NAO上运行的,所以用这两个参数来让NAO找到roscore运行的位置是很必要的。将这两个参数修改为正确的IP地址,以在NAO和电脑之间建立正确连接。 当nao_bringup成功运行之后,我们就可以打开rviz了。 1.2 在RVIZ上显示NAO 首先打开RVIZ: $ rosrun rviz rviz ROS上提供了一个预先设置好的RVIZ配置文件urdf.rviz,保存在~

ROS--创建工作空间以及功能包

余生长醉 提交于 2020-01-19 14:19:16
src:代码空间 build:编译空间 devel:开发空间 install:安装空间 一、创建工作空间 1、home文件夹下建立catkin_ws文件夹;catkin_ws文件夹下建立src文件夹。 2、src文件夹下打开终端,输入:catkin_init_workspace将文件夹初始化成工作空间。 二、编译工作空间 1、回到catkin_ws文件夹下,输入:catkin_make来编译这个工作空间,生成了两个文件夹:devel和build。 注:devel中存储:编译中的可执行文件 build中存储:编译过程中的中间文件 三、设置环境变量:我们想让linux系统找到ROS的工程包再什么位置,需要告诉系统,依赖环境变量来完成 输入:source devel/setup.bash 注意:此命令只在当前终端生效。 四:检查环境变量,输入:echo $ROS_PACKAGE_PATH 五:创建功能包 功能包:具体实现机器人某个功能的单元 1、创建功能包: 到src文件夹下,终端输入:catkin_create_pkg learning_communication std_msgs rospy roscpp 此时,在src下的learning_communication文件夹下生成四项:include,src和两个文件,src放置功能包的代码,include放置头文件

在Ubuntu18.04和ROS-melodic中编译TI mmWave autonomous robotics(上)

不问归期 提交于 2020-01-18 04:36:44
一、luna更替 1.非重大更新 禁止了spinners在同一个队列中的使用。 log文件现在可以依据节点名称命名。 python log文件支持yaml格式。 2.重大更新 robot_model元包将被舍弃。 robot_model包含用于对机器人信息的各个方面进行建模的软件包, 这些软件包以Xml机械格式(URDF)进行描述。 该堆栈的核心软件包是urdf,它解析URDF文件, 并构造机器人的对象模型(C ++)。 替代包:collada_parser, collada_urdf, joint_state_publisher, kdl_parser, resource-retriever, urdf, urdf_parser_plugin, liburdfdom-tools instead. sudo apt-get install ros-melodic-collada-parser sudo apt-get install ros-melodic-collada-urdf sudo apt-get install ros-melodic-joint-state-pulisher sudo apt-get install ros-melodic-joint-kdl-parser sudo apt-get install ros-melodic-resource

ROS探索总结-tf坐标变换

空扰寡人 提交于 2020-01-18 03:01:08
tf简介 TF(TransForm),就是坐标转换,包括了位置和姿态两个方面的变换。注意区分坐标转换和坐标系转换。 坐标转换是一个坐标在不同坐标系下的表示,而坐标系转换不同坐标系的相对位姿关系。 tf功能包 tf是一个让用户随时间跟踪多个参考系的功能包,它使用一种树型数据结构,根据时间缓冲并维护多个参考系之间的坐标变换关系,可以帮助用户在任意时间,将点、向量等数据的坐标,在两个参考系中完成坐标变换。 tf工具 坐标系统虽然是一个基础理论,但是由于涉及多个空间的变换,所以TF功能包提供了丰富的命令行工具来帮助用户调试和创建tf变换。 tf_monitor tf_monitor工具的功能是打印tf树中的所有坐标系的状态,或者通过参数来查看指定参考系之间的信息。 tf_monitor tf_monitor <source_frame> <target_target> 运行后效果: xx@xx:~ $rosrun tf tf_monitor #显示当前坐标变换树的信息,主要是名称和实时的时间延时 RESULTS: for all Frames Frames: Frame: base_footprint published by unknown_publisher Average Delay: 0.00555556 Max Delay: 0.01 Frame: base_link

Baxter手臂控制

隐身守侯 提交于 2020-01-17 17:43:05
1.Baxter介绍 1.1概述 Baxter是 Rethink Rbotics生产的一款双臂机器人。Baxter每个手臂有7个自由度,具有一系列关节执行器。 Baxter能安全的在人周围进行作业,无需设置安全边界。因为其关节组件通过系列弹性制动器(series elastic actuators)组成,在发动机/传动装置和执行器之间有一条弹簧,可以监测外部的作用力并反馈。 研究型的Baxter提供了运行于远程计算机上的SDK程序,SDK程序提供了开源的ROS API,通过API运行ROS命令和脚本,对Baxter进行操作。 名词解释: SDK:Software Development Kit ,软件开发工具包。 API:Application Programming Interface,应用编程接口,是操作系统留给应用程序的一个调用接口。 1.2 Baxter模拟器 Baxter模拟器是开源的。 Baxter模拟器在ROS的元包baxter_simulator中。 Baxter的URDF文件用于生成模拟的Baxter模型。 功能包baxter_sim_hardware提供硬件仿真借口。可以用rqt修改位置和速度。 功能包baxter_sim_controllers提供手臂和头部的控制器。 Baxter模拟器可以用于rviz和MoveIt。 1.3 Baxter的手臂 肩部、肘部

AUBO-Robot-on-ROS

◇◆丶佛笑我妖孽 提交于 2020-01-17 06:00:32
https://github.com/mhuasong/AUBO-Robot-on-ROS AUBO-Robot-on-ROS Simulation Of AUBO Collaborative Robot On ROS 该项目打算以遨博协作机械臂为实例,通过一步步的讲解,让学生或研究开发人员快速掌握协作机器人ROS下的开发基础。 该项目是武汉科技大学机器人与智能系统研究院嵌入式系统与智能机器人实验室的一个内部教学,同时也是一个对外开放的学习教程,教程撰写目前由闵华松教授及其实验室学生维护。 在学习的过程中如有什么问题,可以使用电子邮件联系: mhuasong@wust.edu.cn 初步的教程计划安排如下: ROS与协作机器人实战开发教程 Aubo协作机器人介绍( https://github.com/mhuasong/AUBO-Robot-on-ROS/blob/master/ch1_v1.pdf ) ROS编程基础 ( https://github.com/mhuasong/AUBO-Robot-on-ROS/blob/master/ch2_v1.pdf ) AUBO协作机器人ROS环境建模 ( https://github.com/mhuasong/AUBO-Robot-on-ROS/blob/master/ch3_v1.pdf ) AUBO i5运动学仿真 (正运动学: