go_away

Author Topic: New C library - testers required  (Read 50319 times)

0 Members and 1 Guest are viewing this topic.

Offline klims

  • Robot Overlord
  • ****
  • Posts: 188
  • Helpful? 2
Re: New C library - testers required
« Reply #150 on: June 17, 2010, 03:04:57 AM »
Been reading through the documentation and I have to say WOW! Great job. This looks like an awesome bit of lib. Very feature rich.

I wanted to ask if you would like feedback on the documentation side of things in this thread, as in completeness, spelling mistakes and all of that?

I'm keen to get my biped up and running with your libs (once I work out how to get my bloody rprintf function working???) so I was wondering at the chances of getting some special functions written up? Initially I was thinking some basic stuff like getting a bunch of servos to move to position all finishing at the same time, but eventually I envision something more hardcore, maybe involving some inverse kinematics. Should I maybe start a new thread on it?

I have a question about your software PWM. if I am controlling 18 servos with software, how much CPU time am I using/wasting on this operation? On average how much CPU would you say it takes to software PWM a servo? I'm wondering if I'm better off buying harware to deal with servos.
« Last Edit: June 17, 2010, 03:34:18 AM by klims »

Offline WebbotTopic starter

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,166
  • Helpful? 111
Re: New C library - testers required
« Reply #151 on: June 17, 2010, 08:28:37 AM »
Been reading through the documentation and I have to say WOW! Great job. This looks like an awesome bit of lib. Very feature rich.
Thanks

I wanted to ask if you would like feedback on the documentation side of things in this thread, as in completeness, spelling mistakes and all of that?
Documentation will always be an on-going job. Feel free to PM me about stuff - I thinks its best kept out of the forum as once its fixed/changed/added then the forum posting becomes irrelevant.

I'm keen to get my biped up and running with your libs (once I work out how to get my bloody rprintf function working???)
Start an rprintf with WebbotLib thread if you need help.

so I was wondering at the chances of getting some special functions written up? Initially I was thinking some basic stuff like getting a bunch of servos to move to position all finishing at the same time,
This is easy enough to do. Hint: look at the interpolate function.


but eventually I envision something more hardcore, maybe involving some inverse kinematics. Should I maybe start a new thread on it?
The easiest way to achieve this pure computational stuff is to get it going as a standalone piece of code and once completed, if you want to donate it to the lib, then I can add your code in and give credit. Yep - start a thread if you need to.

I have a question about your software PWM. if I am controlling 18 servos with software, how much CPU time am I using/wasting on this operation? On average how much CPU would you say it takes to software PWM a servo? I'm wondering if I'm better off buying harware to deal with servos.
It would take me a while to work that out and it would depend on your clock speed (16MHz Axon?). Certainly you would need to experiment with splitting the servos into different banks (timers) to get the best result as one bank (timer) would not be able to send pulses to all of the servos every 20ms. It also depends on what other hardware (especially timers) you need for other things.
Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline klims

  • Robot Overlord
  • ****
  • Posts: 188
  • Helpful? 2
Re: New C library - testers required
« Reply #152 on: June 17, 2010, 04:02:21 PM »
This is easy enough to do. Hint: look at the interpolate function.
Yep I already have something like this written, I was just wondering at the chances of getting it written properly...

The easiest way to achieve this pure computational stuff is to get it going as a standalone piece of code and once completed, if you want to donate it to the lib, then I can add your code in and give credit. Yep - start a thread if you need to.
Sounds fair. Same story as above though, it will probably need to be re-written properly.

It would take me a while to work that out and it would depend on your clock speed (16MHz Axon?). Certainly you would need to experiment with splitting the servos into different banks (timers) to get the best result as one bank (timer) would not be able to send pulses to all of the servos every 20ms. It also depends on what other hardware (especially timers) you need for other things.
Ok how about a quick guess? Are we talking <10% all up? or are we talking something more significant(>40%)?
I'm guessing I would use 4 timers, one for each limb.


I need some noob help getting the webbotlib to print out the UART. I'm trying the first example from the documentation folder. Can anyone confirm that using an Axon and this exact example they get stuff printing on the UART? I seem to be missing something basic. I don't even get gibberish!

Offline WebbotTopic starter

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,166
  • Helpful? 111
Re: New C library - testers required
« Reply #153 on: June 17, 2010, 05:19:56 PM »
Quote
Ok how about a quick guess? Are we talking <10% all up? or are we talking something more significant(>40%)?
I'm guessing I would use 4 timers, one for each limb.
You'd just have to try it.

Quote
I need some noob help getting the webbotlib to print out the UART. I'm trying the first example from the documentation folder. Can anyone confirm that using an Axon and this exact example they get stuff printing on the UART? I seem to be missing something basic. I don't even get gibberish!
The 'documentation folder' - do you mean Admins own examples or something in the WebbotLib manual?
Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline klims

  • Robot Overlord
  • ****
  • Posts: 188
  • Helpful? 2
Re: New C library - testers required
« Reply #154 on: June 18, 2010, 02:25:55 AM »
The 'documentation folder' - do you mean Admins own examples or something in the WebbotLib manual?

Ahhhhhh I figured it out!!!!!!!!!!!! The file I was talking about is in the WebbotLib-1.20 manual that came with the library.
The Axon ver.1 is actually connected via usb on UART1. Very noob of me.

Offline klims

  • Robot Overlord
  • ****
  • Posts: 188
  • Helpful? 2
Re: New C library - testers required
« Reply #155 on: June 18, 2010, 08:20:57 PM »
Is there a function in the webbotlib that could easily get me reading a signal from something like a TV IR remote? I assume it would need to be interrupt driven to work properly. I have always wanted to control my robot with my tv remote!

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,666
  • Helpful? 169
    • Society of Robots
Re: New C library - testers required
« Reply #156 on: June 18, 2010, 08:24:55 PM »
This thread is just to announce new WebbotLib versions . . . just create a new thread to explain your problem/question.

Offline WebbotTopic starter

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,166
  • Helpful? 111
Re: New C library - testers required
« Reply #157 on: June 20, 2010, 02:44:38 PM »
WebbotLib Version 1.21 has been released with the following features:-

    * Added Sensors/Encoder/Generic/fastquad.h for high resolution encoders

    * Added ADXL345 accelerometer (i2c)

    * Added HMC5843 compass (i2c)

    * Added Maxbotix MB7077 (works with 7067 as well) distance sonar- can be used under water

    * Fixed ATMega128 UART problem (darn those ATmel naming conventions!)

    * Changed Controller/Sony/ps2.h to have rumble motors, key pressures, and some extra helper routines

    * Changed buffer.h - added function bufferBytesUsed

The Designer applications now support the Sparkfun 9Dof Razor IMU board (http://www.sparkfun.com/commerce/product_info.php?products_id=9623) - make sure you get the one with the ATMega328P processor - not the old board with the ATMega168

This means that you can now use WebbotLib to author your own firmware to be installed on this board.
 
Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline Invicta

  • Full Member
  • ***
  • Posts: 65
  • Helpful? 1
Re: New C library - testers required
« Reply #158 on: June 24, 2010, 05:08:24 AM »
Webbot

Fancy a challenge?

How about including the CH Robotics' CHR-6dm Attitude and Heading Reference System (AHRS) in the next version of Webbotavrclib. It is a fantastic bit of kit and from what I can see is very good value for what it can do. A complete range of sensors for Pitch, Roll and Yaw with Extended Kalman Filter (EKF) for the output - brilliant. I am keen to try it out but I am shy to pay £173.90 + postage unless I know I can interface it to my Axon 2 without issues.

Specifications and datasheet available at:

http://robosavvy.com/store/product_info.php/cPath/27/products_id/628

Yours hopefully

Offline WebbotTopic starter

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,166
  • Helpful? 111
Re: New C library - testers required
« Reply #159 on: June 24, 2010, 08:53:06 AM »
I have been working with Admin on adding the Sparkfun Razor 9DoF IMU board.

This is available from the same site you mentioned http://robosavvy.com/store/product_info.php/products_id/625 and its about half the price.

But the best thing is that it uses an ATMega328 processor and so the Razor board itself can be programmed using WebbotLib which supports all the sensors on the board.

Admin has written an example program for loading onto the Razor which I will be including in the next release and he is intending to add a Kalman filter to the code at some point.

The board you mentioned uses an ARM processor that is not supported with WebbotLib. Its also almonst impossible for me to write code for a sensor unless someone actually has one and they are willing to be guinea pigs for my code and they can commit the time and effort into helping. ie for every change I make I have to send you a hex file to test and let me know the result. Obviously I don't want to splash out £173 for a device that I have no use for once its up and running.

Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,666
  • Helpful? 169
    • Society of Robots
Re: New C library - testers required
« Reply #160 on: June 24, 2010, 09:34:35 AM »
Quote
Its also almonst impossible for me to write code for a sensor unless someone actually has one and they are willing to be guinea pigs for my code and they can commit the time and effort into helping. ie for every change I make I have to send you a hex file to test and let me know the result. Obviously I don't want to splash out £173 for a device that I have no use for once its up and running.
If you live in the EU, and you don't mind paying for shipping twice, just buy the device and mail it to Webbot directly. When he's done he can mail it to you.

A small price for someone writing code for you :P

As for that IMU, its like 1/3rd the size of the Razor, a good thing for a flying robot. It looks a lot like a secret product I was developing but then ditched last year for market reasons . . . mine would have been 120 euros cheaper and WebbotLib compatible =P

Offline Invicta

  • Full Member
  • ***
  • Posts: 65
  • Helpful? 1
Re: New C library - testers required
« Reply #161 on: June 24, 2010, 12:55:42 PM »
Hi Admin & Webbot

I only considered the CHR-6dm AHRS because it seemed to be a complete product with 3-axis position output from a EKF.  It also comes with a PC interface to do all the calibration.  Could you adapt the interface (open source) for the SF9DOF?  I assume that you know of the work done at DIYDRONES to make the SF9DOF into a AHRS? Some links below:

   http://code.google.com/p/sf9domahrs/
   http://diydrones.com/profiles/blogs/new-imu-from-sparkfun-soon-to?id=705844%3ABlogPost%3A129107&page=1#comments
   http://www.mcselec.com/index.php?option=com_content&task=view&id=269

If you like I would be willing to purchase a SF9DOF and help with testing  :)

Cheers

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,666
  • Helpful? 169
    • Society of Robots
Re: New C library - testers required
« Reply #162 on: June 24, 2010, 01:16:50 PM »
Remember that Webbot isn't getting paid to do this . . . so you need to be committed to the sensor/device that you'd want him to add. Any reason the Razor won't work for you? Its already done, and lots of people already use it. This new sensor might never have any users due to its price and obscurity, meaning Webbots time might be better spent working on adding something else . . .

I recommend taking my Razor code, which I can send to you when you're ready, and hacking it for your IMU. It'll work just the same, and only requires a few tweaks I'm sure. Then submit the working final code to Webbot and he'll clean it up and add it to Webbot.

Offline WebbotTopic starter

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,166
  • Helpful? 111
Re: New C library - testers required
« Reply #163 on: June 24, 2010, 01:27:36 PM »
Everyone is able to use the DIYDRONEs code - but I cant snaffle it and make it part of WebbotLib as its their property. You also get into versioning issues/updates as their code changes.

So either use Admins code (written using WebbotLib) for the sensor, or use other peoples like DIYDRONEs. As far as your main board is concerned then WebbotLib will support Admins firmware for the device but not necessarily any one elses for now. But since all of the interfaces work using UART then it would be quite easy to write your own sensor reader to match the firmware you have installed on the Razor.

We have already got this going so buying a Razor wont actually help me at all. It comes down to what you think is the best sensor for the job. If its the one you have discovered then 'you and I' will have to work together to make any use of it.

Hope that helps!
Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,666
  • Helpful? 169
    • Society of Robots
Re: New C library - testers required
« Reply #164 on: June 24, 2010, 01:30:21 PM »
Quote
will support Admins firmware for the device but not necessarily any one elses for now. But since all of the interfaces work using UART then it would be quite easy to write your own sensor reader to match the firmware you have installed on the Razor.
Invicta just wanted interface code, no firmware rewrites needed (I hope!). Invicta, just email when you want my Axon code that interfaces with the Razor. And we'll work from there . . .

Offline Invicta

  • Full Member
  • ***
  • Posts: 65
  • Helpful? 1
Re: New C library - testers required
« Reply #165 on: June 24, 2010, 04:41:58 PM »
Right, tomorrow I will buy a Sparkfun 9Dof Razor IMU board;

http://www.active-robots.com/products/sensors/sparkfun/9-degrees-of-freedom-razor-imu.shtml                       
Note; must check it has the ATmega328.
Admin, please send me your source code for the Razor firmware (is it written in 'C' ???). Plus any notes you may have on how it works and how to upload it; so that I can swat up. You have my email address.

Webbot, when do you hope to have the updated WebbotavrcLib with support for Admin's firmware available?

Thanks guys for all your help. I will save the CHR-6dm AHRS for another pay cheque.

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,666
  • Helpful? 169
    • Society of Robots
Re: New C library - testers required
« Reply #166 on: June 24, 2010, 04:51:27 PM »
sent.

If it says AHRS, then it has the ATmega328P in it.

Offline WebbotTopic starter

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,166
  • Helpful? 111
Re: New C library - testers required
« Reply #167 on: June 24, 2010, 06:53:44 PM »
Webbot, when do you hope to have the updated WebbotavrcLib with support for Admin's firmware available?

It will be in the next release - so maybe over the next week or two. But Admin can also give you code to work on the master cpu in the meantime anyway. I am just tidying it up and making it WebbotLib compliant, and adding it to Project Designer. So releases of WebbotLib dont need to hold you back.




Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline WebbotTopic starter

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,166
  • Helpful? 111
Re: New C library - testers required
« Reply #168 on: July 03, 2010, 05:25:15 PM »
WebbotLib Version 1.22 has been released with the following features:-

    *  iopin.h - pin_make_output now specifies the initial output value, and pin_pulseIn/Out now specifies if the pulse is active high or low
    *  HMC5842 - the compass now also returns the raw magnetometer values in rawX, rawY, and rawZ. It also calculate the roll and pitch angles
    *  Added Sensors/IMU/Sparkfun/razor.h - but needs new firmware from Admin at societyofrobots.com for the Razor
    *  Added the Maths folder for 3D vectors and matrices and 2D vectors
    *  Added GaitRunner so that your robot can use a gait exported from Gait Designer without needing to be connected to the computer.


Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline dellagd

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 731
  • Helpful? 5
  • Come to the dark side... We have cookies!
Re: New C library - testers required
« Reply #169 on: July 03, 2010, 08:41:37 PM »
Hello Webbot-

Have you added this yet? I didn't see it... I found it on the forum from Admin and I was hoping you could add it in. I found it useful.

(See attachment)

You use it like this (and I must say, it is extremely simple):
If you want a 1 digits number you would do (At least this is what I saw in the example code)-

Code: [Select]
int whatever_you_want = random_number(1);
or for 2 digit numbers:

Code: [Select]
int whatever_you_want = random_number(2);
so on, I think u get the point.

here is the thread: http://www.societyofrobots.com/robotforum/index.php?topic=10118.0

F.Y.I. ALL CREDIT TO ADMIN




« Last Edit: July 04, 2010, 07:54:20 AM by dellagd »
Innovation is a product of Failure, which leads to Success.

If I helped, +1 helpful pls

I Won!
3rd place! I'm taking $100

Offline madsci1016

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,450
  • Helpful? 43
Re: New C library - testers required
« Reply #170 on: July 03, 2010, 11:06:20 PM »
did the function to return the # of bytes in the uart buffer get added in?

I didn't see it in the pdf.

Offline klims

  • Robot Overlord
  • ****
  • Posts: 188
  • Helpful? 2
Re: New C library - testers required
« Reply #171 on: July 04, 2010, 12:45:53 AM »
Hey webbot, what are the chances of getting support for Pololu servo controllers added to the webbotlib? Specifically Mini Maestro 24 channel. I'd be more than willing to test the stuff for you.

Maybe even better would be general support for the Compact, Pololu and SSC protocols.

Offline WebbotTopic starter

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,166
  • Helpful? 111
Re: New C library - testers required
« Reply #172 on: July 04, 2010, 08:00:14 AM »
did the function to return the # of bytes in the uart buffer get added in?
I didn't see it in the pdf.

It was added in the previous release. But its not in the uart its in buffer.h - see bufferBytesUsed. This means you can also use it on the transmit buffer (which would help in implementing flow control). Buffers may also be used for things other than uarts.

@dellagd - I dont really want to add the random number generator to the library as it will pull in the ADC support to seed the random number generator. Which is quite an overhead if you aren't otherwise using the ADC channels

@klims - I'll take a look at the protocols but no promises at this stage.
Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline WebbotTopic starter

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,166
  • Helpful? 111
Re: New C library - testers required
« Reply #173 on: July 04, 2010, 06:15:13 PM »
Hey webbot, what are the chances of getting support for Pololu servo controllers added to the webbotlib? Specifically Mini Maestro 24 channel. I'd be more than willing to test the stuff for you.

Maybe even better would be general support for the Compact, Pololu and SSC protocols.

Having appraised the different protocols then I will be looking to add the Mini SSC protocol into the next version of WebbotLib. I have selected that protocol as it is the most compact (fastest) - but is still missing a trick to save space - if there is anyone here from Pololu then PM me please please please ! The Pololu Mini Maestro supports this protocol with no special settings and so I'll be sending you an interim release soon so you can test it.

Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline klims

  • Robot Overlord
  • ****
  • Posts: 188
  • Helpful? 2
Re: New C library - testers required
« Reply #174 on: July 04, 2010, 11:41:41 PM »
The Pololu Mini Maestro supports this protocol with no special settings and so I'll be sending you an interim release soon so you can test it.

Fantastic! Thanks mate. I'll be waiting for you PM

I'm keen to get one of the other protocols working with the webbotlib. They offer more features with the servo controller than the SSC. I understand that you have a ton of things going so if there is any help I can provide to make it happen let me know
« Last Edit: July 05, 2010, 06:25:52 AM by klims »

Offline WebbotTopic starter

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,166
  • Helpful? 111
Re: New C library - testers required
« Reply #175 on: July 05, 2010, 02:56:26 PM »
The Pololu Mini Maestro supports this protocol with no special settings and so I'll be sending you an interim release soon so you can test it.

Fantastic! Thanks mate. I'll be waiting for you PM

I'm keen to get one of the other protocols working with the webbotlib. They offer more features with the servo controller than the SSC. I understand that you have a ton of things going so if there is any help I can provide to make it happen let me know
I've sent you a PM - but if anyone else has a serial servo controller board that supports either the miniSSC or Pololu Compact protocols and you are interested in helping to debug it then PM me
Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline Invicta

  • Full Member
  • ***
  • Posts: 65
  • Helpful? 1
Re: New C library - testers required
« Reply #176 on: July 13, 2010, 03:48:25 PM »
Guys, yet more fantastic work, but a little hard to follow. For this white rabbit I recommend a strong pair of binoculars.

Webbot

I have added the Razor 9DoF in my Project Designer and initiated the generate process. This is my understanding of how it should work for the Razor. Please correct me if I am wrong.

The Example.txt file is just that, it is c-code that can be compiled to give good examples of how to access/control the devices selected in Project Designer.

“Example.txt” includes "hardware.h" that includes "xhardware.h" that includes "razor.h" and so on.

I would use code from “Example.txt” if I just wanted to output the Razor values to Hyperterminal en mass.

If I wanted to extract and use the individual Razor values within my own program I would have to use code from “Razor.c” and include “hardware.h”. “Razor.h” etc would be picked up as above through “xhardware.h”

Admin

Your “razor_9dof_board.c” has a include for “hardware.h”. Is this the “hardware.h” generated by Project designer? When complied, the hex file to be uploaded to the Razor using the Arduino bootloader.

I could not find a include for “axon_processing_code.h”.  Has “axon_processing_code.h” and the “c” file that calls it been superseded by Webbot’s “razor.c”?

Thanks for your help

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,666
  • Helpful? 169
    • Society of Robots
Re: New C library - testers required
« Reply #177 on: July 13, 2010, 04:02:16 PM »
Quote
Your “razor_9dof_board.c” has a include for “hardware.h”. Is this the “hardware.h” generated by Project designer? When complied, the hex file to be uploaded to the Razor using the Arduino bootloader.

I could not find a include for “axon_processing_code.h”.  Has “axon_processing_code.h” and the “c” file that calls it been superseded by Webbot’s “razor.c”?
yes on all counts

Offline WebbotTopic starter

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,166
  • Helpful? 111
Re: New C library - testers required
« Reply #178 on: July 19, 2010, 02:45:29 PM »
WebbotLib Version 1.23 has been released with the following features:-

    * a2d.h - Added a2dReadMv

    * Reworked ALL analogue sensors to work with different ADC reference voltages


    * Added: Audio/SOMO14D audio playback device

    * Added generic support for serial servo controller cards: see servoSerialInit

    * Added support for the ATMega644

Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline tmoney68

  • Jr. Member
  • **
  • Posts: 35
  • Helpful? 1
Re: New C library - testers required
« Reply #179 on: July 19, 2010, 10:57:05 PM »
Again Webbot, you never cease to amaze me!  I only wish to grow up to be like you someday!

Really....excellent work!

 


Get Your Ad Here