ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

rostopic pub /move_base_simple/goal geometry_msgs/PoseStamed generates no response

asked 2022-01-18 07:23:23 -0600

Gagan gravatar image

Hi all,

I am new to ROS and robotics, I am working on unitree a1, for some reason I had to reinstall ROS (melodic 1.14) on the robot, after reinstallation of the ROS, the command (below) to make the unitree a1 navigate stopped responding at all.

rostopic pub /move_base_simple/goal geometry_msgs/PoseStamed "header: seq: 0 stamp: secs: 0 nsecs: 0 frame_id: 'map' pose: position: x: 2.0 y: 2.0 z: 0.0 orientation: x: 0.0 y: 0.0 z: 0.0 w: 1.0"

This command doesn't produce any error or other kind of message and the a1 doesn't move at all. I feel there are some missing packages that needed to be installed if so, what is the correct way to debug and find out about the relative packages.

Thanks

edit retag flag offensive close merge delete

Comments

It may be that some nodes are no longer running due to reinstallation. Is it possible to share the results of the rostopic list and the rosnode list? It would be great to have a rostopic list and a rosnode list too, when it was working.

miura gravatar image miura  ( 2022-01-18 17:07:06 -0600 )edit

TOPIC list from existing setup, I used shorthand (srv_node) below to accommodate everything

/cmd_vel /map /move_base/goal /move_base_simple/goal /odom /rosout /rosout_agg /scan /slam_planner_node/current_goal / slamware_ros_sdk_server_node (srv_node)/add_line / (srv_node) /add_lines /(srv_node) /basic_sensors_info /(srv_node) /basic_sensors_values /(srv_node) /cancel_action /(srv_node) /clear_lines /(srv_node) /clear_map /(srv_node) /global_plan_path /(srv_node) /go_home /(srv_node) /map_metadata /(srv_node) /move_by_direction /(srv_node) /move_by_theta /(srv_node) /move_line /(srv_node) /move_lines /(srv_node) /move_to /(srv_node) /move_to_locations /(srv_node) /recover_localization /(srv_node) /set_map_update /(srv_node) /set_pose /(srv_node) /sync_map /(srv_node) /virtual_tracks /(srv_node) /virtual_walls /tf /tf_static

NODE List from the existing setup

/base_controller_node /rosout /slam_planner_node /slamware_ros_sdk_server_node

Preinstallation setup was unavailable

Gagan gravatar image Gagan  ( 2022-01-19 06:44:39 -0600 )edit

Thank you. I see that there is no /move_base node, but /move_base_simple/goal is in the topic.

Can you run rostopic info /move_base_simple/goal to see which nodes are subscribing to /move_base_simple/goal?

miura gravatar image miura  ( 2022-01-19 17:34:05 -0600 )edit

Hi,

Here is the result

unitree@nx:~$ rostopic info /move_base_simple/goal 
Type: geometry_msgs/PoseStamped

Publishers: 

Subscribers: 
 * /slam_planner_node (http://nx:34423/)

This topic is subscribed by slam_planner_node. My understanding is that this node is either not getting all the packages it needs or some parameters need to be configured in some other way. In order to debug that I have to see what happens to the data/how it is processed when I publish the data on that topic. What can I do to understand what this slam_planner_node do to the data ?

Thanks

Gagan gravatar image Gagan  ( 2022-01-20 08:27:27 -0600 )edit

You may have already done this, but you might want to try rosnode info slam_planner_node first. You can see what topics slam_planner_node subscribes to and what topics it publishes.

You can visualize it with the tool rqt_graph or try to echo the topics one by one, which may help you understand it.

In fact, it would be nice to have a manual. According to this page (in Japanese), which I found by searching slam_planner_node, slam_planner_node is based on the move_base of navigation.

If it is move_base, documentation and tutorials exist. It may be useful to refer to this page.

miura gravatar image miura  ( 2022-01-20 17:19:04 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted
1

answered 2022-01-24 10:32:22 -0600

Gagan gravatar image

I have found the solution, the problem was not with any kind of configuration or missing package or node. In order for the robot dog (Unitree A1) to move (with command) the dog needs to be in Sport mode. The sport mode required 3 steps using remote

1) L2 + B

2) L1 + Start

3) Start

After 3rd step dog would do some peddling for a couple of seconds and stop. The sport mode becomes active after the peddling is over. if peddling is stopped before it ends automatically the sport mode is not activated. This incompletion is linked to the availability of the lcm_server_high ports. Due to the unavailability of those ports, the command never reflects on the dog even though everything is working fine in the background.

The solution was that put the dog in the sport mode and make sure it finishes its sport mode peddling itself (no interruption). The high LCM server ports became available and the command worked.

Thanks

edit flag offensive delete link more
0

answered 2022-11-25 00:24:53 -0600

Stop by and see us on slack. Several other Unitree go1 owners are trying to learn to program and control the dogs together. https://join.slack.com/t/robotdogs/sh...

We'd love to play along with ya!

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2022-01-18 07:23:23 -0600

Seen: 1,075 times

Last updated: Nov 25 '22