作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用模拟的 bebop2
这些是我用来运行模拟的命令。
sphinx /opt/parrot-sphinx/usr/share/sphinx/drones/bebop2.drone
roslaunch bebop_driver bebop_node.launch ip:=10.202.0.1
rostopic pub -r 10 cmd_vel geometry_msgs/Twist '{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'
#!/usr/bin/env python
import rospy
from geometry_msgs.msg import Twist
import sys
rospy.init_node("bebop_commander")
movement_publisher= rospy.Publisher('cmd_vel', Twist , queue_size=10)
movement_cmd = Twist()
speed = float(sys.argv[1])
time = float(sys.argv[2])
print ("Adelante")
if speed != "" and speed > 0 :
print ("Velocidad =" , speed , "m/s")
else:
print ("Falta parametro de velocidad o el valor es incorrecto")
if time != "" and time > 0 :
print ("Tiempo = ",time, "s")
else:
print ("Falta parametro de tiempo o el valor es incorrecto")
if time != "" and time > 0 :
movement_cmd.linear.x = 0
movement_cmd.linear.y = 0
movement_cmd.linear.z = 0
movement_cmd.angular.x = 0
movement_cmd.angular.y = 0
movement_cmd.angular.z = 0
movement_publisher.publish(movement_msg)
print ("Publishing")
rospy.spin()
最佳答案
您的代码中几乎没有错误/建议:
if len(sys.argv)>2:
speed = float(sys.argv[1])
time = float(sys.argv[2])
else:
print("one or more arguments missing!!")
speed != ""
和 time != ""
一旦你检查了len(sys.argv)>2
健康)状况。 movement_msg
里面 movement_publisher.publish()
.请检查以下行:movement_publisher.publish(movement_msg)
movement_cmd
. test_publisher.py
import rospy
from geometry_msgs.msg import Twist
import sys
rospy.init_node("bebop_commander")
movement_publisher= rospy.Publisher('cmd_vel', Twist , queue_size=10)
movement_cmd = Twist()
if len(sys.argv)>2:
speed = float(sys.argv[1])
time = float(sys.argv[2])
print("Adelante")
if speed > 0.0:
print("Velocidad =" , speed , "m/s")
else:
print("Falta parametro de velocidad o el valor es incorrecto")
if time > 0.0:
print ("Tiempo = ",time, "s")
movement_cmd.linear.x = 0
movement_cmd.linear.y = 0
movement_cmd.linear.z = 0
movement_cmd.angular.x = 0
movement_cmd.angular.y = 0
movement_cmd.angular.z = 0
movement_publisher.publish(movement_cmd)
print ("Publishing")
rospy.spin()
else:
print ("Falta parametro de tiempo o el valor es incorrecto")
else:
print('one or more argument is missing!!')
test_publisher.py
至
scripts
目录并通过
chmod +x test_publisher.py
使其可执行
roscore
命令。您必须拥有
roscore
为
ROS
运行节点进行通信。
publisher
带参数的文件。
rostopic
信息
关于python - Python 中的 Rostopic pub 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56762948/
我正在从控制站(我的笔记本电脑)研究移动机器人的远程操作模式。 控制站和移动机器人都使用 Ubuntu 14.04,ROS Indigo。 控制站和机器人连接到同一个WIFI网络,可以互相ping通。
我正在使用模拟的 bebop2 这些是我用来运行模拟的命令。 sphinx /opt/parrot-sphinx/usr/share/sphinx/drones/bebop2.drone roslau
我有一个 rosbag,它不断地在某些主题下发布消息。我想编写一个函数,将“rostopic”作为输入参数并显示该主题发布的消息。 我该如何编写代码。我找不到相关的例子。能否请您指出相关来源? 谢谢!
我是一名优秀的程序员,十分优秀!