all the basic HRI packages we are going to use
strands-project / strands_hri Goto Github PK
View Code? Open in Web Editor NEWall the basic HRI packages we are going to use
all the basic HRI packages we are going to use
These should be configurable in some way.
This is a question for the Vienna guys (I think mainly @ToMadoRe):
Which voice are you using for Werner? We want to try out the memory_game and since the robot is supposed to speak German and should sound male, I thought you might already have a voice you use. If so, can you commit the configuration you are using (maybe as a new branch)? If not we will choose one for you ;)
It would be useful to have a simple touchscreen interface running on the robot to allow you to interact with it. Possible functionality may be
It would be good if the UI was extensible so we can extend it with functionality easily in the future.
This messes up the head light control when timing it with the mary speech using the strands_hri_utils package.
CMake Error at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:75 (find_package):
Could not find a package configuration file provided by "bellbot_scheduler"
with any of the following names:
bellbot_schedulerConfig.cmake
bellbot_scheduler-config.cmake
Add the installation prefix of "bellbot_scheduler" to CMAKE_PREFIX_PATH or
set "bellbot_scheduler_DIR" to a directory containing one of the above
files. If "bellbot_scheduler" provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:7 (find_package)
To not have ppl perception running when not necessary.
rosdep install
produces the following error: ros_mary_tts: Cannot locate rosdep definition for [stdmsgs]
.
I think there is just an underscore missing in the package.xml but I wanted to ask before I change anything. @marc-hanheide you did mean std_msgs, right?
Currently an error is raised when there is no reply within 10 seconds. Needs try-catch or infinite wait (the latter being the better solution)
CMake Error at cmake_install.cmake:115 (FILE):
file INSTALL cannot find
"/tmp/buildd/ros-hydro-strands-human-following-0.0.4-0precise-20141111-1230/config".
so the directory is obviously called conf
and not config
.
In general, please always run catkin_make install
in your local workspace before pushing any changes.
Instead of current map and image view
I need to change the value of frame_id in the QTC library from "map" to another name. But since it is hard-coded, it cannot be changed.
Please allow it to be parametrized, so that it can be changed.
Thanks
This is a nice feature to visualise that Linda is actually speaking. In lack of a mouth this is the only thing we can use to do this.
Will create first test version today or tomorrow to have it ready for an upcoming demo.
I am launching Gazebo simulation with simulated output of Bayes People Tracker. Along with the simulation, I am also launching the "move_base.launch" and "hrsi.launch" files.
/robot4/online_qtc_creator/qtc_array ROS topic is giving output.
/robot4/qtc_state_predictor/marker_array ROS topic is also giving output.
/robot4/qtc_state_predictor/prediction_array ROS topic is not giving any output.
Launching the "hrsi.launch" file publishes the output for the ROS topics /robot4/robot_pose and /robot4/robot_poseST, but gives the below error.
I would like to know the reason of the error particularly in line 30 of the code "/opt/ros/kinetic/lib/qsr_prob_rep/qsr_prob_rep_ros_server.py".
[WARN] [1542895239.666073, 2641.568000]: [/robot4/qtc_state_predictor]: None state reported, aborting
[ERROR] [1542895240.107102, 2641.869000]: Error processing request: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
['Traceback (most recent call last):\n', ' File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 625, in _handle_request\n response = convert_return_to_response(self.handler(request), self.response_class)\n', ' File "/opt/ros/kinetic/lib/qsr_prob_rep/qsr_prob_rep_ros_server.py", line 30, in <lambda>\n self.services[service] = rospy.Service("~"+namespace+"/"+service, QSRProbRep, (lambda a,b: lambda x: self.callback(x, a, b))(namespace,service))\n', ' File "/opt/ros/kinetic/lib/qsr_prob_rep/qsr_prob_rep_ros_server.py", line 34, in callback\n return QSRProbRepResponse(data=self._lib.request(r).get())\n', ' File "/opt/ros/kinetic/lib/python2.7/dist-packages/qsrrep_lib/rep_lib.py", line 57, in request\n return request_message.call_function(self.modules[namespace], func_name)\n', ' File "/opt/ros/kinetic/lib/python2.7/dist-packages/qsrrep_lib/rep_io.py", line 39, in call_function\n return getattr(c, f)(**self.kwargs)\n', ' File "/opt/ros/kinetic/lib/python2.7/dist-packages/qsrrep_lib/rep_io.py", line 71, in wrapper\n return func(self, *args, **kwargs)\n', ' File "/opt/ros/kinetic/lib/python2.7/dist-packages/qsrrep_lib/rep_pf.py", line 51, in update\n res = self.pf.update(**z)\n', ' File "/opt/ros/kinetic/lib/python2.7/dist-packages/qsrrep_pf/filter.py", line 63, in update\n kwargs["filter"].bayes(np.array([kwargs["states"].index(obs), np.nan]))\n', ' File "/opt/ros/kinetic/lib/python2.7/dist-packages/qsrrep_pf/particle_filter_base.py", line 82, in bayes\n self.emp.weights = np.multiply(self.emp.weights, np.exp(self.p_yt_xt.eval_multiple(yt, self.emp.particles)))\n', ' File "/opt/ros/kinetic/lib/python2.7/dist-packages/qsrrep_pf/probability_density_functions.py", line 116, in eval_multiple\n o = np.array(self.models[self.models.keys()[m]][self.key])[p.astype(int),x[0]]\n', 'IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices\n']
[ERROR] [1542895240.107797, 2641.869000]: service [/robot4/prob_rep_ros_server/pf/update] responded with an error: error processing request: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
ros_mary_bridge uses two global queues to manage speech strings for actions. These queues are not synced, and there is an arbitrary 10s timeout in the action server. This leads to an empty reply queue error being printed.
As we (@cdondrup mainly) want to start developing our own not yet published research in the repository I'd like to make it private if that's not a problem. However, there is a general problem to that. If everybody starts making their own research repositories private (like strands_qsr) for example, we'll quickly run out of private repositories. So, what's the best strategy. We decided that @cdondrup 's work falls under HRI and there we'd put it here. But then we'd probably end up in the long run to make all repositories private ๐ So, what's the policy? Shall I make this private? Or do something else?
memory_game_msgs
from strands_interaction_behaviours
ros_mary_tts
to strands_ui
and rename it to mary_tts
(see #67)@cdondrup: I get following error when compiling the strands workspace:
strands_catkin_ws/src/strands_hri/strands_simple_follow_me/src/main.cpp:11:64: fatal error: strands_perception_people_msgs/PedestrianLocations.h: No such file or directory
compilation terminated.
Is there anything not up-to-date? Can't find that message definition anywhere
Investigate why navigation gives up when goal can't be reached.
The robot only speaks if the user that launches ros_mary.launch
is logged in the robot's computer. This issue seems related with how ubuntu handles the access to the speakers.
When I try to run
roslaunch ros_mary_tts ros_mary.launch
with my user, I get the following error:
MARY server 5.0 starting as a HTTP server...process[ros_mary_bridge-2]: started with pid [13962]
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /opt/strands/strands_catkin_ws/src/strands_hri/ros_mary_tts/marytts-5.0/log/server.log (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.(FileOutputStream.java:212)
at java.io.FileOutputStream.(FileOutputStream.java:136)
at org.apache.log4j.FileAppender.setFile(FileAppender.java:294)
at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:165)
at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104)
at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:809)
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
at org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:639)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:504)
at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:428)
at marytts.server.Mary.configureLogging(Mary.java:371)
at marytts.server.Mary.startup(Mary.java:227)
at marytts.server.Mary.startup(Mary.java:205)
at marytts.server.Mary.main(Mary.java:508)
I can change the file permissions here and solve the problem (or run this as user strands), though I don't know if there should be a global solution where anyone can run this node without any extra permission change
The missing dependencies have to be added and the unnecessary ones have to be removed, e.g.:
CMake Warning at /home/cdondrup/ros_ws/build/strands_hri/bellbot_gui/cmake/bellbot_gui-genmsg.cmake:3 (message):
Invoking generate_messages() without having added any message or service
file before.
You should either add add_message_files() and/or add_service_files() calls
or remove the invocation of generate_messages().
Call Stack (most recent call first):
/opt/ros/indigo/share/genmsg/cmake/genmsg-extras.cmake:304 (include)
strands_hri/bellbot_gui/CMakeLists.txt:77 (generate_messages)
-- bellbot_gui: 0 messages, 0 services
I am not sure who is responsible for this package any more, but we notice that it's using anywhere between 60% and 90% CPU usage, but only 0.2% memory. Are there some efficiency improvements that can be made anywhere to curb this?
@OMARI1988 @PDuckworth are the ones using it.
I notice the main bit of the script is wrapped in a
while(ros::ok())
So maybe this is to blame?
Take a look at gaze_at_pose-34-stdout.log
One day it consumes 88GB space.
strands@bob:~/.ros/log/2e170bda-ac18-11e6-9e5d-00032d22587c$ ls -hs
total 89G
8.0K activity_exploration-1.log 16K execute_policy_server-29.log 0 robot-robot_state_publisher-8-stdout.log 101M rosout.log.6
8.0K backtrack_server-23.log 0 fremenserver-26-stdout.log 0 robot_pose_publisher-9-stdout.log 101M rosout.log.7
0 chest-chest_joint_state_publisher-4-stdout.log 88G gaze_at_pose-34-stdout.log 16K ros_mary_bridge-2.log 101M rosout.log.8
4.0K chest-chest_joint_state_publisher-4.log 4.0K human_aware_navigation-36.log 0 rosapi-4-stdout.log 101M rosout.log.9
0 chest-chest_robot_state_publisher-5-stdout.log 0 joystick-10-stdout.log 4.0K rosapi-4.log 8.0K strands_webserver-6.log
0 chest_xtion-depth_metric-6-stdout.log 0 map_server-1-stdout.log 12K rosbridge_websocket-3.log 296K teleop_head-13-stdout.log
0 chest_xtion-depth_metric_rect-5-stdout.log 0 maryserver-1-stdout.log 16K roslaunch-bob-14040.log 328K teleop_head-13.log
0 chest_xtion-depth_points-7-stdout.log 17M master.log 176K roslaunch-bob-14196.log 0 tf2_web_republisher-5-stdout.log
0 chest_xtion-depth_rectify_depth-4-stdout.log 12K mdp_policy_executor_extended-2.log 68K roslaunch-bob-14221.log 4.0K topological_localisation-27.log
0 chest_xtion-depth_registered_sw_metric_rect-10-stdout.log 6.8M mdp_task_executor-3.log 88K roslaunch-bob-16307.log 0 topological_map_manager-25-stdout.log
0 chest_xtion-driver-2-stdout.log 8.0K mdp_task_guarantees_estimator-1.log 480K roslaunch-bob-16663.log 4.0K topological_map_manager-25.log
0 chest_xtion-points_xyzrgb_sw_registered-9-stdout.log 276K monitored_nav-24.log 64K roslaunch-bob-20306.log 44K topological_navigation-28.log
0 chest_xtion-register_depth_rgb-8-stdout.log 0 no_go_map_server-2-stdout.log 32K roslaunch-bob-27576.log 4.0K topological_prediction-32.log
0 chest_xtion-rgb_rectify_color-3-stdout.log 0 odometry_mileage-33-stdout.log 480K rosout-1-stdout.log 0 travel_time_estimator-31-stdout.log
0 diagnostic_aggregator-6-stdout.log 0 pc_monitor-5-stdout.log 84M rosout.log 4.0K travel_time_estimator-31.log
4.0K door_checking-16.log 4.0K pc_monitor-5.log 101M rosout.log.1 0 visualise_map-30-stdout.log
4.0K door_passing-15.log 0 pose_extractor-35-stdout.log 101M rosout.log.10 4.0K visualise_map-30.log
8.0K door_prediction-20.log 4.0K pose_extractor-35.log 101M rosout.log.2 4.0K wait_action-4.log
4.0K door_wait_and_move_base-18.log 12K ptu_action_server-4.log 101M rosout.log.3
348K door_wait_and_pass-17.log 0 robot-joint_state_publisher-7-stdout.log 101M rosout.log.4
24K door_waiting-19.log 4.0K robot-joint_state_publisher-7.log 101M rosout.log.5
Any idea why?
When trying to run catkin_make install:
error: package directory 'src/bellbot_scheduler' does not exist
CMake Error at strands_hri/bellbot_scheduler/catkin_generated/safe_execute_install.cmake:4 (message):
execute_process(/home/cdondrup/ros_ws/build/strands_hri/bellbot_scheduler/catkin_generated/python_distutils_install.sh)
returned error code
Call Stack (most recent call first):
strands_hri/bellbot_scheduler/cmake_install.cmake:36 (INCLUDE)
cmake_install.cmake:135 (INCLUDE)
strands_human_following
won't run until strands-project/strands_navigation#119 is merged. See strands-project/strands_navigation#118
It should still build and I will therefore trigger another release.
E.g., Alt+Tab allows to switch out of the browser. The functionality should be restricted to only have letters, numbers and shift.
EDIT: Forgot a "to" in the title...
Needs help of @TobKoer to decide on things the robot should say.
Also need to choose a voice.
This seems quite related to mary_tts
but is in strands_hri_utils
. In the PR below I moved everything out of strands_hri_utils
but the speak_webserver
. Marc, can you please move the webserver into the mary package in your fork and then migrate all of it to strands_ui, or migrate it after the merge?
Impossible to operate using the robots touch screen.
After a few hours of continuous operation, ros_mary_tts does not talk anymore.
I would like to re-release this repo before the feature freeze. Please make sure that the install targets are set correctly for all the bellbot packages. That the version number is the same as in the rest of the repo and #90
...if there is no active goal.
See related issue
This is currently not integrated.
Need to think of a good launch file to put all this because of action server dependencies.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.