micro-ros / micro-ros_crazyflie_demo Goto Github PK
View Code? Open in Web Editor NEWProvides a demo of micro-ROS based on a Crazyflie.
License: Apache License 2.0
Provides a demo of micro-ROS based on a Crazyflie.
License: Apache License 2.0
I'm trying to run the micro-ros demo with crazyflie2.1
docker-compose run --rm cf_builder
ros2 run micro_ros_setup configure_firmware.sh crazyflie_demo
ros2 run micro_ros_setup build_firmware.sh
lsusb
The terminal outside the container is in DFU mode but the terminal inside container is in BOOTLOADER mode like these
ros2 run micro_ros_setup flash_firmware.sh
micro-ROS firmware is flashed successfully and Connect to Crazyflie successfully.
Messages showed in terminal loos okay but when I connected to Crazyflie with cfclient (after docker-compose up -d), Crazyflie turned into 「Self test fail」(The right front LED (1) is repeatedly blinking five short red pulses with a longer pause between groups.)
Is there something wrong and how can I check everything is ok?
Hello!
I'm trying to run this demo with Foxy natively, but I'm having some problems to understand which are the steps to do it. I build and flashed the Crazyflie with the crazyflie_position_publisher app. I have all the Bitcraze libraries installed and working well (cflib and cfclient). I want only to see the odometry and attitude data of the Crazyflie in my terminal (Using the micro-ROS agent). What should i configure inside the uros_cf_bridge_no_joystick? I saw the lines 66 and 67
serial_dev = '/dev/ttyS11' serial_dev_agent = '/dev/ttyS10'
but I get some errors about permission to access this port.
Can you guys give me some light about it?
Thesedays I'm trying to run the microros demo with crazyflie2.1 and ros2 dashing
I built adn flashed the firmware in cf2.1
and up the docker compose with
$ cd /path/micro-ROS_crazyflie_demo
$ xhost +
$ docker-compose up -d
then in my case RVIZ was not running and just cfclinet poped up
I could check the translater node and /drone/attitue and /drond/odometry topics
but these topics couldn't get any data
So I ran the parts saperately
(1) run cfclient
$ cfclient # or python3 -m cfclient.gui
(2) check the pseudoterminal number
(3) run the uros agent
$ ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/pts/checked_number -v6
(4) connect the cf2.1 and cfclient
then sometimes I could see something in the agent terminal like these
if my understand is right then cf2.1 get the roll, pitch, yaw or x, y, z like these data to micro ros agent and
micro ros agent terminal would show these data
but the only data I could see was very statictic I mean while moving my drone, the data was not changing
The conclusion is I think 'it is not working correctly'
The only one doubtful point is
When I build uROS firmware of cf2.1, it works but in the middle of the process
the summary is like this, is this can be the reasone that the cf2.1 can't send the right data?
when I run in foxy then the summary is like this
Is there anybody who ran the crazyflie2.1 micro ros demo recently or get the similar porblems or who can help me
Multiple crazyflies (micro-ros clients) connect to a single micro-ros agent
No error happens in the agent and the first crazyflie manages to connect with the agent but the second one fails resulting in an hardfault.
Connection is possible by running two different agents with independent serial ports: /dev/ttyS10 <-> /dev/ttyS11 and /dev/ttyS20 <-> /dev/ttyS12
Trying to use the same /dev/ttySXX does not work probably due to socat's bidirectional communication but then again im not sure which alternative approach I can take.
I have pushed the necessary files to this temporary repo.
ros2 run micro_ros_agent micro_ros_agent serial --dev /tmp/ttyS10 --baudrate 115200 -v6
im using tmp to avoid needing sudoros2 run csv_creator latency_test --ros-args -p num_samples:=100 -p num_bytes:=256 -p frequency:=1 -p id:=2 -p filename:="random_name"
or use the automated script with variable number of bytes.The latency using both profiles should be similar or slightly lower in one of them (probably lower in best effort) and increases with the number of packets sent (CRTP uses 31 bytes of payload per packet and has an overhead due to the XRCE serial framing)
The latency with RELIABLE QoS increases with the payload as expected but the BEST_EFFORT results are random, with significantly higher latency ~110ms vs ~25ms for 8B payload using USB with no clear change with respect to payload size and with significant message loss (i suspect the crazyflie receives but doesnt send back the pong)
I also think the timeout to read from serial should be lower as the 200ms that are used are significantly higher than the RTT of the radio link which takes around 7ms meaning it is better to send more packets than wait for sufficient data from the serial stream.
After flashing the compiled firmware (through the radio as DFU has not worked for me) the M2 led remains on and the crazyflie does not respond to the cfclient. Is there something I could do to debug this?
Hello. I'm trying to use micro-ROS on RaspberryPi(buster v7) according to on the build instruction of this repository. But weather_agent fails to build.
It looks fastcdr
not found as the cmake log below. Is it necessary to get in advance?
docker run -ti --rm microros/base:foxy
(got microros/base:foxy f386eff93b36)
sudo apt-get update && sudo apt-get install -y python3-nose # fix for "module not found" error
ros2 run micro_ros_setup create_firmware_ws.sh raspbian buster_v7
ros2 run micro_ros_setup configure_firmware.sh weather_agent
ros2 run micro_ros_setup build_firmware.sh
I got an error below.
root@51d1bd891dcd:/uros_ws# ros2 run micro_ros_setup build_firmware.sh
Crosscompiled environment: cleaning path
Building firmware for raspbian platform buster_v7
[0.272s] WARNING:colcon.colcon_core.package_discovery:the --packages-ignore-regex '.*_cpp' doesn't match any of the package names
Starting >>> microxrcedds_agent
--- stderr: microxrcedds_agent
Cloning into 'microxrcedds_client'...
Cloning into 'spdlog'...
Cloning into 'sanitizers'...
Already on 'master'
Switched to a new branch 'develop'
Cloning into 'microcdr'...
Note: switching to 'v1.2.2'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 21d3cfe Merge pull request #63 from eProsima/develop
Note: switching to 'v1.4.2'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 1549ff12 Replace STRING(PREPEND ..) in CMakeLists.txt to support older CMake versions
CMake Error at CMakeLists.txt:143 (find_package):
By not providing "Findfastcdr.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "fastcdr", but
CMake did not find one.
Could not find a package configuration file provided by "fastcdr"
(requested version 1) with any of the following names:
fastcdrConfig.cmake
fastcdr-config.cmake
Add the installation prefix of "fastcdr" to CMAKE_PREFIX_PATH or set
"fastcdr_DIR" to a directory containing one of the above files. If
"fastcdr" provides a separate development package or SDK, be sure it has
been installed.
make[2]: *** [CMakeFiles/uagent.dir/build.make:113: uagent-prefix/src/uagent-stamp/uagent-configure] Error 1
make[1]: *** [CMakeFiles/Makefile2:87: CMakeFiles/uagent.dir/all] Error 2
make: *** [Makefile:87: all] Error 2
---
Failed <<< microxrcedds_agent [17.5s, exited with code 2]
Summary: 0 packages finished [17.7s]
1 package failed: microxrcedds_agent
1 package had stderr output: microxrcedds_agent
1 package not processed
Please test this demo in micro-ROS Foxy and update this repo accordingly
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.