amiithinks / robotlearning Goto Github PK
View Code? Open in Web Editor NEWRepository for Turtlebot learning project.
Home Page: https://amiithinks.github.io/RobotLearning/
License: MIT License
Repository for Turtlebot learning project.
Home Page: https://amiithinks.github.io/RobotLearning/
License: MIT License
Should we add a new layer of abstraction in the code, to include control and predicting GVFs simultaneously ? @yasuiniko @banafsheh-rafiee @dquail
The state representation of IMU is not what we expect after tiling.
It might be the case that the issue is with out implementation, if that is the case, most probably all the data that we're getting is bad.
Should be fixed ASAP
needs #8 to be done first
use numpy magic to get pixel values rather than the current loop
ObservationManager.py is written for the dynamixel, so the code needs to be replaced with code that will work with our turtlebot.
Need to create a function to generate state for the demobot wall task.
Description:
We want to check the performance of the time between publishing to a topic, and that message being received by subscribers.
Description:
We should review the code from the old robot learning project. And move it from dropbox to the amiithinks github repo.
Apparently, the robot is not getting any data from the IMU. On the same bot the values on the /odom topic are wrong.
Does anyone knows about the hardware of turtlebot ?
Only pose.x is increased as the bot moves forward. It's effectively giving the distance traveled by the robot, while it should be giving the displacement of the bot.
Sift is interfering with the state representation unnecessarily.
Since other people want to use the turtlebots too, it would be useful to have a commented template that they can fill out with their experiment-specific RL code and hardcode the turtlebot-specific code.
We can also use this template ourselves while making the demobot.
A good place to start might be LearningForeground.py
It is a feature that is always equal to 1.
Need to create a real policy that depends on the most recent prediction of hitting a wall -- our demo bot only turns if the prediction of hitting the wall is sufficiently high, which means to do this we also need to add predictions to our state representation.
Example:
Publisher queue size 10
Publish 10 "angular velocity = 2" messages
Publish 10 "linear velocity = .35" messages
The turtlebot goes mostly forward but with a slight turn to the side. How can we send actions in a way that is more precise?
The agent appears to learn to avoid two of the walls of the pen and fails to learn to avoid the other two. I suspect it is hard to represent the walls with a linear function of pixel color values. Maybe we should:
Any other suggestions appreciated!
The state representation is totally dependent on the image existing. At the very least, the image bits should be set to 0 so we can still access bumper information.
Even better, we could store and use the most recent image if no image already exists
create the state representation for the wall demo (including the GVF prediction)
Currently there are only GVF placeholders, but no code for the GVFs themselves.
Data is not smooth enough to be useful at all. There are too many fluctuations, so there is too much noise.
(See "Generate and Test" in list of recommended paper for details of implementation)
We will later have to test if this is indeed better than our current naive random pixel picker.
We currently use the action_manager process to publish movement messages at a pre-specified rate. Depending on how often the bot updates its movement message, the action_manager may not be sufficient and we might have to go to a lower level. Further testing on the action_manager's effectiveness is required.
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.