EricLBuehler
233192f41e
Update deps
1 year ago
haixuanTao
42dcb07237
Add derivation fo rpython ros2 bridge
1 year ago
Haixuan Xavier Tao
d7be6a49e3
Merge pull request #472 from Michael-J-Ward/pyo3-bounds
Update Pyo3 bounds
1 year ago
Michael-J-Ward
25884b658a
update pyo3 to new bounds api
1 year ago
EricLBuehler
6c62246e53
Fix typos
1 year ago
haixuanTao
ef3f087682
Adding additional ros2 bridge warnings in the documentation
1 year ago
haixuanTao
9f80dbf0c4
Adding warnings in the docsctring
1 year ago
haixuanTao
d26216aae8
Use pyo3::with_gil to call python
1 year ago
haixuanTao
abae9c771d
Adding unstable warning within ROS2Context
1 year ago
haixuanTao
597ee41428
Improving typing by adding dora prefix
1 year ago
haixuanTao
d044cf87be
Fixing DoraStatus return error
1 year ago
haixuanTao
e790af385e
Using `__init__.py` as without using it
1 year ago
haixuanTao
4adc0889ba
Adding python IDE typing
1 year ago
Michael-J-Ward
829d30c88e
lint: more simple lint fixes
1 year ago
Philipp Oppermann
d4a406e93e
Adjust generated code and examples for latest `ros2-client` version
1 year ago
Haixuan Xavier Tao
80827394f1
Merge pull request #419 from dora-rs/ros2-forward-slash
Use forward slash as it is default way of defining ros2 topic
2 years ago
haixuanTao
e12b29dcc6
Make type setting available for both forward slash and `::`
2 years ago
Philipp Oppermann
c417aa4051
Merge pull request #418 from dora-rs/test-to-ros2-fix
Test ros2 type info
2 years ago
Philipp Oppermann
1addfa385a
Add more context to error messages when serializing nested message
2 years ago
haixuanTao
c878862966
Use forward slash as it is default way of defining ros2 topic
2 years ago
Philipp Oppermann
1e510a4236
Improve error message: print message type and value
Co-authored-by: Haixuan Xavier Tao <tao.xavier@outlook.com>
2 years ago
haixuanTao
cf7c5552d1
Using python file to declare test array and test them
2 years ago
Philipp Oppermann
9eecf22fee
Rename method
2 years ago
Philipp Oppermann
efb6a51c22
Fix: Wrap deserialized sequences into list of length 1
Required because arrow uses column-oriented data format, which requires all struct fields to have length 1.
2 years ago
Philipp Oppermann
4b7c43c323
Fix some unused code and import warnings
2 years ago
haixuanTao
945b3f887b
Changing `Struct` to `TupleStruct`
2 years ago
Philipp Oppermann
63188965c5
Add support for serializing arrow `BinaryArray` types
Arrow has a special `BinaryArray` type for storing lists of variable-sized binary data efficiently. This type is equivalent to a `ListArray` of `PrimitiveArray<u8>`, but it is a different data type.
This commit updates the Python ROS2 serialization code to permit BinaryArray for all uint8 array or sequence fields.
2 years ago
Philipp Oppermann
e5a037afea
Improve error messages
2 years ago
Philipp Oppermann
abc057dda2
Remove commented out code
2 years ago
Philipp Oppermann
4b8dbfc7c2
Add support for (de)serializing arrays/sequences of structs and strings
2 years ago
Philipp Oppermann
13273824e1
Rework python ROS2 (de)serialization using parsed ROS2 messages directly
Use ROS2 types as type info to ensure that serialization type matches exactly. This is necessary because the types need to match exactly, otherwise the serialization or deserialization will result in invalid data.
Using arrow schemas to specify the ROS2 message types does not work because not all ROS2 message types can be represented. For example, ROS2 serializes arrays with known length differently than sequences with dynamic length.
2 years ago
haixuanTao
4085ebc46b
Make PrimitiveArray only serialize one element at a time
2 years ago
haixuanTao
f436fafc07
Serialize by looping over the array
This should fix: https://github.com/dora-rs/dora-autoware/discussions/9
2 years ago
haixuanTao
64fece9c47
Generate the right size of default value for array
2 years ago
haixuanTao
0568656ef0
Remove unused dependencies for faster compile time
2 years ago
haixuanTao
fd7c0939df
Run `cargo fmt --all`
2 years ago
Philipp Oppermann
4da13cc503
Prepare update to latest versions of RustDDS and `ros2-client`
2 years ago
Philipp Oppermann
8cc5837cfa
Update `arrow` and `pyo3` dependencies to latest versions
2 years ago
haixuanTao
3c737f8957
Fix clippy
2 years ago
haixuanTao
1d18d2ce62
Remove unnecessary ro2value encapsulation
2 years ago
Philipp Oppermann
2a19044919
Automatically convert from Python dict to arrow array in ROS2 publish
2 years ago
Philipp Oppermann
7f90c13cc2
Automatically convert from `StructScalar` to `ArrayData` in ROS2 publish method
2 years ago
Philipp Oppermann
8b2e5f9386
Fix: Use expected type for serializing
This way we get an error on incompatible types, instead of sending out invalid data.
2 years ago
haixuanTao
90c28de777
Fix clippy warnings about unnecessary `.clone()`, `.into()`, borrowing and let statement
2 years ago
Philipp Oppermann
b12f5e7620
Adjust python-ros2-dataflow example and move it to top level
2 years ago
Philipp Oppermann
bae02930df
Import ros2_bridge as experimental submodule of python node API
2 years ago
Philipp Oppermann
7cc4bd3361
Update Cargo.toml files to integrate bridge into workspace
2 years ago
Philipp Oppermann
f3a8655d02
Add 'libraries/extensions/ros2-bridge/' from commit 'c08bb144060f61594c8d32dd3725691ec57ebcfb'
git-subtree-dir: libraries/extensions/ros2-bridge
git-subtree-mainline: 8e7688a593
git-subtree-split: c08bb14406
2 years ago