ROS python,ros用c++还是python

  ROS python,ros用c++还是python

  话题编程流程

  创建发布者创建订阅者添加编译选项运行可执行程序首先需要创建一个工作空间,然后再创建功能包创建工作空间步骤:

  CD ~/柳絮_ws/src

  创建功能包

  柳絮_创建_pkg学习_主题roscpp rospy标准消息几何图形_msgs turtlesim

  注:在创建一个新的功能包时,需要删除其它功能包,否则以下步骤有些指令无法执行。

  例如

  在刚创建的学习_主题目录中的科学研究委员会文件夹下创建一个卡片打印处理机(卡片打印处理器的缩写)文件

  CD ~/柳絮_ ws/src/learning _ topic/src touch velocity _ publisher。卡片打印处理机(Card Print Processor的缩写)

  如何实现一个发布者

  初始化活性氧簇(活性氧物种的缩写)节点。向活性氧簇(reactive oxygen species的缩写)主机注册节点信息,包括发布的话题名和话题中的消息类型。创建消息数据。按照一定频率循环发布消息。在velocity_publisher.cpp文件中写入以下代码。

  以下代码的功能:为发布turtle1/cmd_vel话题,消息类型几何图形_消息:扭曲

  #包含ros/ros.h //引入活性氧簇(活性氧物种的缩写)库的头文件

  #包含几何图形_msgs/Twist.h

  int main(int argc,char **argv)

  {

  //ROS节点初始化

  ros:init(argc,argv, velocity _ publisher );//velocity_publisher为自定义的节点名字,节点名不能重复。

  //创建节点句柄

  ROS:节点句柄n;//管理节点的资源

  //创建一个出版商,发布名为/turtle1/cmd_vel的题目,消息类型为几何_msgs:Twist,队列长度10

  ROS:Publisher turtle _ vel _ pub=n . advertise geometry _ msgs:Twist(/turtle 1/cmd _ vel ,10);

  //设置循环的频率

  ROS:Rate loop _ Rate(10);

  int count=0;

  while (ros:ok())

  {

  //初始化几何图形_消息:扭曲类型的消息

  geometry _ msgs:Twist vel _ msg;

  vel _ msg。线性。x=0.5

  vel _ msg。棱角分明。z=0.2

  //发布消息

  乌龟_ vel _ pub。发布(vel _ msg);

  ROS _ INFO(发布海龟速度命令[%0.2f米/秒,% 0.2f弧度/秒],

  x,vel_msg。棱角分明。z);

  //按照循环频率延时

  loop _ rate睡眠();

  }

  返回0;

  }

  在CMakeLists.txt中添加以下代码:

  添加可执行文件(velocity _ publisher src/velocity _ publisher。CPP)

  目标_链接_库(velocity _ publisher $ {柔荑_库})

  添加可执行文件:通过指定的源文件列表构建出可执行目标文件目标_链接_库:该指令的作用为将目标文件与库文件进行链接。CD ~/柳絮_ws

  编译工作空间

  柳絮_制作

  设置环境变量,让系统能够找到该工作空间

  source devel/setup.bash

  检查环境变量

  echo $ROS_PACKAGE_PATH

  启动活性氧簇(reactive oxygen species的缩写)主机

  罗斯科雷

  启动小海龟仿真器

  rosrun turtlesim turtlesim_node

  启动自定义的海龟控制节点

  rosrun learning _ topic velocity _ publisher

  注意:罗斯伦是运行一个单独节点的命令,如果要运行多个节点,则需要使用多次罗斯伦命令。

  用计算机编程语言创建发布者步骤:

  CD ~/柳絮_ws/src/learning_topic

  创建剧本文件夹

  创建目录脚本

  激光唱片脚本

  创建velocity_publisher.py Python文件

  触摸velocity_publisher.py

  注意:需要将计算机编程语言设置为可执行文件。

  用计算机编程语言创建发布者代码:

  以下代码的功能:为发布turtle1/cmd_vel话题,消息类型几何图形_消息:扭曲

  #!/usr/bin/env python

  # -*-编码:utf-8 -*-

  导入罗斯比

  从几何图形_msgs.msg导入扭曲

  定义velocity_publisher():

  #罗斯节点初始化

  罗斯贝。init _ node( velocity _ publisher ,匿名=真)

  # 创建一个出版商,发布名为/turtle1/cmd_vel的题目,消息类型为几何_msgs:Twist,队列长度10

  turtle_vel_pub=rospy .发布者(/turtle1/cmd_vel ,Twist,queue_size=10)

  #设置循环的频率

  比率=罗斯比。比率(10)

  而不是rospy.is_shutdown():

  # 初始化几何图形_消息:扭曲类型的消息

  vel_msg=Twist()

  vel_msg.linear.x=0.5

  vel_msg.angular.z=0.2

  # 发布消息

  turtle_vel_pub.publish(vel_msg)

  罗斯贝。日志信息(发布海龟速度命令[%0.2f米/秒,% 0.2f弧度/秒],

  vel_msg.linear.x,vel_msg.angular.z)

  # 按照循环频率延时

  rate.sleep()

  if __name__==__main__ :

  尝试:

  velocity_publisher()

  除了罗斯贝ROSInterruptException:

  PassPython代码不需要重新编译,可以直接执行。

  rosrun learning _ topic velocity _ publisher . py

  提示:设置环境变量可以在。bashrc文件。在主文件夹下,按快捷键Ctrl H来显示隐藏文件,找到。bashrc文件并打开它。

  将下面的代码添加到。巴沙尔,然后拯救它。

  source/home/vv cat/柳絮_ws/devel/setup.bash

  这种设置的好处是,每次运行程序时不必执行source devel/setup.bash来设置环境变量,只会显示当前创建的工作区。如果您创建其他工作区,您需要配置。又是巴沙尔。

  转载请联系作者授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: