Skip to content
Snippets Groups Projects
Commit ab4cf597 authored by Wang Zhihui's avatar Wang Zhihui
Browse files

divide all the class into independent python files

parent ecf0db0b
No related branches found
No related tags found
No related merge requests found
import rclpy
from rclpy.node import Node
from .TakeOff import Takeoff
from .MoveLeft import MoveLeft
from .Hover import Hover
from .MoveForward import MoveForward
from .MoveRight import MoveRight
from .StopAndLand import StopAndLand
def main(args=None):
rclpy.init(args=args)
takeoff_behavior = Takeoff()
move_left_behavior = MoveLeft()
hover_behavior = Hover()
move_up_behavior = MoveForward()
move_right_behavior = MoveRight()
stop_and_land_behavior = StopAndLand()
executor = rclpy.executors.MultiThreadedExecutor()
executor.add_node(takeoff_behavior)
executor.add_node(move_left_behavior)
executor.add_node(hover_behavior)
executor.add_node(move_up_behavior)
executor.add_node(move_right_behavior)
executor.add_node(stop_and_land_behavior)
try:
executor.spin()
finally:
takeoff_behavior.destroy_node()
move_left_behavior.destroy_node()
hover_behavior.destroy_node()
move_up_behavior.destroy_node()
move_right_behavior.destroy_node()
stop_and_land_behavior.destroy_node()
rclpy.shutdown()
<launch>
<!-- 启动 joystick 节点 -->
<node pkg="joy" exec="joy_node" name="joy_node"/>
<node pkg="behavior" exec="takeoff" name="TakeOff"/>
<node pkg="behavior" exec="land" name="Land"/>
<node pkg="behavior" exec="hover" name="Hover"/>
<node pkg="behavior" exec="move_forward" name="MoveForward"/>
<node pkg="behavior" exec="move_left" name="MoveLeft"/>
<!-- 启动 behavior_node,包含所有行为节点 -->
<node pkg="behavior" exec="behavior_node" name="behavior_node"/>
<!-- 启动低层控制节点 -->
<node pkg="low_level" exec="speed_controller" name="speed_controller"/>
<node pkg="low_level" exec="twisttopic_node" name="twisttopic_node"/>
<node pkg="behavior" exec="twisttopic_node" name="twisttopic_node"/>
<!-- 启动状态查看器节点 -->
<node pkg="behavior" exec="status_viewer" name="status_viewer"/>
<!-- 启动 joy_teleop 和 command 节点 -->
<node pkg="behavior" exec="joy_teleop" name="joy_teleop"/>
<node pkg="joy" exec="joy_node" name="joy_node"/>
<node pkg="behavior" exec="command" name="command"/>
<node pkg="behavior" exec="command_node" name="command"/>
</launch>
......@@ -10,7 +10,7 @@ setup(
('share/ament_index/resource_index/packages',
['resource/' + package_name]),
('share/' + package_name, ['package.xml']),
('share/' + package_name + '/launch', ['launch/behaviors_launch.py']),
('share/' + package_name + '/launch', ['launch/behavior_launch.xml']),
],
install_requires=['setuptools'],
zip_safe=True,
......@@ -26,7 +26,8 @@ setup(
'fake_forward = behavior.fake_forward:main',
'status_viewer = behavior.status_viewer:main',
'joy_teleop = behavior.joy_teleop:main',
'command_node = behavior.command:main'
'command_node = behavior.command:main' ,
'behavior_node = your_package_name.behavior_node:main'
],
},
)
......
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