ros操作
LQ心懂&行动
这个作者很懒,什么都没留下…
展开
-
ROS服务和参数的分析
目录ROS Services使用rosservicerosservice listrosservice typerosservice callUsing rosparamrosparam listrosparam set and rosparam getrosparam dump and rosparam load准备:本教程假设从前原创 2017-09-29 21:45:56 · 326 阅读 · 0 评论 -
ubuntu16.04下ros功能包Package的两种正确编译方式
1、rosmake编译包package1.1、创建工作空间在开始具体工作之前,首先创建工作空间,并且为工作空间设置环境变量到~/.bashrc中,如果要查看已有的空间路径,可以用查询命令$ echo $ROS_PACKAGE_PATH你将会看到如下的信息:/home/horsetail/dev/rosbook:/home/horsetail/catkin_ws/src:/opt原创 2017-12-21 21:30:31 · 6452 阅读 · 0 评论 -
ros中常用的一些命令
1.要找到一个软件包的目录,使用 rospack find命令:rospack find package-name2.查看软件包:要查看软件包目录下的文件,使用如下命令:rosls package-name3.如果想“访问”某软件包目录,可以将当前目录切换至此软件包目录,使用如下命令:roscd package-name4.eog是图像查看器eog box−turt原创 2017-12-21 21:47:10 · 6374 阅读 · 0 评论 -
launch文件的理解
Launch中节点的添加与重映射: 包含其他文件,原创 2017-12-21 22:03:05 · 1645 阅读 · 0 评论 -
ros中消息类型的创建
1. 创建catkin工作空间在catkin_ws文件中有文件src$ mkdir -p~/catkin_ws/src$ cd ~/catkin_ws2. 创建catkin程序包打开catkin中的src目录$ cd~/catkin_ws/src现在使用catkin_create_pkg命令来创建一个名为'beginner_tutor原创 2017-12-21 21:50:53 · 676 阅读 · 0 评论 -
ros中串口的使用
txt文件要添加下面内容add_executable(talker src/talker.cpp)target_link_libraries(talker ${catkin_LIBRARIES})add_dependencies(talker roserial_generate_messages_cpp)add_executable(listener src/listener.原创 2017-12-21 22:11:08 · 1062 阅读 · 0 评论 -
一个新消息类创建的例子
msg文件里的point.msgint32 xint32 yint32 z节点程序#!/usr/bin/env pythonimport rospyfrom geometry_msgs.msg import Twist, Point,Quaternionfrom math import copysign, sqrt, pow,radians,pi ,at原创 2017-12-21 22:15:57 · 495 阅读 · 0 评论 -
ros节点的分析
图概念概述Nodes:节点,一个节点即为一个可执行文件,它可以通过ROS与其它节点进行通信。Messages:消息,消息是一种ROS数据类型,用于订阅或发布到一个话题。Topics:话题,节点可以发布消息到话题,也可以订阅话题以接收消息。Master:节点管理器,ROS名称服务 (比如帮助节点找到彼此)。rosout: ROS中相当于stdout/stderr。ro原创 2017-09-29 21:06:33 · 735 阅读 · 0 评论 -
ros文件系统
ROS文件系统中的基本概念1.Packages: Package是ROS系统中最底层最基本的组织,里面存放各种文件:库、工具、可执行文件等.2.Manifest: 一个package描述xml文件,定义package之间的依赖关系.3.Stacks: package的集合,比package这个概念高一级别4.Stack Manifest: 作用类原创 2017-09-29 20:29:14 · 393 阅读 · 0 评论 -
ROS与Python中如何使用参数
在这里我将简单介绍参数的获取,参数的设置,参数的修改和参数的查询1.参数的获取使用rospy.get_param(‘param_name‘)获取全局参数rospy.get_param(‘/global_param_name')获取目前命名空间的参数rospy.get_param('param_name')获取私有命名空间的参数rospy.get_param('~原创 2017-12-18 11:38:46 · 4076 阅读 · 0 评论 -
ros定制自己的消息类型
在实际应用中,我们可能想发布自己的消息类型,就像众所周知的Twist类型或者航向信息Odometry一样,那么到底如何定制自己想要的消息类型?本文楼主以自己调试过程中监控机器人左右轮速度来进行演示。 文章内容包括:消息的定制和使用,以及使用rqt_plot来绘制曲线,建议大家先阅读官网教程,一些细节事项也可参见这个自定义消息msg。 首先在你的package创建msg转载 2017-10-11 21:40:30 · 525 阅读 · 0 评论 -
arduino上采集的数据转化为odom
在这一篇文章中,将主要介绍如何将arduino上采集到的速度转化为Odom,即左右轮速度转化为机器人离起点的x,y坐标和机器人的朝向角yaw,让move_base可以订阅到这个信息并做出相应的路径规划。在wiki论坛上有一个很详细的例程是关于如何发布Odometry信息的,希望大家先仔细阅读。在这个程序里,它把转化好的Odom信息发布到了两个地方,第一个是广播了tf关系,即每次机器人移动以后,/o转载 2017-10-11 21:32:14 · 1894 阅读 · 1 评论 -
ros话题的分析
目录roscoreturtlesim通过键盘远程控制turtleROS Topics使用 rqt_graphrostopic介绍使用 rostopic echo使用 rostopic listROS Messagesrostopic type继续学习 rostopic使用 rostopic pub使用 rostopic hz使用 rq原创 2017-09-29 21:36:09 · 474 阅读 · 0 评论 -
创建catkin工作空间和程序包
catkin方式创建ROS工作空间开始创建一个catkin 工作空间:$ mkdir -p ~/dashgo_ws/src$ cd ~/dashgo_ws/src即使这个工作空间是空的(在'src'目录中没有任何软件包,只有一个CMakeLists.txt链接文件),你依然可以编译它:$ cd ~/catkin_ws/$ catkin_makec原创 2017-09-29 20:00:17 · 968 阅读 · 0 评论 -
ros操作系统的介绍
一、ROS的来源 1.随着机器人领域的快速发展和复杂化.代码的复用性和模块化的需求越来越强烈.而已有的开源机器人系统 又不能很好的适应需求.2010Willow Garage公司发布了开源机器人操作系统ROS(robot operating system), 很快在机器人研究领域展开了学习和使用ROS的热潮 。 2.ROS系统是起源于2007年斯坦福大学人工智能实验室原创 2017-09-29 19:40:29 · 8660 阅读 · 0 评论 -
kinetic安装arbotix模拟器
在学习到用arbotix模拟器的时候,由于使用最新版本,其他的很多网站的命令,包括sudo apt-get install ros-kinetic-arbotix-*,没有安装成功接下来尝试使用git下载源码编译:下载源码:git clone https://github.com/vanadiumlabs/arbotix_ros.git然后在/arbotix_ros文件夹下新转载 2017-10-11 17:26:43 · 3573 阅读 · 0 评论 -
学习move _base包
为了使用move_base制定一个导航目标,我们提供一个相对特定参考坐标的机器人的目标姿态(位置和方向)。move_base包使用MoveBaseActionGoal消息类型来指定目标。运行一下命令查看MoveBaseActionGoal消息类,如图1。 rosmsg show MoveBaseActionGoal12 图1 可见,目标由标准ROS he转载 2017-10-11 19:57:11 · 1272 阅读 · 0 评论 -
ros机器人直行1米再旋转180度,最终回到起点
一、功能介绍 使机器人直行1米,接着旋转180°,再返回到起始点。二、实现方法 使用时间和速度估算距离和角度。定时发送Twist命令,使机器人直行一个确定的距离,旋转180°,再次以相同的时间和相同的速度直行并停到起始点。最后机器人再一次旋转180°与原始方向相吻合。三、实验步骤1.在robot_move/src/里创建timed_out_and_bac转载 2017-10-11 20:33:55 · 7604 阅读 · 0 评论 -
ros机器人的直行
#includeros/ros.h>#includesignal.h>#includegeometry_msgs/Twist.h>ros::Publisher cmdVelPub;void shutdown(int sig){ cmdVelPub.publish(geometry_msgs::Twist());//使机器人停止运动 ROS_INFO("goforward c转载 2017-10-11 20:43:47 · 697 阅读 · 0 评论 -
让ros机器人行走、建图、路径规划、定位和导航
准备导航所需要的包。 a.ros-kinetic-gampping :我们不需要修改包内的东西,所以直接安装可执行文件就好了。 sudo apt-get install ros-kinetic-slam-gmapping b.安装雷达的驱动(我的是robopack),直接将提供的ros驱动包拷贝到工作空间中,转载 2017-10-11 20:53:54 · 19940 阅读 · 1 评论 -
ros的全局把握
控制系统的架构: 最底层:机器人本身的电机驱动部分,该部分通过串口接收电脑端输出的左右轮期望速度,对左右轮分别进行PID控速。同时,定时采样电机码盘值,并转化为左右轮速度值通过串口上传给电脑。当然PID控速这一部分也可以放到电脑ROS端,这样的话,电脑串口输出的是直接的PWM值而不是之前的期望速度了。 中间通信层:电脑端和底层电机的控制通信,以及将传感器信息发布给ROS的转载 2017-10-11 21:05:04 · 1102 阅读 · 0 评论 -
用rosserial_windows和rosserial_server实现ROS在Linux与Windows的交互
1.首先需要在ubuntu16.04中下载好rosserial_windows和roasserial_server包,最好有源码可以修改2.然后分别在windows端和ubuntu终端运行用VS打开的含有lib的控制台程序和socket_node.3.可以发现基于TCP/IP的局域网通信中的写和读是转换成ROS机制下的节点发布和订阅.4.可以编写其它的节点程序实现想要的功能.注意:...原创 2019-01-16 16:15:55 · 1999 阅读 · 5 评论