Giter Club home page Giter Club logo

freertps's Introduction

About

The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it's all open source. Full project details on ROS.org

Getting Started

Looking to get started with ROS? Our installation guide is here. Once you've installed ROS start by learning some basic concepts and take a look at our beginner tutorials.

Join the ROS Community

Community Resources

Developer Resources

Project Resources

ROS is made possible through the generous support of open source contributors and the non-profit Open Source Robotics Foundation (OSRF). Tax deductible donations to the OSRF can be made here.

freertps's People

Contributors

acassis avatar codebot avatar dhood avatar jacquelinekay avatar liamstask avatar mikaelarguedas avatar

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

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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freertps's Issues

SEDP for subscribers

  • publish SEDP subscription-writer DATA submessages for subscriptions
  • publish SEDP subscription-writer HEARTBEAT submessages
  • observe inbound messages from OpenSplice
  • decode inbound DATA messages, at least for the talker/listener hard-coded type

broadcast SPDP messages

  • create outbound RTPS message generator machinery
  • create outbound RTPS submessage generator machinery
  • carefully describe OpenSplice <-> Connext discovery traffic in notes somewhere
  • use said machinery to create outbound RTPS SPDP built-in writers

Automated test(s)

Idea:

  1. clone repo
  2. make test
  3. tests run in all their glory, starting with a simple talker/listener example

Ideally, this could be done in a non-ament way, but will still be automated on Jenkins.

data writes not working in talker

have not looked into this further yet (and this is running on OS X with some of the WIP code from #24), but i have observed the following:

  • opensplice talker and listener work with each other as expected
  • opensplice talker and freertps listener works
  • freertps talker and opensplice listener: talker reports no errors, listener does not print anything
  • freertps talker and freertps listener: talker reports no errors, listener reports the following:
frudp publish 136 bytes, seq num 0:1
    couldn't find a matched reader for this DATA:
      2c2f0123:456789ab:99460000:000004c2
    available readers:
      writer = 00000000:00000000:00000000:00000000 => 000100c7
adding reader due to heartbeat RX
adding endpoints for 2c2f0123:456789ab:99460000
found reader already; skipping duplicate add
no SEDP pub data to send to new participant
    couldn't find a matched reader for this DATA:
      2c2f0123:456789ab:99460000:00000103
    available readers:
      writer = 00000000:00000000:00000000:00000000 => 000100c7
      writer = 2c2f0123:456789ab:99460000:000004c2 => 000004c7
      writer = 2c2f0123:456789ab:99460000:000003c2 => 000003c7
    couldn't find a matched reader for this DATA:
      2c2f0123:456789ab:99460000:00000103
    available readers:
      writer = 00000000:00000000:00000000:00000000 => 000100c7
      writer = 2c2f0123:456789ab:99460000:000004c2 => 000004c7
      writer = 2c2f0123:456789ab:99460000:000003c2 => 000003c7
    couldn't find a matched reader for this DATA:
      2c2f0123:456789ab:99460000:00000103
    available readers:
      writer = 00000000:00000000:00000000:00000000 => 000100c7
      writer = 2c2f0123:456789ab:99460000:000004c2 => 000004c7
      writer = 2c2f0123:456789ab:99460000:000003c2 => 000003c7
    couldn't find a matched reader for this DATA:
      2c2f0123:456789ab:99460000:00000103
    available readers:
      writer = 00000000:00000000:00000000:00000000 => 000100c7
      writer = 2c2f0123:456789ab:99460000:000004c2 => 000004c7
      writer = 2c2f0123:456789ab:99460000:000003c2 => 000003c7

and continues to print that pattern as long as the talker is sending.

freertps compile fail "Policy CMP0057 not set"

Following the guide, I download ros2 source code, and build whole ros2 successfully. However, when I download freertps to src/ros2/freertps, trigger build as below
$ament build src/ros2/freertps

Process package 'freertps' with context:

source_space => /home/jwang/ros2_ws/src/ros2/freertps
build_space => /home/jwang/ros2_ws/build/freertps
install_space => /home/jwang/ros2_ws/install
make_flags => -j8, -l8
build_tests => False

+++ Building 'freertps'
Running cmake because arguments have changed.
==> '. /home/jwang/ros2_ws/build/freertps/cmake__build.sh && /usr/bin/cmake /home/jwang/ros2_ws/src/ros2/freertps -DBUILD_TESTING=0 -DCMAKE_INSTALL_PREFIX=/home/jwang/ros2_ws/install' in '/home/jwang/ros2_ws/build/freertps'
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found ament_cmake: 0.0.3 (/home/jwang/ros2_ws/install/share/ament_cmake/cmake)
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.5.2", minimum required is "3")

CMake Warning (dev) at /home/jwang/ros2_ws/install/share/ament_cmake_core/cmake/core/list_append_unique.cmake:30 (if):
Policy CMP0057 is not set: Support new IN_LIST if() operator. Run "cmake
--help-policy CMP0057" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

IN_LIST will be interpreted as an operator when the policy is set to NEW.
Since the policy is not set the OLD behavior will be used.
Call Stack (most recent call first):
/home/jwang/ros2_ws/install/share/ament_cmake_export_include_directories/cmake/ament_export_include_directories.cmake:41 (list_append_unique)
CMakeLists.txt:12 (ament_export_include_directories)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Error at /home/jwang/ros2_ws/install/share/ament_cmake_core/cmake/core/list_append_unique.cmake:30 (if):
if given arguments:

"NOT" "element" "IN_LIST" "_AMENT_EXPORT_RELATIVE_INCLUDE_DIRECTORIES"

Unknown arguments specified
Call Stack (most recent call first):
/home/jwang/ros2_ws/install/share/ament_cmake_export_include_directories/cmake/ament_export_include_directories.cmake:41 (list_append_unique)
CMakeLists.txt:12 (ament_export_include_directories)

DDS for UAV telemetry

Hello. I'm sorry, because this issue is little off-topic, but you know RTPS spec.

We are working on next generation of UAV telemetry protocol, so i would like to know does RTPS are good solution on low bandwidth connections (~5 KiB/s - for common modems)?
Also that task require serial transport, but you are already planned it.

i2c support

Just watched the presentation from ROSCon 2015 Hamburg, which mention TTL UART is a future goal. What about i2c? That seems like a good target as most MCUs have onboard i2c and it is a great solution for multi-node systems (RS485, also mentioned, is great but less abundant in non-automation situations.)

make doen't work

make doen't work

error is below

make[3]: *** 'apps/talker_no_rosidl/talker_no_rosidl.bin'에서 필요한 'apps/talker_no_rosidl/talker_no_rosidl.elf' 타겟을 만들 규칙이 없습니다.  멈춤.
CMakeFiles/Makefile2:291: 'apps/talker_no_rosidl/CMakeFiles/talker_no_rosidl_bin.dir/all' 타겟에 대한 명령이 실패했습니다
make[2]: *** [apps/talker_no_rosidl/CMakeFiles/talker_no_rosidl_bin.dir/all] 오류 2
Makefile:83: 'all' 타겟에 대한 명령이 실패했습니다
make[1]: *** [all] 오류 2
Makefile:21: 'stm32f7_disco-metal' 타겟에 대한 명령이 실패했습니다
make: *** [stm32f7_disco-metal] 오류 2

process SPDP messages

Acceptance Criteria:

  • Parse parameter key values from the spec
  • Stuff that into a static list of participants
  • Ensure no duplicates in the list

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.