- 博客(44)
- 资源 (10)
- 收藏
- 关注
原创 Linux下跨机器传输文件指令
如:从本地拷贝到远程目录下:scp -r tt0123 eaibot@192.168.31.200: 可以正确运行
2019-01-27 15:55:56 523
原创 用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 2019 5
原创 VS2015中C++运行程序缺少丢失pthreadVC2.dll
在C++运行多线程时,如果出现警告无法启动此程序,因为计算机中丢失pthreadVC2.dll可以把pthread的文件解压缩后,把Pre-built.2文件夹中的pthreadVC2.dll复制后放到C:\Windows\SysWOW64中(64位系统)...
2018-03-20 14:38:24 6265
原创 C++中多线程编写时,缺少pthread.h文件的处理办法
下载pthreads-w32-2-8-0-release.exe运行这个文件选择Extract,会出现Pre-built.2,pthreads.2,QueueUserAPCEx这三个文件,然后选取Pre-built.2文件中的include和lib文件,把它们放到对应C++安装目录中的include和lib文件中,即D:\Program Files (x86)\Microsoft Visual S...
2018-03-20 11:48:28 4970
原创 一个新消息类创建的例子
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 507
原创 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 1078
原创 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 691
原创 ros中常用的一些命令
1.要找到一个软件包的目录,使用 rospack find命令:rospack find package-name2.查看软件包:要查看软件包目录下的文件,使用如下命令:rosls package-name3.如果想“访问”某软件包目录,可以将当前目录切换至此软件包目录,使用如下命令:roscd package-name4.eog是图像查看器eog box−turt
2017-12-21 21:47:10 6420
原创 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 6472
原创 ubuntu系统下一些问题的解决1
1. Linux Ubuntu打开.exe文件2. ubuntu中使用dpkg安装deb文件提示依赖关系问题,仍未被配置sudo dpkg -i package_file.deb3. ubuntu如何跨机器拷贝文件或者文件夹4. linux系统下串口调试工具的应用首先安装cutecomsudoapt-get i
2017-12-21 17:52:05 623
原创 ubuntu中如何查看同一局域网中的ip以及ip的修改固定
1.查看ip地址在命令行输入192.168.31.1/242.登录某个ip地址在命令行输入ssh a@192.168.31.1643.修改ip首先ipconfig查看硬件地址,即Hwaddr后面的内容,复制;然后在命令行输入sudo vim/etc/udev/rules.d/70-persistent-net.rules然后粘贴刚才复制的内容到address4.重启su
2017-12-21 17:23:50 5816
原创 ubuntu中如何使用系统串口
1.安装软件在命令行sudo apt-get install cutecom进行命令行安装2.启动在命令行中输入cutecom进行启动3.串口配置启动程序后,对于设备通过USB连接到电脑的,可以在Device中更改为/dev/ttyUSB0,其它配置根据实际来设定
2017-12-21 17:16:01 1335
原创 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 4100
转载 ros定制自己的消息类型
在实际应用中,我们可能想发布自己的消息类型,就像众所周知的Twist类型或者航向信息Odometry一样,那么到底如何定制自己想要的消息类型?本文楼主以自己调试过程中监控机器人左右轮速度来进行演示。 文章内容包括:消息的定制和使用,以及使用rqt_plot来绘制曲线,建议大家先阅读官网教程,一些细节事项也可参见这个自定义消息msg。 首先在你的package创建msg
2017-10-11 21:40:30 538
转载 arduino上采集的数据转化为odom
在这一篇文章中,将主要介绍如何将arduino上采集到的速度转化为Odom,即左右轮速度转化为机器人离起点的x,y坐标和机器人的朝向角yaw,让move_base可以订阅到这个信息并做出相应的路径规划。在wiki论坛上有一个很详细的例程是关于如何发布Odometry信息的,希望大家先仔细阅读。在这个程序里,它把转化好的Odom信息发布到了两个地方,第一个是广播了tf关系,即每次机器人移动以后,/o
2017-10-11 21:32:14 1918 1
转载 ros的全局把握
控制系统的架构: 最底层:机器人本身的电机驱动部分,该部分通过串口接收电脑端输出的左右轮期望速度,对左右轮分别进行PID控速。同时,定时采样电机码盘值,并转化为左右轮速度值通过串口上传给电脑。当然PID控速这一部分也可以放到电脑ROS端,这样的话,电脑串口输出的是直接的PWM值而不是之前的期望速度了。 中间通信层:电脑端和底层电机的控制通信,以及将传感器信息发布给ROS的
2017-10-11 21:05:04 1121
转载 让ros机器人行走、建图、路径规划、定位和导航
准备导航所需要的包。 a.ros-kinetic-gampping :我们不需要修改包内的东西,所以直接安装可执行文件就好了。 sudo apt-get install ros-kinetic-slam-gmapping b.安装雷达的驱动(我的是robopack),直接将提供的ros驱动包拷贝到工作空间中,
2017-10-11 20:53:54 19967 1
转载 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 710
转载 ros机器人直行1米再旋转180度,最终回到起点
一、功能介绍 使机器人直行1米,接着旋转180°,再返回到起始点。二、实现方法 使用时间和速度估算距离和角度。定时发送Twist命令,使机器人直行一个确定的距离,旋转180°,再次以相同的时间和相同的速度直行并停到起始点。最后机器人再一次旋转180°与原始方向相吻合。三、实验步骤1.在robot_move/src/里创建timed_out_and_bac
2017-10-11 20:33:55 7727
转载 学习move _base包
为了使用move_base制定一个导航目标,我们提供一个相对特定参考坐标的机器人的目标姿态(位置和方向)。move_base包使用MoveBaseActionGoal消息类型来指定目标。运行一下命令查看MoveBaseActionGoal消息类,如图1。 rosmsg show MoveBaseActionGoal12 图1 可见,目标由标准ROS he
2017-10-11 19:57:11 1294
转载 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 3587
原创 ROS服务和参数的分析
目录ROS Services使用rosservicerosservice listrosservice typerosservice callUsing rosparamrosparam listrosparam set and rosparam getrosparam dump and rosparam load准备:本教程假设从前
2017-09-29 21:45:56 339
原创 ros话题的分析
目录roscoreturtlesim通过键盘远程控制turtleROS Topics使用 rqt_graphrostopic介绍使用 rostopic echo使用 rostopic listROS Messagesrostopic type继续学习 rostopic使用 rostopic pub使用 rostopic hz使用 rq
2017-09-29 21:36:09 491
原创 ros节点的分析
图概念概述Nodes:节点,一个节点即为一个可执行文件,它可以通过ROS与其它节点进行通信。Messages:消息,消息是一种ROS数据类型,用于订阅或发布到一个话题。Topics:话题,节点可以发布消息到话题,也可以订阅话题以接收消息。Master:节点管理器,ROS名称服务 (比如帮助节点找到彼此)。rosout: ROS中相当于stdout/stderr。ro
2017-09-29 21:06:33 757
原创 ros文件系统
ROS文件系统中的基本概念1.Packages: Package是ROS系统中最底层最基本的组织,里面存放各种文件:库、工具、可执行文件等.2.Manifest: 一个package描述xml文件,定义package之间的依赖关系.3.Stacks: package的集合,比package这个概念高一级别4.Stack Manifest: 作用类
2017-09-29 20:29:14 410
原创 创建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 980
原创 ros操作系统的介绍
一、ROS的来源 1.随着机器人领域的快速发展和复杂化.代码的复用性和模块化的需求越来越强烈.而已有的开源机器人系统 又不能很好的适应需求.2010Willow Garage公司发布了开源机器人操作系统ROS(robot operating system), 很快在机器人研究领域展开了学习和使用ROS的热潮 。 2.ROS系统是起源于2007年斯坦福大学人工智能实验室
2017-09-29 19:40:29 8689
转载 python中的I/O
读取键盘输入Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘。如下:raw_inputinputraw_input函数raw_input([prompt]) 函数从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符):#!/usr/bin/python# -*- coding: UTF-8 -*- str = raw
2017-09-28 16:53:43 535
转载 python的模块
Python 模块Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块让你能够有逻辑地组织你的 Python 代码段。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。例子下例是个简单的模块 support.
2017-09-28 16:05:42 227
转载 python中的函数
定义一个函数你可以定义一个由自己想要功能的函数,以下是简单的规则:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号起始,并且缩进。return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达
2017-09-28 15:56:13 283
转载 python中的字典
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:d = {key1 : value1,key2 :value2 }键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
2017-09-28 14:39:06 302
原创 DS18B20单总线技术在stm32f103上的实现
以下程序在stm32f103开发板上运行可以成功显示多个ds18b20所测的温度值ds18b20.h#ifndef __DS18B20_H#define __DS18B20_H #include "sys.h"#include "stm32f10x.h" ///////////////////////////////////////////////////////////
2017-09-28 13:20:27 6172 3
原创 DS18B20单总线策略的分析
一、温度传感器 DS18B20是一款改进型智能数字温度传感器,其测温范围为-55℃~+125℃,在-10℃~+85℃范围内测量精度为±0.5℃,而且测温分辨率(9~12位)可编程调整。DS18B20采用了单总线接口技术,信息的读出或写入仅需要1根口线即可。其供电范围为3~5.5V,且提供了寄生供电模式,可以从数据线获取工作电源,以便进一步简化CPU与DS18B20间的电路连
2017-09-28 13:05:56 1628
转载 python中的number数字
Python 支持四种不同的数值类型:整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。长整型(long integers) - 无限大小的整数,整数最后是一个大写或小写的L。浮点型(floating point real values) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
2017-09-28 11:03:05 519
转载 python的循环嵌套
Python 语言允许在一个循环体里面嵌入另一个循环。Python for 循环嵌套语法:foriterating_varinsequence:foriterating_varinsequence:statements(s)statements(s)Python while 循环嵌套语法:whileex
2017-09-28 10:56:18 490
转载 python中的for语句
实例#!/usr/bin/python# -*- coding: UTF-8 -*- forletterin'Python':# 第一个实例 print'当前字母 :',letter fruits =['banana','apple','mango']forfruitinfruits:# 第二
2017-09-28 10:38:25 2858
转载 python中的while语句
循环使用 else 语句在 python 中,while … else 在循环条件为 false 时执行 else 语句块:实例#!/usr/bin/pythoncount = 0whilecount <5: printcount," is less than 5" count =count +
2017-09-28 10:22:47 2140
转载 python中break语句
Python break语句,就像在C语言中,打破了最小封闭for或while循环。break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。break语句用在while和for循环中。如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。#!/usr/bin/python# -
2017-09-28 10:06:50 506
转载 python中continue语句
Python continue 语句跳出本次循环,而break跳出整个循环。continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。continue语句用在while和for循环中。#!/usr/bin/python# -*- coding: UTF-8 -*- forletterin'Python':
2017-09-28 10:01:00 1087
MFCAGVmanager.rar
2019-08-03
rosserial_windows和rosserial_server源代码
2019-01-16
在VS2015中实现MFC的串口通信
2019-01-15
TCP/IP通信实现局域网上位机对下位机小车的控制
2019-01-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人