说明:

  • 介绍如何在Matlab控制walking机器人移动

步骤:

  • 新开终端,启动底盘

ros2 launch walking_bringup robot.launch.py

  • 打开Matlab软件
  • 设置域ID为2

setenv("ROS_DOMAIN_ID","2");

  • 创建ROS2节点

ros2Node = ros2node( "/example_node" );

  • 查看话题,是否连接上walking

ros2 topic list

/active
/cmd_vel
/cmd_vel_mux/input/default
/cmd_vel_mux/input/joystick
/cmd_vel_mux/input/keyop
/cmd_vel_mux/input/navigation
/cmd_vel_mux/input/remote
/cmd_vel_mux/input/webapp
/dynamic_joint_states
/joint_states
/odom
/parameter_events
/robot_description
/robot_velocity
/rosout
/tf
/tf_static

  • 订阅里程计话题

handles.odomSub = ros2subscriber(ros2Node, "/odom" , "nav_msgs/Odometry" )

  • 接收里程计消息

odomMsg = receive(handles.odomSub);

  • 获取机器人的起始位置

poseStart = exampleHelperGet2DPose(odomMsg)
handles.poses = poseStart;

  • 创建发布者用于控制机器人速度

handles.velPub = ros2publisher(ros2Node, '/cmd_vel' , 'geometry_msgs/Twist' )
poses = exampleHelperROS2TurtleBotKeyboardControl(handles);

  • 弹出一个窗口,点击窗口
  • 分别按 i 、k 、j 、l 、q 键进行控制机器人
  • i 是向前移动
  • k 是向后移动
  • j 是向左移动
  • l 是向右移动
  • q 是退出

walking与Matlab入门教程-控制walking机器人移动_ROS2