Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
smarthome:xaal_ros_pepper [2018/03/06 13:41]
jzhu [Troubleshooting]
smarthome:xaal_ros_pepper [2020/07/03 17:33] (current)
mai ↷ Links adapted because of a move operation
Line 1: Line 1:
 +====== Combining Pepper and the smarthome: Link ROS and xAAL ======
 +
 +
 20180118: Current status naoqi can be imported, and web_video_server can boradbast kinect video and we can see the skeleton on rviz 20180118: Current status naoqi can be imported, and web_video_server can boradbast kinect video and we can see the skeleton on rviz
 +The source address is : https://​redmine.telecom-bretagne.eu/​projects/​xaalros/​repository?​utf8=%E2%9C%93&​rev=pepper
  
 ===== Running the Demo ===== ===== Running the Demo =====
  
- - To start falling ​detection with kinect, run in different ​terminal ​the following commands or use "​command &":​+   
 +  - To start the fall detection with kinect, ​please plug the USB cable of Kinect into the left USB port of the computer, please make sure that the LED light on the cable of Kinect is green. 
 +Then run in different ​terminals ​the following commands or use "​command &":​
 <​code>​roscore <​code>​roscore
 rosrun openni_tracker openni_tracker rosrun openni_tracker openni_tracker
 roslaunch openni_launch openni.launch roslaunch openni_launch openni.launch
 </​code>​ </​code>​
-In order to follow the movement of the person, the openni tracker ​firstly ​needs to calibrate the person shown before the camera and extracts the skeleton of the person. To realize this, the user can use a "​surrender"​ posture before the camera to help the process find exactly the position of the skeleton.+In order to follow the movement of the person, the openni tracker ​first needs to calibrate the person shown before the camera and extracts the skeleton of the person. To realize this, the user can use a "​surrender"​ posture before the camera to help the process find exactly the position of the skeleton. 
 + 
 +To open the web streaming ​    
 +  rosrun web_video_server web_video_server 
 +     
 +and open a browser and go directly to     
 +  http://​0.0.0.0:​8080/​stream_viewer?​topic=/​camera/​rgb/​image_color 
 + 
 +or see all available images on    
 +  http://​0.0.0.0:​8080
  
-- To start falling ​detection with sensfloor, run in another terminal+  ​- To start the fall detection with sensfloor:​ 
-With the Sensfloor Receiver:+     * With the Sensfloor Receiver, please plug the sensfloor recever into the USB port of the computer. 
 +then run in another terminal, choose one of the two methods:
 <​code>​cd /​home/​user/​P204/​xaal/​code/​C/​trunk/​xaafloor <​code>​cd /​home/​user/​P204/​xaal/​code/​C/​trunk/​xaafloor
 sudo chmod 777 /​dev/​ttyUSB0 sudo chmod 777 /​dev/​ttyUSB0
 ./xaafloor -D /​dev/​ttyUSB0 -a 224.0.29.200 -p 1235 -s xaal ./xaafloor -D /​dev/​ttyUSB0 -a 224.0.29.200 -p 1235 -s xaal
 </​code> ​ </​code> ​
-Because using the USB device in ubuntu system ​need a root permission, so a "​chmod"​ is used to change the execution mode.+Because using the USB device in ubuntu system ​needs a root permission, so a "​chmod"​ is used to change the execution mode
 +If you see the result: 
 +"​Device:​ 920de19d-63ac-451e-9c42-7eb7e48c0f90"​ 
 +It means that it works normally.
  
-Or With the Sensfloor Server:+     ​* ​Or With the Sensfloor Server: 
 +Please use another computer to work as a gateway, because this one need to be connected with LABO_SID
 <​code>​cd /​home/​user/​P204/​xaal/​code/​C/​trunk/​xaafloor <​code>​cd /​home/​user/​P204/​xaal/​code/​C/​trunk/​xaafloor
 ./xaafloor -S 192.168.5.5 -P 5000 -a 224.0.29.200 -p 1235 -s xaal ./xaafloor -S 192.168.5.5 -P 5000 -a 224.0.29.200 -p 1235 -s xaal
Line 25: Line 45:
 Only one of the above connection is needed. Only one of the above connection is needed.
  
-- To connect the Pepper, run in another terminal:+  ​- To connect the Pepper, ​please first launch the pepper and wait for 2~5 minutes, until it says "on est neckmouque"​. Then please ​run in another terminal:
 <​code>​roslaunch pepper_bringup pepper_full_py.launch nao_ip:​=10.77.3.19 roscore_ip:​=127.0.0.1</​code>​ <​code>​roslaunch pepper_bringup pepper_full_py.launch nao_ip:​=10.77.3.19 roscore_ip:​=127.0.0.1</​code>​
 Please make sure the IP address of pepper is correct. It can be verified by pressing the chest button of the Pepper one time. Please make sure the IP address of pepper is correct. It can be verified by pressing the chest button of the Pepper one time.
  
-- To start the controller, ​run in another terminal: +  ​- To start the controller, ​firstly, goto the corresponding repository. 
-<​code>​cd /​home/​user/​P204/​nao_xaal+<​code>​cd /​home/​user/​P204/​xaalros/scripts/</​code>​ 
-python controller.py</​code>​+Then make sure that your are in the branch "​pepper"​ 
 +<​code>​git branch (see the available branch)  
 +git checkout pepper (goto branch pepper) 
 +</​code>​ 
 +  - Then, run in another terminal: 
 +<​code>​python controller.py</​code>​ 
 + 
 +  - If a falling is detected, the lights will be turned on and an email will be sent to the contact list. In the email there is an IP address of the video stream, please tap on the address to see the actual scene captured by the robot.
  
 ===== Install ===== ===== Install =====
  
-  ​- Install [[ros|ros kinetic]] with command ''​sudo apt-get install ros-kinetic-desktop-full''​. The details can be read here : http://​wiki.ros.org/​kinetic/​Installation/​Ubuntu. ​ You will have created a catkin workspace CATKIN_WS (for instance ~/​catkin_ws)+ 
 +  ​- Install [[:ros|ros kinetic]] with command ''​sudo apt-get install ros-kinetic-desktop-full''​. The details can be read here : http://​wiki.ros.org/​kinetic/​Installation/​Ubuntu. ​ You will have created a catkin workspace CATKIN_WS (for instance ~/​catkin_ws)
   - For the kinect. Run:<​code>​   - For the kinect. Run:<​code>​
 sudo apt install ros-kinetic-openni-camera sudo apt install ros-kinetic-openni-camera
Line 73: Line 101:
  
 ===== Troubleshooting ===== ===== Troubleshooting =====
 +
  
 1.Today I did not manage to have the kinect run. 1.Today I did not manage to have the kinect run.
Line 85: Line 114:
 eventually the command ''​ rosrun openni_tracker openni_tracker''​ worked. I don't know what happened. eventually the command ''​ rosrun openni_tracker openni_tracker''​ worked. I don't know what happened.
  
-2.<​code>​[ERROR] [1520344155.442555]:​ Could not create Proxy to "​ALxxxxxx"​.+2.These kinds of error appears because the pepper is not connected successfully. Please verify the IP address of the Pepper. 
 +<​code>​[ERROR] [1520344155.442555]:​ Could not create Proxy to "​ALxxxxxx"​.
 connect: No route to host connect: No route to host
 [FATAL] [1520344155.707677]:​ Could not connect to required "​joint_trajectory"​ action server, is the nao_controller node running? [FATAL] [1520344155.707677]:​ Could not connect to required "​joint_trajectory"​ action server, is the nao_controller node running?
 +REQUIRED process [naoqi_moveto-3] has died!
 </​code>​ </​code>​
 +
 +3.This happens because the Kinect is not well plugged in or the machine can use this device. Please try to replug the Kinect USB cable again and plug it into the left port of the labo computer. By running this demo, please try to avoid using virtual machines.
 +<​code>​[ INFO] [1520344443.904870037]:​ No devices connected.... waiting for devices to be connected</​code>​
 +
 +===== Useful Infomation =====
 +
 +
 +  * How to control the intelligent equipment of the connected habitat from the web page? 
 +Visit: http://​xaal-lab.enstb.org:​9090/​test_grid
 +  * How to monitor the Sensfloor status? ​
 +Connect to the network of the sensfloor and then visit: 192.168.5.5:​8000
 +  * How to make xaafloor? ​
 +Please download the code of xaal from http://​recherche.imt-atlantique.fr/​xaal/​software/​ and follow the instructions from this page. Make sure that the libxaal.so is generated in the code. Then go to the following repository:
 +<​code>​cd ~/​P204/​xaal/​code/​C/​trunk/​xaafloor(or your path)
 +make
 +</​code>​
 +Please make sure the library dependency is satisfied. As described in first lines of the Readme.txt of the repository libxaal.
 +  * How to change xaal hardware address/​email address configuration?​
 +Please refer to the file nao_xaal.conf in the repository of nao_xaal.
 +The correct hardware address can be found from the web http://​xaal-lab.enstb.org:​9090/​devices
 +  * Useful xaal tools: Firstly, clean all:
 +<​code>​sudo pip uninstall xaal.lib
 +sudo pip uninstall xaal.tools</​code>​
 +Secondly, install xaal_test. The tool virtualenv is recommanded,​ it may need to be installed first.
 +<​code>​$ virtualenv xaal_test
 +Using base prefix '/​usr'​
 +New python executable in /​home/​jkx/​xaal_test/​bin/​python
 +Installing setuptools, pip, wheel...done.
 +$ source xaal_test/​bin/​activate
 +(xaal_test) $ cd xaal_svn/​libs/​lib/​
 +(xaal_test) $ python setup.py develop
 +(xaal_test) $ cd ../​../​apps/​tools/​
 +(xaal_test) $ python setup.py develop</​code>​
 +Here the xaal_svn is the repository of the python trunk, ex."/​home/​user/​P204/​xaal/​code/​Python/​trunk/​libs/​lib/"​.
 +Then a list of function is available for you! 
 +<​code>​source xaal_test/​bin/​activate
 +xaal-isalive (show the list of the active device)
 +xaal-walker (show the list of the active device with )
 +xaal-dumper (show all the message exchanging on the multi-cast channel xaal)
 +xaal-tail 1|2|3 (show the message exchanging by the message level)
 +</​code>​
 +And one more time, please pay attention that before these command, the command "​source xaal_test/​bin/​activate"​ is always necessary. Make sure that the terminal is then started with "​(xaal_test) $".
 +
 +  * How to check the connection with pepper?
 +<​code>​ping pepper.local
 +ping 10.77.3.19
 +</​code>​
 +
 +  * Cannot read sensfloor message from xaal? 
 +Firstly, please make sure the computer is connected with the LABO_SID.
 +Secondly, make sure that the gateway xaafloor is working. Use the xaal-dumper or xaal-tail to check.
 +Thirdly, verify the encoding key:
 +<​code>​./​xaafloor -D /​dev/​ttyUSB0 -a 224.0.29.200 -p 1235 -s xaal</​code>​
 +In this command the option "​-s"​ is the encode key for the sensfloor message from the gateway.
 +If you want to change it, please make sure that it is the same key in the message receiving process.
  • smarthome/xaal_ros_pepper.1520343684.txt.gz
  • Last modified: 2019/04/25 14:08
  • (external edit)