Skip to content
Snippets Groups Projects
Commit c9ebdc2b authored by Emil Harlan's avatar Emil Harlan
Browse files

a

parent 567319b1
No related branches found
No related tags found
No related merge requests found
import math
import time
import socket
import sys
from geometry_msgs.msg import TransformStamped
import numpy as np
import serial
import rclpy
from rclpy.node import Node
from tf2_ros import TransformBroadcaster
......@@ -11,16 +12,13 @@ from tf2_ros import TransformBroadcaster
from rclpy.node import Node
ser = serial.Serial()
ser.port = '/dev/ttyS0'
ser.baudrate = 115200
ser.bytesize = serial.EIGHTBITS
ser.stopbits = serial.STOPBITS_ONE
ser.parity = serial.PARITY_NONE
ser.timeout = 0.2
ser.open()
ser.write(("command;").encode('utf-8'))
leer = ser.readall()
host = "192.168.42.2"
port = 40923
address = (host, int(port))
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(address)
s.send(("command;").encode('utf-8'))
abfangen = s.recv(1024)
def quaternion_from_euler(ai, aj, ak):
ai /= 2.0
......@@ -51,25 +49,25 @@ class Robomaster_odom(Node):
while True:
super().__init__("robomaster_odom")
self.tf_broadcaster = TransformBroadcaster(self)
ser.write(("chassis position ?;").encode('utf-8'))
buf = ser.readall()
s.send(("chassis position ?;").encode('utf-8'))
buf = s.recv(1024)
xyz = buf.decode('utf-8')
self.get_logger().info(xyz)
xyzlist = xyz.split(" ")
t = TransformStamped()
t.header.stamp = self.get_clock().now().to_msg()
t.header.frame_id = 'odom'
t.child_frame_id = "base_link"
t.child_frame_id = "base_footprint"
t.transform.translation.x = float(xyzlist[0])
t.transform.translation.y = float(xyzlist[1])
t.transform.translation.y = -float(xyzlist[1])
t.transform.translation.z = 0.0
q = quaternion_from_euler(0, 0, float(xyzlist[2])* math.pi/180)
q = quaternion_from_euler(0, 0, -float(xyzlist[2])* math.pi/180)
t.transform.rotation.x = q[0]
t.transform.rotation.y = q[1]
t.transform.rotation.z = q[2]
t.transform.rotation.w = q[3]
self.tf_broadcaster.sendTransform(t)
time.sleep(0.1)
time.sleep(0.5)
def main():
rclpy.init()
......
import math
import time
import socket
import sys
from geometry_msgs.msg import TransformStamped
import numpy as np
import serial
import rclpy
from rclpy.node import Node
from geometry_msgs.msg import Twist
......@@ -12,28 +13,24 @@ from tf2_ros import TransformBroadcaster
from rclpy.node import Node
ser2 = serial.Serial()
ser2.port = '/dev/ttyS0'
ser2.baudrate = 115200
ser2.bytesize = serial.EIGHTBITS
ser2.stopbits = serial.STOPBITS_ONE
ser2.parity = serial.PARITY_NONE
ser2.timeout = 0.2
ser2.open()
ser2.write(("command;").encode('utf-8'))
ser2.read_all()
host = "192.168.42.2"
port = 40923
address = (host, int(port))
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(address)
s.send(("command;").encode('utf-8'))
class vel_from_ros_node(Node):
def __init__(self):
super().__init__("el_from_ros")
super().__init__("vel_from_ros")
self.get_vel_from_ros_ = self.create_subscription(
Twist, "/cmd_vel_out", self.pose_callback, 10)
Twist, "/cmd_vel", self.pose_callback, 10)
def pose_callback(self, msg: Twist):
command = "chassis speed x " + str(msg.linear.x) + " y " + str(msg.linear.y) + " z " + str(msg.angular.z) + ";"
ser2.write(command.encode('utf-8'))
leer = ser2.readall()
s.send(command.encode('utf-8'))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment