Browse Source

Improve log readibility, add movement randomness, better movement check

tags/v0.2.5-alpha.3
haixuanTao 2 years ago
parent
commit
516e30ead5
2 changed files with 12 additions and 5 deletions
  1. +5
    -3
      examples/python-ros2-dataflow/control_node.py
  2. +7
    -2
      examples/python-ros2-dataflow/random_turtle.py

+ 5
- 3
examples/python-ros2-dataflow/control_node.py View File

@@ -15,14 +15,16 @@ for i in range(500):
match event["id"]:
case "turtle_pose":
print(
f"""Pose: {event["value"]}""".replace("\r", "").replace("\n", " ")
f"""Pose: {event["value"].tolist()}""".replace("\r", "").replace(
"\n", " "
)
)
case "tick":
direction = {
"linear": {
"x": 1.0,
"x": 1.0 + random.random(),
},
"angular": {"z": 1.0},
"angular": {"z": (random.random() - 0.5) * 5},
}

node.send_output(


+ 7
- 2
examples/python-ros2-dataflow/random_turtle.py View File

@@ -7,6 +7,8 @@ import dora
from dora import Node
import pyarrow as pa

CHECK_TICK = 20

ros2_context = dora.experimental.ros2_bridge.Ros2Context()
ros2_node = ros2_context.new_node(
"turtle_teleop",
@@ -32,6 +34,7 @@ dora_node = Node()
dora_node.merge_external_events(pose_reader)

print("looping", flush=True)

for i in range(500):
event = dora_node.next()
if event is None:
@@ -46,6 +49,8 @@ for i in range(500):

case "external":
pose = event.inner()[0].as_py()

assert pose["x"] != 5.544445, "turtle should not be at initial x axis"
if i == CHECK_TICK:
assert (
pose["x"] != 5.544444561004639
), "turtle should not be at initial x axis"
dora_node.send_output("turtle_pose", event.inner())

Loading…
Cancel
Save