Comments (5)
yes, setting it through ROS would be nice
for the implementation I'd prefer a "config" message type to send these values. The reason is that we can extend it with more configuration later on and then don't get huge heartbeat messages.
My suggestion would be:
- status message has a "configured" flag to tell ROS if configuration is needed
- if ROS detects "configured == false" it sends the config message
- configured keeps true as long as heartbeats are received
- as soon as heartbeat stops, low level enters emergency and sets "configured = false" forcing ROS to reconfigure on next startup (user might have changed values)
from open_mower_ros.
@ClemensElflein agreed ! I will work on it as soon as I have some time. I need to figure out how to test it properly and quickly without relying on the robot... I'm a real newbie on ROS.
from open_mower_ros.
@alexvaut that's fairly easy as soon as you are able to compile the ROS workspace on your dev PC (if you have issues with it, ask. It should be pretty straight forward).
Basically once you are able to build the workspace, you can start roscore
in a terminal and then run and debug the comms node standalone and pass the serial interface as command line parameter. It behaves like any other c++ project then.
If you have any questions, tagging me on Discord might be better suited for getting quick replies. I usually check my emails once per day max.
from open_mower_ros.
ok got it, I was trying to figure it out with ros simulation UI. Any plan to add unit tests ? :-) Or at least any unit test framework recommandation for ROS ? I really like the ROS model, each node should have its own test suite.
On a more complex subject, I would like to work in obstacle avoidance, my lawn has some tricky bumpy places and I need a recovery mechanism when the mower is stuck.
from open_mower_ros.
I see, there is no real simulation UI yet. There's the simulation mode which simulates a robot and you can have a look at the position and orientation using RVIZ. The buttons are controlled via shell script.
Test suite is a good point. I don't know about ROS, but I have successfully used googletest in the past. A quick search also shows that it's recommended to use it for ros: http://wiki.ros.org/Quality/Tutorials/UnitTesting
On the Discord at least two people have mentioned that they'd like to work on obstacle avoidance, if you are interested you can check with them in the open-mower-software channel. User PaddyCube was one of them, the other I can't remember. Maybe there's some progress.
from open_mower_ros.
Related Issues (20)
- docker build fails HOT 1
- Include information about submodules in ReadMe build steps. HOT 1
- don't enter area recorder if battery is empty
- triggering dynamic obstacles in simulator HOT 1
- topic for publishing action HOT 4
- This is a random constant and unused. remove
- Mower pause/resume bug
- Mower fails to navigate an area if the loop has an intersection
- Leaving Emergency while mowing set the state to Docking HOT 4
- Reverse mower-motor direction doesn't work HOT 11
- Grass too high should slow down the mower HOT 2
- Dock to station backwards
- Obstacle too close to the area bound can lead to wrong path HOT 14
- Home Assistant MQTT
- Problem with compilation HOT 1
- Baudrate is 9600 when setting OM_USE_NTRIP to False HOT 1
- ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies HOT 1
- UART2 configuration HOT 1
- Do ellipsoid fit for mag_calibration. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from open_mower_ros.