Ошибка атрибута ROS PoseStamped - PullRequest
0 голосов
/ 09 мая 2018

Я получаю странную ошибку с кодом ROS.Я пытаюсь переместить Turtlebot3.Однако что-то происходит с моими типами данных, которые я передаю.Сбой строки:

 def rotate(angle)
 .
 .
   origin = PoseStamped()
   origin = copy.deepcopy(self._pose)
   rospy.logerr(isinstance(origin,PoseStamped))
   yaw = self.convert_to_euler(origin.pose.orientation)

Это приводит к следующей ошибке.Когда я делаю isInstance возвращает true (это PoseStamped).Я не понимаю, почему он думает, что это PoseWithCovariance.

[ERROR] [1525870424.816344, 0.307000]: True
[ERROR] [1525870424.816970, 0.308000]: Exception in your execute 


callback: 'PoseWithCovariance' object has no attribute 'orientation'
Traceback (most recent call last): File "/opt/ros/kinetic/lib/python2.7/dist-packages/actionlib/simple_action_server.py", line 289, in executeLoop
    self.execute_callback(goal)
  File "/home/nathaniel/catkin_ws/src/rbe3002/src/lab02/Robot.py", line 78, in action_callback
    self.nav_to_pose(msg.target_pose)
  File "/home/nathaniel/catkin_ws/src/rbe3002/src/lab02/Robot.py", line 68, in nav_to_pose
    self.rotate(heading_angle)
  File "/home/nathaniel/catkin_ws/src/rbe3002/src/lab02/Robot.py", line 144, in rotate
    yaw = self.convert_to_euler(origin.pose.orientation)
AttributeError: 'PoseWithCovariance' object has no attribute 'orientation'
...