Monday, 6 April 2015
Autonomous Update 2
For a robot to be autonomous it must be easy for others to operate it logging in and having to run some launch files is never going to work. The answer is upstart we tried this a few time but it never worked as expected. The version that comes with indigo works now to start Robbie you just have to turn him on. Then you can control Robbie with voice commands or Rviz off course with the greater reliance on voice commands we need to expand his capabilities. One of the options is show time which demonstrates his capabilities in a continuous display, good for showing off to visitors. Other commands will be included over time. The original NLTK is showing its age now Pattern_en shows a lot more promise but with a steeper learning curve
Tuesday, 31 March 2015
Get Me a beer
This is Robbie's first simulation run of picking up a object of a table moving it to another table, then
returning to his station. The simulation didn't show the object attached to the hand but the hand opens and closes in the right position
Wednesday, 11 March 2015
ROS MoveIT Update
I have had Moveit working for a while now but I could never get pick and place work I could
move the arm to a location but that was it. After a bit of research I traced the problem to my
URDF, I didn't place to coordinate frame at the end of the joint and the orientation of the frame
was wrong. After I adjusted everything it worked the arms can now reach more places and the resulting arm position is more natural. the only real problem is the simple URDF I made for
testing works quicker and has a better result with pick and place(less fails). Next up is a test with
the real robot I have to change the joint configuration on Robbie to match the URDF the wrist yaw joint worked better than the wrist pan joint now the arm has 7 joints plus the gripper not the 8 from before
move the arm to a location but that was it. After a bit of research I traced the problem to my
URDF, I didn't place to coordinate frame at the end of the joint and the orientation of the frame
was wrong. After I adjusted everything it worked the arms can now reach more places and the resulting arm position is more natural. the only real problem is the simple URDF I made for
testing works quicker and has a better result with pick and place(less fails). Next up is a test with
the real robot I have to change the joint configuration on Robbie to match the URDF the wrist yaw joint worked better than the wrist pan joint now the arm has 7 joints plus the gripper not the 8 from before
Wednesday, 4 March 2015
Robbie system update
With navigation working as expected now is a good time to upgrade Robbie to the next stable version
ubuntu 14.4 , ROS Indigo and clean up the directory structure. Putting every thing under Robbie_ros.
The good news is most thing works as before the only glitch so far is Arduino 1.6 will mess up my
messenger commands they have to be loaded with Arduino 1.05 and Face recognition is having a problem with opencv
I calibrated battery voltage to read true value, health monitor will move to docking station pose when battery voltage goes below the set level(12.2 for now) and start
auto dock. I still have to work on the charge state message.
The most important thing to remember running Gmapping before we start localization
ubuntu 14.4 , ROS Indigo and clean up the directory structure. Putting every thing under Robbie_ros.
The good news is most thing works as before the only glitch so far is Arduino 1.6 will mess up my
messenger commands they have to be loaded with Arduino 1.05 and Face recognition is having a problem with opencv
I calibrated battery voltage to read true value, health monitor will move to docking station pose when battery voltage goes below the set level(12.2 for now) and start
auto dock. I still have to work on the charge state message.
The most important thing to remember running Gmapping before we start localization
Sunday, 8 February 2015
Autonomous Robot Update
The reliability program
is on going, I have identified many problems
that need correcting
the most surprising is heat the weather has been
very hot of late
causing the computer to reset. On the software side
the old repository had
to many old programs that were several versions
old I have replaced the
structure with a more ROS like structure.
I have refreshed the
moveit package and now control both arms
with Moveit. While it
works with out tearing it self to pieces the old
L298N motor drivers are
not really up to the task, they lack control below
70 PWM making fine
adjustment near impossible. I never had the I2C bus
working with the
Arduino Due reliably so I reverted to using a Arduino UNO
I still have the
occasional glitch especially when doing restarts and poking
around the boards. That
brings us to the subject of wiring, crimp pins
(header types )are not
the best for a robot, they have been the biggest
problem to reliability
I will go with aviation style solder pins and plugs.
The
new motor drivers will be MC33887
with magnetic encoders not sure
what
to do with the I2C bus
Monday, 26 January 2015
Voice Recognition
The last major piece missing from Robbie was voice recognition that worked using the kinect showed promise but never worked all that well and was a pain to set up. Today
i stumbled on a android app for voice recognition that connects to ROS it recognizes once or continuously work up to a meter from the phone, it recognizes the kids voice as well
the app is from JSK robotics you need messages from here https://github.com/jsk-ros-pkg/jsk_common
i stumbled on a android app for voice recognition that connects to ROS it recognizes once or continuously work up to a meter from the phone, it recognizes the kids voice as well
the app is from JSK robotics you need messages from here https://github.com/jsk-ros-pkg/jsk_common
Friday, 16 January 2015
Autonomous robot
This
we get from wikipedia
A
fully autonomous robot can:- Gain information about the environment (Rule #1)
- Work for an extended period without human intervention (Rule #2)
- Move either all or part of itself throughout its operating environment without human assistance (Rule #3)
- Avoid situations that are harmful to people, property, or itself unless those are part of its design specifications (Rule #4)
I have been asked the question how autonomous is Robbie and do you let him move on this own?
While in principle he has all the systems, and has demonstrated that they work on there own and sometimes they all work together. The fact is in the last 2 years he has been tethered to the battery charger and partially disassembled. Stage 1 is now complete we have a working robot. What we don't have is trust in him and reliability. Stage 2 of this build is address those problems trust will come with reliability but autonomy needs more , below is a list of some tasks the robot should do
Self-maintenance
- Charge the battery, this part works using a behaviour tree
- monitor the systems to be part of the above
Sensing the environment
- Is anyone near me, face recognition work but needs to be
improved
- where am I, while localisation will give a map reference we
need a name ie lounge room
- day and night shut down nodes that wont be used at night
- short and long term memory
Task performance
- Goto a place, did I achieve my goal?
- get something, did I achieve my goal?
- locate something, did I achieve my goal?
Indoor navigation
- Localisation
- update the known world what has changed
and
we also need to log activity, success and failures to measure
performance, in the lab he can go through a door with out touching
but in real life? Same for localisation.
I'm sure this list will grow.
Subscribe to:
Posts (Atom)