Teleoperation with Android Teleop App on Turtlebot3


(Ross Lunan) #1

I have successfully installed and upgraded to the latest 1.0.0/1.2.0 SW/FW. All the major functions in the eManual work as described(raspicam camera, wii remote teleop, SLAM, Navigation). My question is regarding Item 8.2.7 Android App on a Acer 7" Tablet/Andoid 5.0. Has ROBOTIS verified the APP works with this HW/SW version? This OSRF Teleop APP connects to the roscore RemotePC and teleop function controls the TB3 but the camera image does not appear on the Android. Doing a rosnode info inquiry for the raspicam and android , as follows:

turtlebot@herschel:~$ rosnode info /raspicam_node

Node [/raspicam_node]
Publications:

  • /raspicam_node/camera_info [sensor_msgs/CameraInfo]
  • /raspicam_node/parameter_descriptions [dynamic_reconfigure/ConfigDescription]
  • /rosout [rosgraph_msgs/Log]
  • /raspicam_node/image/compressed [sensor_msgs/CompressedImage]
  • /raspicam_node/parameter_updates [dynamic_reconfigure/Config]

Subscriptions: None

Services:

  • /raspicam_node/set_camera_info
  • /raspicam_node/set_parameters
  • /raspicam_node/set_logger_level
  • /raspicam_node/get_loggers

contacting node http://cassini.local:37565/
Pid: 2225
Connections:

  • topic: /rosout
    • to: /rosout
    • direction: outbound
    • transport: TCPROS
  • topic: /raspicam_node/image/compressed
    • to: /rqt_gui_cpp_node_3039
    • direction: outbound
    • transport: TCPROS

After connecting the Android Tab, the "rosnode list” command shows “/android/camera_view” info as follows:

turtlebot@herschel:~$ rosnode info /android/camera_view

Node [/android/camera_view]
Publications:

  • /rosout [rosgraph_msgs/Log]

Subscriptions:

  • /compressed_image [unknown type]

Services: None

contacting node http://192.168.2.29:58803/
Pid: 6443
Connections:

  • topic: /rosout
    • to: /rosout
    • direction: outbound
    • transport: TCPROS

Note the Subscription to /compressed_image [unknown type], which does not match any raspicam Publications. Could this be the problem?

I have tried a image_transport image publish to no effect.

I would appreciate your assistance as the Android App, by my experience with an older TB/Indigo, is a very useful Teleop/Image view application.


#2

Hi :slight_smile:

Thank you for inquiry about turtlebot3. As you know, turtlebot3 issues are managed in github issue page. You will be able to get an more informations when you got some problem.

I assume that you launched ROS CONTROL application in Android.

You can subscribe image data to /image_raw/compressed topic.
So I give you reference to work it.

  1. Open App

  2. [TurtleBot]
    $ roslaunch turtlebot3_bringup turtlebot3_rpicamera.launch

  3. [RemotePC]
    $ rosrun image_transport republish compressed in:=raspicam_node/image raw out:=raspicam_node/image

  4. [RemotePC]
    $ rosrun topic_tools relay /raspicam_node/image/compressed /image_raw/compressed

After that, you can show an image in your application.

Thanks
Darby


(Ross Lunan) #3

Darby
Thanks a lot. using your instructions I successfully connected the ROS CONTROL app to the RemotePC (Herschel) with TB3 (cassini) running, but no picture no Teleop. Here is a transcript of rosnode list and rosnode info with roscore running on RemotePC. I also have a rqt_graph image file but unsure how to upload the file.

A rostopic echo /joy_teleop/cmd_vel showde changing values for linear x: and angular:z.

Advise any further measurements to assist troubleshooting.

turtlebot@cassini:~ rosnode list /android/camera_view /android/fragment_camera_view /android/robot_controller /compressed_relay_1529179421375752619 /image_republisher_1529179385052918600 /raspicam_node /rosout /teleop_wiimote /turtlebot3_core /turtlebot3_diagnostics /turtlebot3_lds /wiimote_controller turtlebot@cassini:~ rosnode info /android/camera_view

Node [/android/camera_view]
Publications:

  • /rosout [rosgraph_msgs/Log]
    Subscriptions:
  • /image_raw/compressed [sensor_msgs/CompressedImage]
    Services: None
    contacting node http://192.168.2.155:39748/
    Pid: 4025
    Connections:
  • topic: /rosout
  • to: /rosout
  • direction: outbound
  • transport: TCPROS
    turtlebot@cassini:~$ rosnode info /android/robot_controller

Node [/android/robot_controller]
Publications:

  • /joy_teleop/cmd_vel [geometry_msgs/Twist]
  • /rosout [rosgraph_msgs/Log]
    Subscriptions:
  • /image_raw/compressed [sensor_msgs/CompressedImage]
  • /navsat/fix [unknown type]
  • /odometry/filtered [unknown type]
  • /pose [unknown type]
  • /scan [sensor_msgs/LaserScan]
    Services: None
    contacting node http://192.168.2.155:35609/
    Pid: 4025
    Connections:
  • topic: /joy_teleop/cmd_vel
  • to: /rostopic_2245_1529181474525
  • direction: outbound
  • transport: TCPROS
  • topic: /rosout
  • to: /rosout
  • direction: outbound
  • transport: TCPROS
    turtlebot@cassini:~$ rosnode info /turtlebot3_core/turtlebot3_core

Node [/turtlebot3_core/turtlebot3_core]
Publications: None
Subscriptions: None
Services: None
cannot contact [/turtlebot3_core/turtlebot3_core]: unknown node
turtlebot@cassini:~$ rosnode info /turtlebot3_core

Node [/turtlebot3_core]
Publications:

  • /battery_state [sensor_msgs/BatteryState]
  • /cmd_vel_rc100 [geometry_msgs/Twist]
  • /diagnostics [diagnostic_msgs/DiagnosticArray]
  • /imu [sensor_msgs/Imu]
  • /joint_states [sensor_msgs/JointState]
  • /magnetic_field [sensor_msgs/MagneticField]
  • /odom [nav_msgs/Odometry]
  • /rosout [rosgraph_msgs/Log]
  • /sensor_state [turtlebot3_msgs/SensorState]
  • /tf [tf/tfMessage]
  • /version_info [turtlebot3_msgs/VersionInfo]
    Subscriptions:
  • /cmd_vel [geometry_msgs/Twist]
  • /motor_power [unknown type]
  • /reset [unknown type]
  • /sound [unknown type]
    Services:
  • /turtlebot3_core/get_loggers
  • /turtlebot3_core/set_logger_level
    contacting node http://cassini.local:40599/
    Pid: 1920
    Connections:
  • topic: /version_info
  • to: /turtlebot3_diagnostics
  • direction: outbound
  • transport: TCPROS
  • topic: /rosout
  • to: /rosout
  • direction: outbound
  • transport: TCPROS
  • topic: /imu
  • to: /turtlebot3_diagnostics
  • direction: outbound
  • transport: TCPROS
  • topic: /sensor_state
  • to: /turtlebot3_diagnostics
  • direction: outbound
  • transport: TCPROS
  • topic: /cmd_vel
  • to: /teleop_wiimote (http://herschel.local:36345/)
  • direction: inbound
  • transport: TCPROS
    turtlebot@cassini:~$ rosnode info /teleop_wiimote

Node [/teleop_wiimote]
Publications:

  • /cmd_vel [geometry_msgs/Twist]
  • /joy/set_feedback [sensor_msgs/JoyFeedbackArray]
  • /rosout [rosgraph_msgs/Log]
    Subscriptions:
  • /wiimote/nunchuk [unknown type]
  • /wiimote/state [wiimote/State]
    Services:
  • /teleop_wiimote/get_loggers
  • /teleop_wiimote/set_logger_level
    contacting node http://herschel.local:36345/
    Pid: 6191
    Connections:
  • topic: /rosout
  • to: /rosout
  • direction: outbound
  • transport: TCPROS
  • topic: /cmd_vel
  • to: /turtlebot3_core
  • direction: outbound
  • transport: TCPROS
  • topic: /joy/set_feedback
  • to: /wiimote_controller
  • direction: outbound
  • transport: TCPROS
  • topic: /wiimote/state
  • to: /wiimote_controller (http://herschel.local:37327/)
  • direction: inbound
  • transport: TCPROS
    turtlebot@cassini:~$

(Ross Lunan) #4

rqt_graph from Android/Turtlebots testing


#5

Hi again :slight_smile:

After connecting roscore in ROS_CONTROL app, enter Topic tab in Preferences to configure topic name.

You are supposed to change topic name as /cmd_vel in Joystick Topic, /scan in LaserScan Topic,
/image_raw/compressed in Image Topic and /odom in Odometry Topic.

Then you can watch lidar value and control turtlebot3