owengall
owengall

Reputation: 463

RosAria node doesn’t receive messages

Resources

Macbook Air with Ubuntu virtual machine via VMWare
Pioneer3 AT robot
ROS
RosAria

Context

I have at least most of the setup for Ros+RosAria already working:

  1. The master ROS node running on a laptop at 192.168.1.112 via roscore
  2. The RosAria node running on the robot’s built-in computer at 192.168.1.108 via rosrun rosaria RosAria, the port set accordingly to access the robot's motors and sensors via rosparam set..., ROS_MASTER_URI=192.168.1.112:11311, and ROS_IP=192.168.1.112.
  3. Another terminal window on the laptop running rostopic pub /RosAria/cmd_vel geometry_msgs/Twist “linear:... angular:...”

The RosAria node running on the robot confirms it’s able to connect to the master, and if I run the command rostopic list on the laptop I can see /RosAria/cmd_vel as one of the available topics.

In the terminal window where I try to publish to /RosAria/cmd_vel I’m told that the message is sending but the robot shows no signs of having received it, neither console message nor movement of the wheels.

However, if I quit the RosAria node on the robot and restart it while leaving the rostopic pub command running on my laptop, the robot registers the message once upon startup, moves accordingly for a bit, and then does nothing.

I’ve also tried to rostopic echo other topics like battery state, motors status and pose, but I don’t receive any messages from the robot.

I already tried changing the parameters /RosAria/TicksMM and /RosAria/RevCount according to this case.

Question

Why is the Pioneer robot with RosAria running not receiving the cmd_vel commands from my client if it’s apparently able to communicate with the master node successfully?

Disclaimer

The project I was working on where this problem came up isn’t using the same equipment anymore, so now this question is not so urgent for me. I’m also not able to test proposed solutions in the near future since I no longer have access to that Pioneer robot. However, I’ll keep this topic unanswered in case someone else encounters this problem too.

Upvotes: 0

Views: 378

Answers (1)

Mohammad Ali
Mohammad Ali

Reputation: 574

You need To Set ROS_IP On Robot side too to let the ROS System Knows What IP To Use as It's Network Interface

I myself Set This Environments Inside .bashrc Like This:

export ROS_IP=192.168.1.108

and then source .bashrc.

I think You can use rosparam Too But I never tested.

Upvotes: 0

Related Questions