ROS笔记六(基于Python、Kinetic):自定义动作类型

Ubuntu16.04下安装ROS Kinetic(详细图文教程) 参考网址:链接1 参考网址:链接2 一、安装ROS 1、添加ROS软件预源,打开命令行输入以下代码: sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'122 2、添加密钥,输入... 阅读详情

前言:

同消息、服务类似,动作的定义包含三个部分:目标、结果、反馈。并且在编译过程中,会被打包为一个消息类型。

1.创建动作类型的源文件:

在my_code包下创建action目录,用于存放动作源文件。下面定义一个满足定时器需求的动作Timer.action:

# This is an action definition file, which has three parts: the goal, the
# result, and the feedback.
#
# Part 1: the goal, to be sent by the client
#
# The amount of time we want to wait
duration time_to_wait
---
# Part 2: the result, to be sent by the server upon completion
#
# How much time we waited
duration time_elapsed
# How many updates we provided along the way
uint32 updates_sent
---
# Part 3: the feedback, to be sent periodically by the server during
# execution.
#
# The amount of time that has elapsed from the start
duration time_elapsed
# The amount of time remaining until we're done
duration time_remaining

2.告知构建系统有新动作的定义:

<build_depend>actionlib</build_depend>
<build_depend>actionlib_msgs</build_depend>
<build_export_depend>actionlib</build_export_depend>
<build_export_depend>actionlib_msgs</build_export_depend>
<exec_depend>actionlib</exec_depend>
<exec_depend>actionlib_msgs</exec_depend>

3.修改CMakeLists.txt文件参数:

修改find_packag()函数:

 catkin_package()添加编译运行依赖:

 add_action_files()添加自定义服务源文件文件名: 

最后,generate_message()添加自定义服务所依赖的消息类型:

 4.编译 :

进入工作空间:

cd ~/catkin_ws

开始编译:

catkin_make

 

ROS笔记——在conda的python3.7中使用ROS Kinetic 环境:ubuntu 16.04, ROS Kinetic, conda 4.8.3, python3.7 思路 在python3环境下,直接使用tf会有如下报错(rospy可正常使用): >>> import tf Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/opt/ros/kinetic/lib/python2.7/dist-pack. 阅读详情

相关推荐

ROS笔记九(基于Python、Kinetic):gazebo中通过键盘输入控制turtlebot机器人移动和转向

前言: Twist消息能描述所有的3D运动,在控制差分驱动的平面运动机器人时,只需要使用其中的两个参数:线性速度(前进/后退)和绕竖直轴的角速度。所以只需要简单地发送线速度(米每秒)和角速度(弧度每秒)命令。这里需要两个程序:一个程序用来监听键盘地敲击事件然后通过ROS消息发布出去,另一个订阅这个ROS消息并输出一个Twist消息,从而实现键盘输入控制机器人地自由移动。 1.键盘驱动: 使用Python的termios和tty库将终端设置成原始模式并捕获键盘敲击事件,然后将事件以std_msgs/st

java0fu的博客 4190

ROS python 开始\停止导航、发布目标点、获取实时位置

在四个终端中分别执行以下命令,开启仿真 需要先有对应的包 roscore roslaunch rbx1_bringup fake_turtlebot.launch 开启仿真 roslaunch rbx1_nav fake_move_base_blank_map.launch 加载空地图 rosrun rviz rviz -d `rospack find rbx1_nav`/nav.rviz 开启rviz 发布目标点,发送后立即开始运动 命令行形式 PoseStamped数据类型,主要要指明frame_id

防搞活机的博客 1万+

Ubuntu16.04安装ROS kinetic踩坑全记录(apt-get出现依赖问题、python3与kinetic不兼容、安装ROS后不能导入cv2等

Ubuntu16.04安装ROS kinetic踩坑全记录(apt-get出现依赖问题、python3与kinetic不兼容、安装ROS后不能导入cv2等)使用ROS官网的安装命令sudo apt-get install ros-kinetic-desktop-full出现依赖问题完成官网给出的安装过程后,在python环境出现不能import cv2的问题 最近需要在实验室的服务器上安装ROS调试机械手,因为服务器的ubuntu版本是16.04,所以只能装kinetic版的ROS,过程中出现了很多坑,记录

qq_35218039的博客 1560

ROS笔记七(基于Python、Kinetic):通信机制——动作(action)

前言: 动作使用话题实现,其本质上相当于一个规定了一系列话题(目标、结果、反馈等)的组合使用方法的高层协议。相较于服务的同步通信机制,动作机制则是异步的。动作适用于大部分请求/响应式交互场景,尤其是执行过程不能立即完成。 catkin_ws工作空间下my_code程序包里的文件目录结构: 1.定义一个动作服务器: ...

java0fu的博客 1485

草莓自动采摘机器人:ROS导航与Kinetic环境配置

本文介绍了如何安装和配置草莓自动采摘机器人的ROS导航功能包,并提供了一个简单的示例代码。通过使用ROS导航和Kinetic环境,您可以构建自动化的采摘机器人系统,实现精确的目标导航和定位。草莓自动采摘机器人是一种利用ROS导航和ROS Kinetic进行操作的智能机器人系统。现在,我们可以运行ROS导航功能包并测试草莓自动采摘机器人的导航功能。现在,我们将编写一个简单的ROS导航功能包。接下来,我们需要安装ROS导航功能包。在新的终端中运行草莓导航功能包。创建一个新的ROS功能包。

XjmuAngular的博客 9861

kinetic_sample_packages:适用于C ++和Python的示例ROS Kinetic节点的集合

etic_sample_packages 适用于C ++和Python的示例ROS Kinetic节点的集合 先决条件 在能够编译此软件包之前,您需要确保已安装所有软件依赖项。 建议您提取要使用的特定示例,而不要尝试一次编译所有内容。 假定您至少已安装ros-kinetic-desktop软件包。 spinner_py / spinner_cpp / atime_sync / custom_msg_srv 无需额外的依赖! image_sub_py / image_processing / resolve_pnp_py sudo apt install ros-kinetic-vision-opencv ros-kinetic-cv-bridge ros-kinetic-image-transport ros-kinetic-cv-camera mavros_guider sudo

ROS话题、服务、动作(自定义)

以一个例题为例演示使用 ROS 话题(Topic) 机制实现消息发布与订阅要求:编写代码实现 ROS 中消息的发布与订阅: 创建一个发布者,每隔 100ms 依次发送斐波拉契数列的数字到话题/fibonacci 中;创建一个订阅者,订阅该话题,输出订阅结果。如,订阅者依次输出: 1 1 2 3 5 8 ··1.如何自定义话题消息·定义msg文件#发送到话题内的数字在工作空间homeworkws/src内的homework。

m0_73044708的博客 1152

Unity游戏开发实战:手把手教你用C#实现一个简单的反向运动学(IK)控制器

本文详细介绍了在Unity游戏开发中如何使用C#实现一个简单的反向运动学(IK)控制器。通过建立骨骼层级结构、实现CCD算法和角度限制,开发者可以轻松创建自然的角色动画效果。文章还提供了可视化调试工具和性能优化方案,帮助提升开发效率。

weixin_42523711的博客 244

kinetic下键盘控制机器人(python实现)

完整的代码我会放到文章末尾我们的代码分为三个部分:1,键盘事件监控2,速度反馈3,主函数(主要实现控制)首先我们创建了两个字典,一个用于改变机器人运动方向,一个用于机器人速度控制MoveBindings = {     'w':(1, 0),    's':(-1, 0),    'a':(0, 1),    'd':(0, -1),    'q':(1, 1),    'e':(1, -1), ...

dzhongjie的博客 3879

Paypal开发者中心获取“ClientId”和“ClientSecret”参数

正式环境设置 1、登录到 paypal开发者中心 网址:https://developer.paypal.com/developer/ 点击右上角登录按钮登录 2、左侧栏 - 我的应用程序和凭证 - 点击“创建新应用” 新注册的paypal账号,需要进行邮箱验证,验证通过后,需要等待一段时间(或重新登录),才会出现相关设置项位置 验证邮箱通过后,点击创建新应用 3、按提示填写,保存创建应用 4、点击刚创建的应用进入应用详情页 5、应用详情页获得网站开发人员所需要的“ClientId”和“Client

龚清林的博客 1万+

如何判断一个程序员的技术比你强?

技术大佬与普通程序员之间存在明显的认知差异:前者善于将复杂问题抽象为经典计算机科学问题,用声明式代码替代过程式逻辑;对异常和边界条件极度敏感,具备系统化的排查方法论;代码追求高可读性而非炫技,且执着于底层原理研究。这种技术压制体现在解决问题的确定性上——通过扎实的理论功底和工程直觉,快速定位问题本质,而非依赖试错或搜索。真正的技术实力源于对底层逻辑的深刻理解和对系统稳定性的敬畏。

wldtzzming的专栏 1088

ROS笔记三(基于Python、Kinetic):自定义消息类型

前言: 一个消息定义文件包含一系列的构成此消息的类型。这些类型可以是ROS内建消息类型比如std_msgs包中定义的或是自己定义的消息类型。定义消息后,需要catkin_make编译。 1.创建消息类型的定义文件: 在my_code报下创建msg目录,用于存放消息源文件。下面定义一个Complex消息,文件名Complex.msg: float32 real float32 imaginary 2.告知构建系统有新消息的定义: 向package.xml文件中添加以下代码即可: ...

java0fu的博客 958

windows 下AD9361的 no-os master 工程搭建

参考网站: https://wiki.analog.com/resources/fpga/docs/build#windows_environment_setup https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/software/no-os-setup 参考博客: https://blog.youkuaiyun.com...

Bronceyang的博客 7295

ROS笔记四(基于Python、Kinetic):自定义服务类型

前言: 同消息定义一样,服务定义只是一个消息类型列表。不同的是服务调用同时具有输入和输出。 点击查看自定义消息类型 1.创建服务类型的源文件: 在my_code报下创建srv目录,用于存放服务源文件。下面定义一个WordCount服务,文件名WordCount.srv: string words --- uint32 count "---"表示输入和输出的分割,string作为服务调用的输入,uint32作为服务调用的输出。 2.告知构建系统有新服务的定义: 向package.xml文件中

java0fu的博客 739

深度学习笔记——前向传播与反向传播、神经网络(前馈神经网络与反馈神经网络)、常见算法概要汇总

本文简要介绍深度学习的前向传播与反向传播,以及前馈神经网络与反馈神经网络。

haopinglianlian的博客 3044

ESD防护设计宝典(十):RE(辐射发射)超标问题排查与解决

RE测试是EMC认证的“头号杀手”。当屏幕上出现一根根超标频谱线时,如何快速定位元凶并有效整改?本讲将带你化身电磁侦探,完成一次完美的RE问题“缉凶”。

m0_56451176的博客 394

ROS笔记二(基于Python、Kinetic):通信机制——话题(topic)

前言: 话题实现了一种发布/订阅的通信机制,这是一种在分布式系统中常见的数据交换方式。节点在发送数据到话题上之前,必须先声明话题名和发送到该话题的消息所具有的类型。 1.声明一个话题 ...

java0fu的博客 714

ARFoundation系列讲解 - 24 锚点

一、添加平面检测和平面可视化 请参考 ARFounnation快速入门-08平面检测 案例 二、添加射线检测 1.在AR Session Origin 组件上添加ARRaycastManager 脚本

a451319296的博客 4879

ROS笔记五(基于Python、Kinetic):通信机制——服务(server)

前言: 服务是另一种在节点之间传递数据的方式。服务其实就是同步的跨进程函数调用,让一个节点调用运行在另一个节点中的函数。服务适用于偶尔并且在有限时间里完成的通信情况。 1.定义一个服务端: q ...

java0fu的博客 802

rk3568 修改开机动画

bootanimation.zip是一个Android设备启动时播放的动画文件,它包含了一系列的图片和描述文件,用于描述动画的播放顺序和持续时间。

weixin_35723192的博客 2729

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ROS入门笔记(五):ROS中运行rqt_plot的问题(kinetic)

1 问题 rosrun rqt_plot rqt_plot ggk@ggk-virtual-machine:~$ rosrun rqt_plot rqt_plot /usr/lib/python2.7/dist-packages/matplotlib/axis.py:1015: UserWarning: Unable to find pixel distance along axis for interval padding of ticks; assuming no interval padding n

即使是不成熟的尝试,也胜于从不执行的策略。 4515

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ros调用anaconda的python3_ROS笔记——在conda的python3.7中使用ROS Kinetic

环境:ubuntu 16.04, ROS Kinetic, conda 4.8.3, python3.7思路在python3环境下,直接使用tf会有如下报错(rospy可正常使用):>>> import tfTraceback (most recent call last):File "", line 1, in File "/opt/ros/kinetic/lib/python...

weixin_39640414的博客 732

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

ROS笔记八(基于Python、Kinetic):gazebo初探——实现turtlebot移动并避开障碍

前言:代码实现在gazebo7仿真环境中turtlebot机器人的随机移动并避开障碍物。 1.创建新的工作空间: 创建工作空间文件树: $ mkdir -p ~/wanderbot_ws/src $ cd ~/wanderbot_ws/src $ catkin_init_workspace 创建一个“wanderbot”程序包: $ cd ~/wanderbot_ws/src $ catkin_create-pkg wanderbot rospy geometry_msgs sensor_ms

java0fu的博客 2575

ROS下UR机械臂仿真控制(kinetic版)

描述 使用ROS的kinetic版本,在gazebo仿真系统下控制UR机械臂 问题 CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package): Could not find a package configuration file provided by "moveit_core" with any of the following names: moveit_core

weixin_42156097的博客 3087

ubuntu16.04安装ros kinetic及遇到的问题

安装过程主要是参考官网安装教程,官网链接如下 http://wiki.ros.org/kinetic/Installation/Ubuntu 注意,ros的kinetic版本,只支持Wily (Ubuntu 15.10), Xenial (Ubuntu 16.04) and Jessie (Debian 8) for debian packages。 具体安装流程为: 1、设置source...

hailanglin的博客 914

[失败]尝试六:重装ubuntu16.04.5 & ROS kinetic[失败]

插U盘重新启动电脑的话,最好先关机、再开机,不要直接重启。 重装ubuntu之后,先处理拼音: 20180711_ubuntu 16.04 安装googlepinyin中文输入法

方小汪的博客 1385
上一篇: ROS笔记五(基于Python、Kinetic):通信机制——服务(server)
下一篇: ROS笔记七(基于Python、Kinetic):通信机制——动作(action)
进击的香皂
博客等级 码龄8年 34粉丝 20原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值