This repository has been archived by the owner on Oct 25, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Roadmap 2019 (Draft)
Pierre Laclau edited this page Aug 27, 2018
·
1 revision
- AI
- Scheduler: Subscribe and wait for a message to have the right attributes until timeout
- game_status: blocking arming step
- Navigator
- Option to disable pathfinder
- Respond "success" when asked to go where the robot already is (+- 5mm)
- If start or end position is invalid, no need to retry
- Moving close to an edge, or getting out when robot position is inside a wall impossible
- Show in Rviz when no path found
- Collisions
- Migration to C++
- Selectable sources
- Sensors
- Ability to disable layers and/or individual sensors everywhere (belt, lidar, collisions)
- objects_classifier destroys object when inside the robot
- Actuators
- Actuators/ax12 link
- Startup sequence
- Create
generate_arduino.sh
for roslib
- Panel for lidar_objects
- Obstacles markers displayed by obstacles_classifier, not collisions
- Nice robot STL
- Navigator displays the current navigation direction (forwards/backwards)
- Interactive markers ?
- TF visual tweaking (e.g. to easily setup the laser frame)
- Collisions highlights dangerous objects
- Display current path
- No more
namespace_
in the package names - Relative message paths
-
ai_game_status
+ai_timer
=ai_game_game_manager
- New map strategy (static objects only, no more JSON)
- Extended
objects_classifier
to new recognizer node - Nodes grouping into fewer packages
- Robots connect to a WiFi hotspot
- Test SCP workflow
- Cross-platform CI/CD compilation ?
- Adjust PIDs (zero-or-full speed and no wobbling)
- Smart PWM™ ability + handle simulation
- ROS position back to asserv connection (option to SetPos only X, Y and/or A)
- IMU angle connection to localizer
- Kalman filter on localizer
- Implement displacement moments in scheduler
- Bump displacement method (Smart PWM™)
- LiDAR displacement method (wall, corner)
- Adjustable navigation speed
- Scheduler option
- Autonomous decision : if the travel is near an object, approaching a waypoint, short distance then navigate slowly
- Pathfinder modes : consider all objects, all except game objects, only the enemy, no pathfinder…
- Correct simulation when Smart PWM, bumping into a wall
- Gives the turning direction for each waypoint
- Implement target_frame (+ offset) attributes for the navigation goal
- Automatic waypoint approach
- Backwards ability (after a collision & regular navigation)
- Speed management during collisions
- Pathfinder loginfo time statistics, logerr path not found…
- Simplified map : only holds static objects and waypoints, GET/SET not based on JSON anymore…
- objects_classifier generalized to objects_recognizer, outputs all vision objects from belt/LiDAR with labels (wall, robot, cube…)
- Display labels in Rviz (+ change colors)
- belt_interpreter generalized to range_filler, supports 1D sensors (alone for displacement or arrays for the belt)
- Options to ignore layers or sensors
- Feed obstacles from obstacles_classifier, not map
- Get static objects from map
- Beautiful Rviz
- HMI
- Button to restart the whole system
- LEDs and confirmation for 12V
- Team indication on all screens
- Connect everything directly to the RPi ?
- Implement task pauses and resumes (resume only at the end of the regular tree)
- Feed task responses into other tasks' requests
- Conditions before task executing
- Implement full communication between two robots (multi-frequency!)
- Feed the robots' positions to the collisions nodes.
- Put the robot (almost) anywhere on the table and it will find its position & move to the spawn
- Disable scheduler actions based on the enemy's position
- Predict whole enemy navigation paths (=> better collisions management)
- Simultaneous tasks (TODO needed?)
- Navigation strategies for displacement corrections
- LiDAR displacement on corners
- Camera support
- Industrial displacement sensors
Wiki UTCoupe 2018, Université de Technologie de Compiègne, France.
Any questions or comments ? Wanna join our team ? Contact us at [email protected]!