Git Product home page Git Product logo

yujin_ocs's Introduction

Yujin Open Control System (yocs)

Yujin Robot's open-source control system including libraries and exectuables

yujin_ocs's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yujin_ocs's Issues

keep direction constant when smoothing velocities

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.

Redesign yocs_waypoints_navi

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.

Library improvements.

yocs_navigator

  • basic_move_controller python module
  • library export

yocs_localization_manager

  • now it uses action.
  • it receives spin_and_localize command.

yocs_ar_marker_tracking

  • some utility functions are added.

Use odom or odom_combined?

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.

Dynamically reconfigure vel_mux

Add a service that receives a new YAML formatted string with a new configuration and and re-configures the node from scratch

Timeouts do not stop robot motion

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?

Waypoint and trajectory input for yocs_waypoints_navi

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.

package namespacing

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

  • All packages in yujin_ocs repository use yocs as class namespace
  • All packages use package name as class namespace.

Develop interactive waypoint editor

@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_msgs to its own stack

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.

Yocs_joyop dependency error

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

indigo release preparation

Install Rule

  • yocs_ar_marker_tracking
  • yocs_ar_pair_tracking
  • yocs_ar_pair_approach

Documentation

  • yocs_ar_marker_tracking
  • yocs_ar_pair_tracking
  • yocs_ar_pair_approach

Improving yocs_waypoints_navi

I'd like to be able to

  • store multiple lists of way points (aka trajectory), each identified by a name/key
  • execute the navigation along a set of way points (aka trajectory) by providing the name/key of a specific list of way points

Deceleration smoothing isn't working

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.

yaml0.5 support

  • yocs_ar_marker_tracking
  • yocs_waypoint_manager
  • yocs_waypoint_navi

yocs_keypo compile error

-- +++ 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.

fix warning introduced by new catkin version

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

Docking interactor developement

provides following api

  • ~wake_up : Move back until it sees docking AR. and register on the robot's frame
  • ~register_dock_ar : register dock ar on global frame
  • ~return_to_base : navigate back to in front of base and auto dock.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.