Hi,
I am new to this site and I was taking rosbasic course and decided to tinker on my own outside your online environment. I am getting a error that I can’t find any where on net. I tried everything as I am expected but I could be wrong.
Here’s the script move_turtle.py
import rclpy
import sys
from rclpy.node import Node
from geometry_msgs.msg import Twist, Quaternion
class move_turtle(Node):
def __init__(self):
super().__init__('move_turtle')
self.publisher_Quaternion = self.create_publisher(Quaternion, 'cmd_vel', 10)
self.publisher_Twist = self.create_publisher(Twist, 'cmd_vel', 10)
timer_period = 0.5
self.timer = self.create_timer(timer_period, self.timer_callback)
def timer_callback(self):
msg_quaternion = Quaternion()
#msg_twist = Twist()
msg_quaternion.x = 0.0
msg_quaternion.y = 0.0
msg_quaternion.z = 1.0
msg_quaternion.w = 0.0
self.publisher_Quaternion.publish(msg_quaternion)
self.get_logger().info(f"Publishing {msg_quaternion} to {self.publisher_Quaternion}")
def publish(self):
pass
def move(self):
pass
def main(args=None):
rclpy.init(args=args)
move = move_turtle()
rclpy.spin(move)
move.destroy_node()
rclpy.shutdown()
if __name__ == "__main__":
sys.exit(main())
here’s the launch file move_turtle_launch_file.launch.py
from launch import LaunchDescription
from launch_ros.actions import Node
def generate_launch_description():
return LaunchDescription([
Node(
package='move_turtle',
executable='move_turtle',
output='screen'),
])
and the setup.py
from setuptools import find_packages, setup
import os
from glob import glob
package_name = 'move_turtle'
setup(
name=package_name,
version='0.0.0',
packages=find_packages(exclude=['test']),
data_files=[
('share/ament_index/resource_index/packages',
['resource/' + package_name]),
('share/' + package_name, ['package.xml']),
(os.path.join("share", package_name), glob('launch/*.launch.py')),
],
install_requires=['setuptools'],
zip_safe=True,
maintainer='diysumit',
maintainer_email='diysumit@gmail.com',
description='TODO: Package description',
license='TODO: License declaration',
tests_require=['pytest'],
entry_points={
'console_scripts': [
'move_turtle = move_turtle.move_turtle:main'
],
},
)
I followed the exact way I have been taught to run these, so I first created the package
ros2 pkg create --build-type ament_python move_turtle --dependencies geometry_msgs std_msgs rclpy
Then I created all those file and gave executable permission to launch file and python script using chmod 777
and then finally sources the local setup.zsh and ran I got this error, I also tried doing the overlay and underlay thing, like running this in two different terminals but same error.