Yujin Robot's open-source control system including libraries and exectuables
yujinrobot / yujin_ocs Goto Github PK
View Code? Open in Web Editor NEWYujin Robot's open-source control libraries
Home Page: http://wiki.ros.org/yujin_ocs
Yujin Robot's open-source control libraries
Home Page: http://wiki.ros.org/yujin_ocs
provides following api
Shouldn't the mux output a zero cmd_vel when the timeout expires?
Or is that purely the responsibility of the robot driver to make sure it's getting commands consistently? Is there a REP of some sort that defines this behavior?
Add a service that receives a new YAML formatted string with a new configuration and and re-configures the node from scratch
Scanning dependencies of target yocs_keyop
/home/yujin/ros/waiterbot/src/yujin_ocs/yocs_joyop/src/joyop.cpp:6:30: fatal error: ecl/exceptions.hpp: No such file or directory
#include <ecl/exceptions.hpp>
^
compilation terminated.
I am not sure what dependency is missing exactly
Currently the velocity smoother adjusts the velocities independently, what can cause the original velocity heading (vector orientation) to be modified as well.
Please adjust the smoothing in the way that the original heading is not changed.
Looks little professional, now with a bunch of other yocs_ packages
So we should try to use end velocity commands to the robot (that is, the /mobile_base/commands/velocity)
This would be really really super fantastically convenient.
See the cmd_vel_mux for example implementation.
Instead of standalone package which parses waypoints from yaml and request move_base to navigate around, redesign it to utilise yocs_waypoint_manager to parse waypoints from yaml, and only controls move_base.
There is ros-teleop repositories started by @mikepurvis which contains teleop joystick and teleop keyboard. Shall we merge yocs implementations with them?
E.g.
void DiffDrivePoseController::spinOnce()
{ ... }
Put it inside the class declaration or add inline
.
indigo version of ar_track_alvar now has independent msg package ar_track_alvar_msgs
.
Sync with it.
Merge modules which developed while preparing delivery exihibition.
AR Markers can be placed with some error in real environment.
So provide covariance when robot initialize pose with ar pair and let AMCL corrects the exact pose.
Update.
I wonder if we should move this from odom (nav_msgs/Odometry) to odom_combined (geometry_msgs/PoseWithCovarianceStamped).
Point being, ros by convention typically looks to the latter as output from the robot_pose_ekf, not the raw odometry.
Also they are missing for yocs_ar_pair_approach
As being notified for a long time by the build farm: http://jenkins.ros.org/view/IbinT64/job/ros-indigo-yocs-ar-marker-tracking_binarydeb_trusty_amd64/
Using yaml_cpp
:
I'd like to be able to
@corot already developed a tool to specify a path along multiple waypoints using RViz (see yocs_waypoint_navi
). Maybe we can extend this approach. Otherwise we an RViz or rQt plugin might be the way to go.
In any case this feature should be implemented within the yocs_waypoint_provider
and dropped from yocs_waypoints_navi
.
This is a follow-up of #41.
yocs_navigator
yocs_localization_manager
yocs_ar_marker_tracking
Add logic to the approach node to handle the situation when the pose controller fails to reach the goal:https://github.com/yujinrobot/yujin_ocs/blob/hydro-devel/yocs_ar_pair_approach/src/yocs_ar_pair_approach/node.py#L120
Migrated from yujinrobot/kobuki-x#17
e.g. with motor driver or sensor, how much latency before timestamping?
e.g. hokuyo.
There is a python library replicating the C++ version of the basic_move_controller, but I cannot find any script using it.
@jihoonl do you know, if it is used?
... to yocs_waypoint_provider
.
This is a follow-up of #41.
If not, the robot will move shaky without a clear indication of why, at it will always compare current command with zero velocity.
Fix this warning:
WARNING: The metapackage 'yujin_ocs' has no CMakeLists.txt. Please add one to the package source. You can use the following file: /opt/kobuki_workspace/catkin_ws/build/catkin_generated/metapackages/yujin_ocs/CMakeLists.txt
The basic_move_controller
does not seem to be used inside the navigator
, but only is made available through it.
Hence, I suggest to put the basic move controller into it's own node, so it can be started when needed.
@jihoonl what do you think?
simple_annotation_msgs
is not need.
Following from yujinrobot/kobuki#325
Good practice to put message message packages in their own repositories away from source code (aka zeroconf_msgs or rocon_msgs). This lets people easily source rosinstall the message stacks without having to compile your sources.
Imagine someone writing a pc application for turtlebot. All they need is the various turtlebot message stacks to auto-generate headers as a dependency. They shouldn't need to compile turtlebot at all.
Perhaps it to a unary stack yocs_msgs or part of a bigger stack we can call yujin_messages.
robotics-in-concert/rocon_app_platform#262
Currently waypoints can be set using yaml or RViz. With the yocs_waypoint_provider
in place, we now like to use it for the navigator.
Drop yaml and RViz input and add yocs_msgs/Waypoint
and yocs_msgs/Trajectory
subscribers.
This is a follow-up of #41.
even when the publisher stops publishing, e.g. rostopic command line tool.
Have seen that in other cases as well.
Reduce uncertainty to help localizaiton. The previous values were too high.
-- +++ processing catkin package: 'yocs_keyop'
-- ==> add_subdirectory(yujin_ocs/yocs_keyop)
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:11 (add_executable):
add_executable cannot create target "keyop" because another target with the
same name already exists. The existing target is an executable created in
source directory
"/home/jihoonl/research/ros/turtlebot/src/kobuki/kobuki_keyop/src". See
documentation for policy CMP0002 for more details.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/opt/ros/indigo/lib/libecl_threads.so" to
target "keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/opt/ros/indigo/lib/libecl_type_traits.so" to
target "keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/opt/ros/indigo/lib/libecl_time.so" to target
"keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/opt/ros/indigo/lib/libecl_time_lite.so" to
target "keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/usr/lib/x86_64-linux-gnu/librt.so" to target
"keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/opt/ros/indigo/lib/libecl_exceptions.so" to
target "keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/opt/ros/indigo/lib/libecl_errors.so" to
target "keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/opt/ros/indigo/lib/libroscpp.so" to target
"keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/usr/lib/x86_64-linux-gnu/libboost_signals.so"
to target "keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library
"/usr/lib/x86_64-linux-gnu/libboost_filesystem.so" to target "keyop" which
is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/opt/ros/indigo/lib/librosconsole.so" to
target "keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/opt/ros/indigo/lib/librosconsole_log4cxx.so"
to target "keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library
"/opt/ros/indigo/lib/librosconsole_backend_interface.so" to target "keyop"
which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/usr/lib/liblog4cxx.so" to target "keyop"
which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/usr/lib/x86_64-linux-gnu/libboost_regex.so"
to target "keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library
"/opt/ros/indigo/lib/libroscpp_serialization.so" to target "keyop" which is
not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/opt/ros/indigo/lib/librostime.so" to target
"keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library
"/usr/lib/x86_64-linux-gnu/libboost_date_time.so" to target "keyop" which
is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/opt/ros/indigo/lib/libxmlrpcpp.so" to target
"keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/opt/ros/indigo/lib/libcpp_common.so" to
target "keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/usr/lib/x86_64-linux-gnu/libboost_system.so"
to target "keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/usr/lib/x86_64-linux-gnu/libboost_thread.so"
to target "keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library "/usr/lib/x86_64-linux-gnu/libpthread.so" to
target "keyop" which is not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:13 (target_link_libraries):
Attempt to add link library
"/usr/lib/x86_64-linux-gnu/libconsole_bridge.so" to target "keyop" which is
not built in this directory.
CMake Error at yujin_ocs/yocs_keyop/src/CMakeLists.txt:15 (install):
install TARGETS given target "keyop" which does not exist in this
directory.
Some packages in yujin_ocs use yocs
as class namespace and some packages use its own package name as class namespace. We may want to apply one or the other for consistency.
We shall check if there is recommendation for c++ package class namespacing.
Options
yocs
as class namespaceThere is an issue with optimisation and debug flags not set, when doing release with an old bloom version (<0.5.8) for Quantal, Raring and Trusty for both Hydro and Indigo.
Whenever convenient we should do a re-release of all YOCS packages for Hydro and Indigo.
Details here: http://lists.ros.org/pipermail/ros-users/2014-May/068657.html
Install Rule
Documentation
Doesn't appear to be doing any smoothing when decelerating, just tracks the incoming velocity perfectly.
This is easiest show with turtlebot, xbox360_teleop and rqt_plot on /cmd_vel/linear/x
(smoother input) and /cmd_vel_mux/input/teleop/linear/x
(smoother output).
I can demonstrate for you on wednesday.
It's missing: http://wiki.ros.org/yocs_waypoints_navi
To properly support yocs_navigator/navigator.launch
we would need to add move_base
and turtlebot
dependencies, which would blow up this light-weight package.
if this launcher is used, then I suggest to move it to where it is used (what it is used with), e.g. turtlebot.
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.