Hi, I have a problem.
I check I already have the tf2 package in the environment.
I have already used “colcon build…” and "source … "
But when I import tf2 in the .py file. I got the error: No module named ‘tf2’
import rclpy
from rclpy.node import Node
from geometry_msgs.msg import Twist
from nav_msgs.msg import Odometry
from rclpy.qos import ReliabilityPolicy, QoSProfile
import tf2
class TopicQuiz(Node):
def __init__(self, nodeName): # example36
super().__init__(nodeName)
self.subscriber = self.create_subscription(
Odometry, '/odom', self.listenerCallback,
QoSProfile(depth=10, reliability=ReliabilityPolicy.RELIABLE)
)
self.position = 0
self.orientation = 0
self.euler = 0
self.publisher = self.create_publisher(Twist, 'cmd_vel', 10)
self.cmdVel = Twist()
self.timerPeriod = 0.5
self.timer = self.create_timer(self.timerPeriod, self.timerCallback)
def listenerCallback(self, msg):
self.position = msg.pose.pose.position
self.orientation = msg.pose.pose.orientation
# self.get_logger().info(f'''
# pose - {msg.pose.pose}
# position - {self.position}
# orientation - {self.orientation}
# ''')
self.euler = tf2.transformations.euler_from_quaternion([
self.orientation.x, self.orientation.y, self.orientation.z, self.orientation.w
])
self.get_logger().info(f'euler: {self.euler}')
def timerCallback(self):
pass
def main(args=None):
rclpy.init(args=args)
topicQuiz = TopicQuiz('topics_quiz_node')
rclpy.spin(topicQuiz)
topicQuiz.destroy_node()
rclpy.shutdown()
if __name__ == '__main__':
main()
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>topics_quiz</name>
<version>0.0.0</version>
<description>TODO: Package description</description>
<maintainer email="user@todo.todo">user</maintainer>
<license>TODO: License declaration</license>
<depend>rclpy</depend>
<depend>std_msgs</depend>
<depend>geometry_msgs</depend>
<depend>nav_msgs</depend>
<depend>tf2</depend>
<test_depend>ament_copyright</test_depend>
<test_depend>ament_flake8</test_depend>
<test_depend>ament_pep257</test_depend>
<test_depend>python3-pytest</test_depend>
<export>
<build_type>ament_python</build_type>
</export>
</package>
Thanks