Я получаю странную ошибку с кодом 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'