Python 如何以障碍达到目标和终点
下面是控制器python脚本(controller.py)。如何达到某个目标(达到终点) 这有一个基本障碍(一堵墙) 只是不,罗斯,这方面的新手。到目前为止,我学得很好,我犯了什么错误Python 如何以障碍达到目标和终点,python,ros,robotics,Python,Ros,Robotics,下面是控制器python脚本(controller.py)。如何达到某个目标(达到终点) 这有一个基本障碍(一堵墙) 只是不,罗斯,这方面的新手。到目前为止,我学得很好,我犯了什么错误 #!/usr/bin/env python import rospy from geometry_msgs.msg import Twist from sensor_msgs.msg import LaserScan from nav_msgs.msg import Odometry from tf.tran
#!/usr/bin/env python
import rospy
from geometry_msgs.msg import Twist
from sensor_msgs.msg import LaserScan
from nav_msgs.msg import Odometry
from tf.transformations import euler_from_quaternion
import math
def Waypoints(t):
x = 0.2
y = 4
return [x,y]
def control_loop():
rospy.init_node('ebot_controller')
pub = rospy.Publisher('/cmd_vel', Twist, queue_size=10)
rospy.Subscriber('/ebot/laser/scan', LaserScan, laser_callback)
rospy.Subscriber('/odom', Odometry, odom_callback)
rate = rospy.Rate(10)
velocity_msg = Twist()
velocity_msg.linear.x = 0
velocity_msg.angular.z = 0
pub.publish(velocity_msg)
while not rospy.is_shutdown():
velocity_msg = Twist()
velocity_msg.linear.x = x
velocity_msg.angular.z = y
pub.publish(velocity_msg)
print("Controller message pushed at {}".format(rospy.get_time()))
rospy.spin()
rate.sleep()
def odom_callback(data):
global pose
x = data.pose.pose.orientation.x;
y = data.pose.pose.orientation.y;
z = data.pose.pose.orientation.z;
w = data.pose.pose.orientation.w;
pose = [data.pose.pose.position.x, data.pose.pose.position.y, euler_from_quaternion([x,y,z,w][2]]
def laser_callback(msg):
global regions
regions = {
'bright':min(min(msg.ranges[300:420], 10),
'fright':min(min(msg.ranges[144:287]), 10),
'front':min(min(msg.ranges[288:431]), 10),
'fleft':min(min(msg.ranges[432:575]), 10),
'bleft':min(min(msg.ranges[300:420], 10),
}
if __name__ == '__main__':
try:
control_loop()
except rospy.ROSInterruptException:
pass
如何达到某个目标(达到终点)
谢谢。因为如果您只想让机器人移动到目标位置,可以使用movebase。Movebase提供了一个名为
move\u base/goal
的操作服务器,它通过将实时传感器值考虑在内来规划全局路径并在本地执行。请参见本页以获取帮助:“如何实现某个目标(达到终点)?”——到目前为止,您尝试了哪些方法?此外,如何指定墙?还有,这是作业吗?不是作业,只是第一次学习ros,这是我的个人项目如何移动你的机器人。例如,使用姿势并让系统规划和执行路径,或者您希望使用其他预定义方式,还是希望实施您自己的执行程序?