open_manipulator icon indicating copy to clipboard operation
open_manipulator copied to clipboard

TurtleBot3 Home Service Challenge

Open suyunas opened this issue 3 years ago • 8 comments

Whilst doing the TurtleBot3 Home Service Challenge. https://emanual.robotis.com/docs/en/platform/turtlebot3/home_service_challenge/ @ 7.10.3.1. I am having the following error: Screenshot from 2021-04-24 08-38-20

Remote PC side: #!/bin/bash argc=$# args=("$@") if [ 0 -eq $argc ] then echo "need to argument that host ip for ssh connection" echo "Usage: $0 [ip address] ..." exit 1 fi for((index = 0; index < $#; index++ )) do ssh-keygen -R ${args[$index]} ssh-keyscan ${args[$index]} >> ~/.ssh/known_hosts done

Turtlebot3 side: #!/bin/bash #check if other turtlebot3_core is already running is_running=ps ax | grep turtlebot3_core IFS=' ' read -ra is_runnings <<< "$is_running" process_name=${is_runnings[4]} if [ ${process_name} == "python" ] then echo "other turtlebot3_core is already running." exit 1 fi

source /opt/ros/kinetic/setup.bash source ~/catkin_ws/devel/setup.bash

ip_address=hostname -I ip_address_trim=${ip_address%% * } ip_address_no_space="$(echo -e "${ip_address_trim}" | tr -d '[:space:]')" export ROS_HOSTNAME=${ip_address_no_space}

export TURTLEBOT3_MODEL=waffle_pi exec "$@"

Somebody can help?

suyunas avatar Apr 24 '21 07:04 suyunas

Have you run belows from your Remote PC?

$ chmod +x ~/tb3_ssh_keygen
$ ~/tb3_ssh_keygen 192.168.1.10

and the below from your Raspberry Pi on TurtleBot3?

$ chmod +x ~/env.bash

Did you get any warning or error messages when running the above?

ROBOTIS-Will avatar Apr 26 '21 05:04 ROBOTIS-Will

Thank you for your response. Attached is the output window: today

[Remote PC] Upper left: $ roscore

[Pi] Upper right: $ roslaunch turtlebot3_bringup turtlebot3_robot.launch

[Remote PC] Middle left: $ export TURTLEBOT3_MODEL=${TB3_MODEL} $ roslaunch turtlebot3_manipulation_description turtlebot3_manipulation_view.launch use_gui:=true

[Remote PC] Middle right: $ nano ~/tb3_ssh_keygen $ chmod +x ~/tb3_ssh_keygen $ ~/tb3_ssh_keygen 192.168.43.191

[Pi] Lower left: $ nano ~/env.bash $ chmod +x ~/env.bash

[Remote PC] Lower right: $ roslaunch turtlebot3_home_service_challenge_tools turtlebot3_pi_cam_remote.launch address:=192.168.43.220

suyunas avatar Apr 26 '21 11:04 suyunas

When running the tb3_ssh_keygen command, you should use the IP address of TurtleBot3 SBC as below.

Also, you only need to run this command once as this will create the ssh key in your Remote PC.

[Remote PC] Middle right:

$ nano ~/tb3_ssh_keygen
$ chmod +x ~/tb3_ssh_keygen
$ ~/tb3_ssh_keygen 192.168.43.220

ROBOTIS-Will avatar Apr 27 '21 02:04 ROBOTIS-Will

Apologies in typing i put ~/tb3_ssh_keygen 192.168.43.191. However from the picture above it is clear that i have used ~/tb3_ssh_keygen 192.168.43.220. I have also tried by removing the ssh keys today: Screenshot from 2021-04-27 12-15-01

suyunas avatar Apr 27 '21 10:04 suyunas

@suyunas I've tested with my Kinetic setup, but couldn't reproduce the issue. Have you set the ROS_MASTER_URI and ROS_HOSTNAME for both Remote PC and Raspberry Pi? https://emanual.robotis.com/docs/en/platform/turtlebot3/quick-start/#network-configuration

ROBOTIS-Will avatar Apr 29 '21 01:04 ROBOTIS-Will

nano ~/.bashrc configurations for Remote PC: alias eb='nano ~/.bashrc' alias sb='source ~/.bashrc' alias gs='git status' alias gp='git pull' alias cw='cd ~/catkin_ws' alias cs='cd ~/catkin_ws/src' alias cm='cd ~/catkin_ws && catkin_make' source /opt/ros/kinetic/setup.bash source ~/catkin_ws/devel/setup.bash export ROS_MASTER_URI=http://192.168.43.191:11311 export ROS_HOSTNAME=192.168.43.191 export TURTLEBOT3_MODEL=waffle_pi

TB3: alias gp='git pull' alias cw='cd ~/catkin_ws' alias cs='cd ~/catkin_ws/src' alias cm='cd ~/catkin_ws && catkin_make' source /opt/ros/kinetic/setup.bash source ~/catkin_ws/devel/setup.bash export ROS_MASTER_URI=http://192.168.43.191:11311 export ROS_HOSTNAME=192.168.43.220

  1. 'Be sure Remote PC and TurtleBot3 are connected under the same IP'. This statement is a bit confusing on Home Service Challenge. how can we keep IP same for two separate devices?

  2. Is there any recommended of OS like ubuntu 16/18/20 to run the Home service challenge example smoothly for both Remote PC and TB3?

suyunas avatar Apr 29 '21 11:04 suyunas

@suyunas Your network configuration looks correct.

'Be sure Remote PC and TurtleBot3 are connected under the same IP'. This statement is a bit confusing on Home Service Challenge. how can we keep IP same for two separate devices?

Sorry about the confusion. This means to configure your IP address in the same IP range, such as 192.168.43.xxx

TB3 HSC is currently supported with Kinetic which runs on Ubuntu 16.04 or the provided Raspbian OS image from us.

Please try below command and let me know. This will copy the SSH key to TurtleBot3 SBC.

$ ssh-copy-id [email protected]

ROBOTIS-Will avatar Apr 30 '21 02:04 ROBOTIS-Will

can be seen in the middle right: Screenshot from 2021-04-30 11-04-17

suyunas avatar Apr 30 '21 10:04 suyunas