Lidar data works perfectly fine, however, I cannot move the bot. Can anyone see what I'm doing wrong?
Connectioin Info:
rosshutdown
setenv('ROS_MASTER_URI','http://10.0.0.4:11311')
setenv('ROS_IP','10.0.0.4')
rosinit('http://10.0.0.4:11311', 'NodeHost', '10.0.0.169')
Rostopic List
>> rostopic list
/battery_state
/cmd_vel
/cmd_vel_rc100
/diagnostics
/firmware_version
/imu
/joint_states
/magnetic_field
/motor_power
/odom
/reset
/rosout
/rosout_agg
/rpms
/scan
/sensor_state
/sound
/tf
/version_info
>>
Here is my script:
TurtleBot_Topic.vel = '/cmd_vel';
TurtleBot_Topic.laser = '/scan';
laser_sub = rossubscriber(TurtleBot_Topic.laser);
velocity_pub = rospublisher(TurtleBot_Topic.vel, 'geometry_msgs/Twist');
velocity_msg = rosmessage(velocity_pub);
tic
while toc<10
scan_data = receive(laser_sub);
cart = readCartesian(scan_data, 'RangeLimit', [0.12 3.5]);
plot(cart(:,1),cart(:,2), 'o');
velocity_msg.Angular.Z = 0.0;
velocity_msg.Linear.X = 0.2;
send(velocity_pub, velocity_msg);
end
All help is appreciated.
PS: I had a much more detailed report, pressed a wrong key and it all got deleted :(

6 comentarios

Sai Bhargav Avula
Sai Bhargav Avula el 31 de Jul. de 2019
Editada: Sai Bhargav Avula el 1 de Ag. de 2019
The code looks fine can you update you question with the ROS_MASTER, ROS_IP env variables. It might be network issue.
rosshutdown
setenv('ROS_MASTER_URI','http://10.0.0.4:11311')
setenv('ROS_IP','10.0.0.4')
rosinit('http://10.0.0.4:11311', 'NodeHost', '10.0.0.169')
Sai Bhargav Avula
Sai Bhargav Avula el 1 de Ag. de 2019
This seems fine. It can be the firewall. You need to allow matlab on some computer.
Previn Savaya
Previn Savaya el 1 de Ag. de 2019
I already disabled firewall. Very strange issue. Especially the fact that the lidar Data is received.
Is it possible that the publishers just don’t work? Can I manually check what is being published to what topic? The turtlebot says it is subscribed to all the topics.
Sai Bhargav Avula
Sai Bhargav Avula el 1 de Ag. de 2019
Try echoing the /cmd_vel topic and check for the values.
vel_msg = rostopic("echo", /cmd_vel)
Previn Savaya
Previn Savaya el 1 de Ag. de 2019
Ok, I’m not at my workstation now but as soon as I can I will check it out and update you.

Iniciar sesión para comentar.

 Respuesta aceptada

Previn Savaya
Previn Savaya el 4 de Ag. de 2019

0 votos

I believe I solved this issue. It did have something to do with the communication.
I replaced the IP of the turtlebot with the IP of my actual computer that is running matlab and it worked. Not sure why, but it does!
So for my network configuration this is what I have:
ROS MASTER = IP OF VIRTUAL REMOTE DESKTOP (Oracle Virtual Machine) (roscore command runs on this)
ROS IP = IP OF MY PC THAT IS RUNNING MATLAB (My pc's ip address... AKA IPCONFIG in command prompt)
Somehow this solved my problem.

Más respuestas (0)

Categorías

Preguntada:

el 28 de Jul. de 2019

Respondida:

el 4 de Ag. de 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by